remainderl: Avoid compilation error on AIX >= 5.2.
[gnulib.git] / ChangeLog
1 2012-03-13  Bruno Haible  <bruno@clisp.org>
2
3         remainderl: Avoid compilation error on AIX >= 5.2.
4         * lib/math.in.h (remainderl): Undefine macro from the system header.
5
6 2012-03-13  Bruno Haible  <bruno@clisp.org>
7
8         Avoid compilation errors with MSVC option -fp:strict.
9         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
10         * lib/cbrtf.c: Likewise.
11         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12
13 2012-03-12  Bruno Haible  <bruno@clisp.org>
14
15         uninorm: Don't crash in out-of-memory conditions.
16         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
17         gracefully.
18         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
19         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
20
21 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
22
23         quote: fix syntax-check
24         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
25         also exports quote_quoting_options.
26
27 2012-03-12  Simon Josefsson  <simon@josefsson.org>
28
29         Collapse list of copyright years to ranges.  See
30         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
31         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
32         build-aux/csharpexec.sh.in, build-aux/gnupload,
33         build-aux/install-reloc, build-aux/javacomp.sh.in,
34         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
35         build-aux/move-if-change, build-aux/reloc-ldflags,
36         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
37
38 2012-03-11  Bruno Haible  <bruno@clisp.org>
39
40         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
41         * m4/log2f-ieee.m4: New file.
42         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
43         whether log2f works with a minus zero argument. Replace it if not.
44         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
45         (Depends-on): Add log2-ieee.
46         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
47         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
48
49         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
50         * m4/log2-ieee.m4: New file.
51         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
52         whether log2 works with a minus zero argument. Replace it if not.
53         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
54         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
55         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
56
57         Tests for module 'log2l-ieee'.
58         * modules/log2l-ieee-tests: New file.
59         * tests/test-log2l-ieee.c: New file.
60
61         New module 'log2l-ieee'.
62         * modules/log2l-ieee: New file.
63
64         Tests for module 'log2-ieee'.
65         * modules/log2-ieee-tests: New file.
66         * tests/test-log2-ieee.c: New file.
67
68         New module 'log2-ieee'.
69         * modules/log2-ieee: New file.
70
71         Tests for module 'log2f-ieee'.
72         * modules/log2f-ieee-tests: New file.
73         * tests/test-log2f-ieee.c: New file.
74         * tests/test-log2-ieee.h: New file.
75
76         New module 'log2f-ieee'.
77         * modules/log2f-ieee: New file.
78
79 2012-03-11  Bruno Haible  <bruno@clisp.org>
80
81         Tests for module 'log2l'.
82         * modules/log2l-tests: New file.
83         * tests/test-log2l.c: New file.
84
85         New module 'log2l'.
86         * lib/math.in.h (log2l): New declaration.
87         * lib/log2l.c: New file.
88         * m4/log2l.m4: New file.
89         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
90         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
91         REPLACE_LOG2L.
92         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
93         REPLACE_LOG2L.
94         * modules/log2l: New file.
95         * tests/test-math-c++.cc: Check the declaration of log2l.
96         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
97         and OSF/1 problems.
98
99 2012-03-11  Bruno Haible  <bruno@clisp.org>
100
101         Tests for module 'log2f'.
102         * modules/log2f-tests: New file.
103         * tests/test-log2f.c: New file.
104
105         New module 'log2f'.
106         * lib/math.in.h (log2f): New declaration.
107         * lib/log2f.c: New file.
108         * m4/log2f.m4: New file.
109         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
111         REPLACE_LOG2F.
112         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
113         REPLACE_LOG2F.
114         * modules/log2f: New file.
115         * tests/test-math-c++.cc: Check the declaration of log2f.
116         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
117         and OSF/1 and Cygwin problems.
118
119 2012-03-11  Bruno Haible  <bruno@clisp.org>
120
121         Tests for module 'log2'.
122         * modules/log2-tests: New file.
123         * tests/test-log2.c: New file.
124         * tests/test-log2.h: New file.
125
126         New module 'log2'.
127         * lib/math.in.h (log2): New declaration.
128         * lib/log2.c: New file.
129         * m4/log2.m4: New file.
130         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
131         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
132         REPLACE_LOG2.
133         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
134         REPLACE_LOG2.
135         * modules/log2: New file.
136         * tests/test-math-c++.cc: Check the declaration of log2.
137         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
138         and OSF/1 and Cygwin problems.
139
140 2012-03-11  Bruno Haible  <bruno@clisp.org>
141
142         exp2* tests: More tests.
143         * tests/test-exp2.h (test_function): Test all integral arguments that
144         don't need to overflow or denormalized numbers.
145         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
146         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
147         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
148
149 2012-03-10  Bruno Haible  <bruno@clisp.org>
150
151         log1pl-ieee: Work around test failure on AIX 7.1.
152         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
153
154         log1pl-ieee: Work around test failure on IRIX 6.5.
155         * m4/log1pl-ieee.m4: New file.
156         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
157         test whether log1pl works with a minus zero argument. Replace it if
158         not.
159         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
161         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
162         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
163         (Depends-on): Update conditions.
164         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
165         m4/signbit.m4.
166         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
167         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
168
169         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
170         * m4/log1pf-ieee.m4: New file.
171         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
172         test whether log1pf works with a minus zero argument. Replace it if
173         not.
174         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
175         m4/signbit.m4.
176         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
177         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
178
179         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
180         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
181         (configure.ac): Require gl_FUNC_LOG1PF.
182
183         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
184         * m4/log1p-ieee.m4: New file.
185         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
186         whether log1p works with a minus zero argument. Replace it if not.
187         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
189         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
190         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
191         (Depends-on): Update conditions.
192         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
193         m4/signbit.m4.
194         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
195         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
196
197         Tests for module 'log1pl-ieee'.
198         * modules/log1pl-ieee-tests: New file.
199         * tests/test-log1pl-ieee.c: New file.
200
201         New module 'log1pl-ieee'.
202         * modules/log1pl-ieee: New file.
203
204         Tests for module 'log1p-ieee'.
205         * modules/log1p-ieee-tests: New file.
206         * tests/test-log1p-ieee.c: New file.
207
208         New module 'log1p-ieee'.
209         * modules/log1p-ieee: New file.
210
211         Tests for module 'log1pf-ieee'.
212         * modules/log1pf-ieee-tests: New file.
213         * tests/test-log1pf-ieee.c: New file.
214         * tests/test-log1p-ieee.h: New file.
215
216         New module 'log1pf-ieee'.
217         * modules/log1pf-ieee: New file.
218
219 2012-03-10  Bruno Haible  <bruno@clisp.org>
220
221         Tests for module 'log1pl'.
222         * modules/log1pl-tests: New file.
223         * tests/test-log1pl.c: New file.
224
225         New module 'log1pl'.
226         * lib/math.in.h (log1pl): New declaration.
227         * lib/log1pl.c: New file.
228         * m4/log1pl.m4: New file.
229         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
230         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
231         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
232         * modules/log1pl: New file.
233         * tests/test-math-c++.cc: Check the declaration of log1pl.
234         * doc/posix-functions/log1pl.texi: Mention the new module.
235
236 2012-03-10  Bruno Haible  <bruno@clisp.org>
237
238         Tests for module 'log1pf'.
239         * modules/log1pf-tests: New file.
240         * tests/test-log1pf.c: New file.
241
242         New module 'log1pf'.
243         * lib/math.in.h (log1pf): New declaration.
244         * lib/log1pf.c: New file.
245         * m4/log1pf.m4: New file.
246         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
248         REPLACE_LOG1PF.
249         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
250         REPLACE_LOG1PF.
251         * modules/log1pf: New file.
252         * tests/test-math-c++.cc: Check the declaration of log1pf.
253         * doc/posix-functions/log1pf.texi: Mention the new module.
254
255 2012-03-10  Bruno Haible  <bruno@clisp.org>
256
257         log1p tests: More tests.
258         * tests/test-log1p.h: New file.
259         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
260         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
261         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
262         (main): Invoke test_function.
263
264         log1p: Provide replacement for Minix and MSVC.
265         * lib/math.in.h (log1p): New declaration.
266         * lib/log1p.c: New file.
267         * m4/log1p.m4: New file.
268         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
270         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
271         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
272         (Depends-on): Add math, isnand, log, round.
273         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
274         HAVE_LOG1P is 0.
275         * tests/test-math-c++.cc: Check the declaration of log1p.
276         * doc/posix-functions/log1p.texi: Mention the replacement.
277
278 2012-03-10  Bruno Haible  <bruno@clisp.org>
279
280         math tests: Small simplification.
281         * tests/test-exp.h (test_function): Use the same err_bound for
282         'double' on platforms with sizeof (long double) == sizeof (double)
283         than on platforms with sizeof (long double) > sizeof (double).
284         * tests/test-exp2.h (test_function): Likewise.
285         * tests/test-expm1.h (test_function): Likewise.
286         * tests/test-log.h (test_function): Likewise.
287
288 2012-03-10  Bruno Haible  <bruno@clisp.org>
289
290         Fix some comments.
291         * lib/expl.c: Fix an ambiguous comment.
292         * lib/expm1.c: Likewise.
293         * lib/expm1l.c: Likewise.
294         * lib/exp2.c: Likewise.
295         * lib/exp2l.c: Likewise.
296
297 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
298
299         regex: allow inclusion of <regex.h> before <limits.h>
300         Without this patch, portable programs had to include <limits.h> before
301         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
302         I ran into this problem with a test version of GNU grep on Solaris 8.
303         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
304         This is done conditionally so that this change can be merged
305         back to glibc.
306         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
307         using the included regex.
308
309         fts: depend on fdopendir
310         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
311         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
312         problem was introduced when fdopendir was split out.
313
314 2012-03-10  Bruno Haible  <bruno@clisp.org>
315
316         Remove unused variables.
317         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
318         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
319
320 2012-03-10  Bruno Haible  <bruno@clisp.org>
321
322         isnanf-nolibm: Fix last commit.
323         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
324
325         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
326         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
327
328 2012-03-10  Bruno Haible  <bruno@clisp.org>
329
330         logf-ieee: Work around test failure on NetBSD 5.1.
331         * m4/logf-ieee.m4: New file.
332         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
333         whether logf works with a negative argument. Replace it if not.
334         * lib/logf.c (logf): For negative arguments, return NaN.
335         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
336         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
337         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
338
339         logf-ieee: Work around test failure on Solaris 9.
340         * modules/logf-ieee (Depends-on): Add log-ieee.
341         (configure.ac): Require gl_FUNC_LOGF.
342
343         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
344         * m4/log-ieee.m4: New file.
345         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
346         log works with a negative argument. Replace it if not.
347         * lib/log.c (log): For negative arguments, return NaN.
348         * modules/log-ieee (Files): Add m4/log-ieee.m4.
349         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
350         * doc/posix-functions/log.texi: Mention the log-ieee module.
351
352         Tests for module 'logl-ieee'.
353         * modules/logl-ieee-tests: New file.
354         * tests/test-logl-ieee.c: New file.
355
356         New module 'logl-ieee'.
357         * modules/logl-ieee: New file.
358
359         Tests for module 'log-ieee'.
360         * modules/log-ieee-tests: New file.
361         * tests/test-log-ieee.c: New file.
362
363         New module 'log-ieee'.
364         * modules/log-ieee: New file.
365
366         Tests for module 'logf-ieee'.
367         * modules/logf-ieee-tests: New file.
368         * tests/test-logf-ieee.c: New file.
369         * tests/test-log-ieee.h: New file.
370
371         New module 'logf-ieee'.
372         * modules/logf-ieee: New file.
373
374 2012-03-10  Bruno Haible  <bruno@clisp.org>
375
376         log: Fix bug introduced on 2012-03-09.
377         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
378
379 2012-03-10  Pádraig Brady  <P@draigBrady.com>
380
381         timer-time: link explicitly with pthreads on glibc
382         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
383         to support static linking, when newer glibc is
384         detected, as that contains pthread emulation of
385         POSIX timer functions where required.
386         * modules/timer-time: Depend on threadlib to
387         pull in the appropriate library to link.
388
389 2012-03-10  Bruno Haible  <bruno@clisp.org>
390
391         log* tests: More tests.
392         * tests/test-log.h: New file.
393         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
394         (main): Invoke test_function.
395         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
396         (main): Invoke test_function.
397         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
398         (main): Invoke test_function.
399         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
400         tests/randomd.c.
401         (Makefile.am): Add randomd.c to test_log_SOURCES.
402         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
403         tests/randomf.c.
404         (Makefile.am): Add randomf.c to test_logf_SOURCES.
405         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
406         tests/randoml.c.
407         (Depends-on): Add 'float'.
408         (Makefile.am): Add randoml.c to test_logl_SOURCES.
409
410 2012-03-09  Bruno Haible  <bruno@clisp.org>
411
412         logl: Work around OSF/1 5.1 bug.
413         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
414         * lib/logl.c (logl): If logf exists, use it and provide just the
415         workaround.
416         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
417         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
418         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
419         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
420         * modules/logl (configure.ac): Consider REPLACE_LOGL.
421         (Depends-on): Update conditions.
422         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
423
424 2012-03-09  Bruno Haible  <bruno@clisp.org>
425
426         logf: Work around OSF/1 5.1 bug.
427         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
428         * lib/logf.c (logf): If logf exists, use it and provide just the
429         workaround.
430         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
431         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
433         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
434         * modules/logf (configure.ac): Consider REPLACE_LOGF.
435         (Depends-on): Update conditions.
436         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
437
438 2012-03-09  Bruno Haible  <bruno@clisp.org>
439
440         log: Work around OSF/1 5.1 bug.
441         * lib/math.in.h (log): New declaration.
442         * lib/log.c: New file.
443         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
444         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
445         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
447         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
448         * modules/log (Files): Add lib/log.c.
449         (Depends-on): Add math.
450         (configure.ac): If REPLACE_LOG is 1, compile an override.
451         * tests/test-math-c++.cc: Check the declaration of log.
452         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
453
454 2012-03-09  Jim Meyering  <meyering@redhat.com>
455
456         readtokens.c: adjust wording in a comment
457         * lib/readtokens.c: Insert omitted "that" in a comment.
458
459 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
460
461         modechange: add notations +40, 00440, etc.
462         * lib/modechange.c (mode_compile): Support new notations
463         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
464
465 2012-03-08  Bruno Haible  <bruno@clisp.org>
466
467         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
468         * m4/exp2l-ieee.m4: New file.
469         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
470         test whether exp2l works with a NaN argument and with a negative
471         infinity argument. Replace it if not.
472         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
473         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
474         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
475         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
476         (Depends-on): Update conditions.
477         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
478         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
479         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
480
481         Tests for module 'exp2l-ieee'.
482         * modules/exp2l-ieee-tests: New file.
483         * tests/test-exp2l-ieee.c: New file.
484
485         New module 'exp2l-ieee'.
486         * modules/exp2l-ieee: New file.
487
488         Tests for module 'exp2-ieee'.
489         * modules/exp2-ieee-tests: New file.
490         * tests/test-exp2-ieee.c: New file.
491
492         New module 'exp2-ieee'.
493         * modules/exp2-ieee: New file.
494
495         Tests for module 'exp2f-ieee'.
496         * modules/exp2f-ieee-tests: New file.
497         * tests/test-exp2f-ieee.c: New file.
498         * tests/test-exp2-ieee.h: New file.
499
500         New module 'exp2f-ieee'.
501         * modules/exp2f-ieee: New file.
502
503 2012-03-08  Bruno Haible  <bruno@clisp.org>
504
505         Tests for module 'exp2l'.
506         * modules/exp2l-tests: New file.
507         * tests/test-exp2l.c: New file.
508
509         New module 'exp2l'.
510         * lib/math.in.h (exp2l): New declaration.
511         * lib/exp2l.c: New file.
512         * lib/expl-table.c: New file, extracted from lib/expl.c.
513         * lib/expl.c (gl_expl_table): New declaration.
514         (expl): Remove expl_table. Update reference.
515         * m4/exp2l.m4: New file.
516         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
517         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
518         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
519         * modules/exp2l: New file.
520         * modules/expl (Files): Add lib/expl-table.c.
521         (configure.ac): Compile also expl-table.c.
522         * tests/test-math-c++.cc: Check the declaration of exp2l.
523         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
524         problem.
525
526 2012-03-08  Bruno Haible  <bruno@clisp.org>
527
528         Tests for module 'exp2f'.
529         * modules/exp2f-tests: New file.
530         * tests/test-exp2f.c: New file.
531
532         New module 'exp2f'.
533         * lib/math.in.h (exp2f): New declaration.
534         * lib/exp2f.c: New file.
535         * m4/exp2f.m4: New file.
536         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
537         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
538         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
539         * modules/exp2f: New file.
540         * tests/test-math-c++.cc: Check the declaration of exp2f.
541         * doc/posix-functions/exp2f.texi: Mention the new module and the
542         IRIX problem.
543
544 2012-03-08  Bruno Haible  <bruno@clisp.org>
545
546         Tests for module 'exp2'.
547         * modules/exp2-tests: New file.
548         * tests/test-exp2.c: New file.
549         * tests/test-exp2.h: New file.
550
551         New module 'exp2'.
552         * lib/math.in.h (exp2): New declaration.
553         * lib/exp2.c: New file.
554         * m4/exp2.m4: New file.
555         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
556         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
557         REPLACE_EXP2.
558         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
559         REPLACE_EXP2.
560         * modules/exp2: New file.
561         * tests/test-math-c++.cc: Check the declaration of exp2.
562         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
563         and OpenBSD problems.
564
565 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
566
567         savedir: fix comment typo
568         * lib/savedir.c (savedirstream): Fix typo in comment.
569
570 2012-03-08  Bruno Haible  <bruno@clisp.org>
571
572         test-readtokens.c: use const; remove unwarranted cast
573         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
574
575 2012-03-08  Bruno Haible  <bruno@clisp.org>
576
577         fmal: Avoid compilation error on AIX.
578         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
579         AIX 5.2..7.1.
580
581 2012-03-08  Bruno Haible  <bruno@clisp.org>
582
583         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
584         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
585         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
586         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
587         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
588         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
589         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
590
591 2012-03-08  Bruno Haible  <bruno@clisp.org>
592
593         remainderf: Override buggy system function on IRIX 6.5.
594         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
595         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
596         when it exists.
597         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
598
599 2012-03-08  Jim Meyering  <meyering@redhat.com>
600
601         test-readtokens.c: avoid const-related compilation warnings
602         * tests/test-readtokens.c: Avoid const-related compilation warnings.
603
604 2012-03-07  Jim Meyering  <meyering@redhat.com>
605             Bruno Haible  <bruno@clisp.org>
606
607         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
608         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
609         tests/randomd.c.
610         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
611         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
612         tests/randoml.c.
613         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
614
615 2012-03-07  Bruno Haible  <bruno@clisp.org>
616
617         expm1l: Avoid compilation error on AIX.
618         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
619         AIX 5.2..7.1.
620
621 2012-03-07  Bruno Haible  <bruno@clisp.org>
622
623         expm1l: Don't override undeclared system function on IRIX 6.5.
624         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
625         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
626         it exists. Set HAVE_DECL_EXPM1L.
627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
628         HAVE_EXPM1L.
629         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
630         HAVE_EXPM1L.
631         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
632
633 2012-03-07  Bruno Haible  <bruno@clisp.org>
634
635         remainderl: Don't override undeclared system function on IRIX 6.5.
636         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
637         HAVE_REMAINDERL.
638         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
639         declared when it exists. Set HAVE_DECL_REMAINDERL.
640         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
641         not HAVE_REMAINDERL.
642         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
643         HAVE_REMAINDERL.
644         * doc/posix-functions/remainderl.texi: Mention missing declaration
645         problem.
646
647 2012-03-07  Bruno Haible  <bruno@clisp.org>
648
649         rintf: Don't override undeclared system function on IRIX 6.5.
650         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
651         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
652         exists. Set HAVE_DECL_RINTF.
653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
654         HAVE_RINTF.
655         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
656         HAVE_RINTF.
657         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
658
659 2012-03-07  Bruno Haible  <bruno@clisp.org>
660
661         roundl: Avoid compilation error on AIX.
662         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
663         AIX 5.2..7.1.
664
665 2012-03-07  Bruno Haible  <bruno@clisp.org>
666
667         roundl: Don't override undeclared system function on IRIX 6.5.
668         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
669         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
670         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
671         * modules/roundl (configure.ac): For replacement code, test
672         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
673         (Depends-on): Update conditions.
674         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
675
676 2012-03-07  Bruno Haible  <bruno@clisp.org>
677
678         roundf: Don't override undeclared system function on IRIX 6.5.
679         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
680         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
681         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
682         * modules/roundf (configure.ac): For replacement code, test
683         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
684         (Depends-on): Update conditions.
685         * modules/roundf-ieee (Depends-on): Update conditions.
686         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
687
688 2012-03-07  Bruno Haible  <bruno@clisp.org>
689
690         round: Don't override undeclared system function on IRIX 6.5.
691         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
692         argument.
693         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
694         also when it is not declared. Set HAVE_ROUND. For replacement code,
695         test HAVE_ROUND, not HAVE_DECL_ROUND.
696         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
697         not HAVE_DECL_ROUND.
698         (Depends-on): Update conditions.
699         * modules/round-ieee (Depends-on): Update conditions.
700         * doc/posix-functions/round.texi: Mention the IRIX problem.
701
702 2012-03-07  Bruno Haible  <bruno@clisp.org>
703
704         copysignf: Don't override undeclared system function on IRIX 6.5.
705         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
706         HAVE_COPYSIGNF.
707         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
708         declared when it exists. Set HAVE_DECL_COPYSIGNF.
709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
710         not HAVE_COPYSIGNF.
711         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
712         HAVE_COPYSIGNF.
713         * doc/posix-functions/copysignf.texi: Mention missing declaration
714         problem.
715
716 2012-03-07  Jim Meyering  <meyering@redhat.com>
717
718         readtokens: add tests
719         * modules/readtokens-tests: New file.
720         * tests/test-readtokens.c: New file.
721
722 2012-03-07  Jim Meyering  <meyering@redhat.com>
723
724         quotearg: the module must now include quote.h
725         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
726         So must the module.
727         * modules/quotearg (Files): Add quote.h.
728
729 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
730
731         readtokens: avoid core dumps with unusual calling patterns
732         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
733         * lib/readtokens.c: Include limits.h.
734         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
735         (readtoken): Don't cache the delimiters; the cache code was buggy
736         if !delim && saved_delim, or if the new n_delim differs from the old.
737         Also, it wasn't thread-safe.
738
739 2012-03-07  Bruno Haible  <bruno@clisp.org>
740
741         quote: Adhere to common module description layout.
742         * modules/quote (Makefile.am): Add back empty section.
743
744 2012-03-06  Akim Demaille  <demaille@gostai.com>
745
746         quote: fuse into quotearg
747         This patch is made for the benefit of Bison.
748         quote does not leave the choice of the quoting style to the user.
749         quoting_style provides poor customizability, yet quoting_options,
750         which is very rich, is hidden inside quotearg.c.  So in order to
751         allow quote customization, move its implementation to quotearg.c.
752         * lib/quote.c: Remove.
753         * modules/quote: Adjust.
754         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
755         warning: provide all the members of literal structs.
756         (quote_quoting_options): New.
757         (quote, quote_n): Import implementation from quote.c.
758         * lib/quote.h: Import the comments from quote.c.
759         (quote_quoting_options): New.
760
761 2012-03-06  Bruno Haible  <bruno@clisp.org>
762
763         Tests for module 'expm1l-ieee'.
764         * modules/expm1l-ieee-tests: New file.
765         * tests/test-expm1l-ieee.c: New file.
766
767         New module 'expm1l-ieee'.
768         * modules/expm1l-ieee: New file.
769
770         Tests for module 'expm1f-ieee'.
771         * modules/expm1f-ieee-tests: New file.
772         * tests/test-expm1f-ieee.c: New file.
773
774         New module 'expm1f-ieee'.
775         * modules/expm1f-ieee: New file.
776
777         Tests for module 'expm1-ieee'.
778         * modules/expm1-ieee-tests: New file.
779         * tests/test-expm1-ieee.c: New file.
780         * tests/test-expm1-ieee.h: New file.
781
782         New module 'expm1-ieee'.
783         * modules/expm1-ieee: New file.
784         * m4/expm1-ieee.m4: New file.
785         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
786         whether expm1 works with a minus zero argument. Replace it if not.
787         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
789         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
790         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
791         (Depends-on): Update conditions.
792         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
793         AIX problem.
794
795 2012-03-06  Bruno Haible  <bruno@clisp.org>
796
797         Work around expm1f bug on IRIX 6.5.
798         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
799         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
800         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
801         not work.
802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
803         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
804         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
805         (Depends-on): Update conditions.
806         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
807
808 2012-03-06  Bruno Haible  <bruno@clisp.org>
809
810         Tests for module 'expm1l'.
811         * modules/expm1l-tests: New file.
812         * tests/test-expm1l.c: New file.
813
814         New module 'expm1l'.
815         * lib/math.in.h (expm1l): New declaration.
816         * lib/expm1l.c: New file.
817         * m4/expm1l.m4: New file.
818         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
820         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
821         * modules/expm1l: New file.
822         * tests/test-math-c++.cc: Check the declaration of expm1l.
823         * doc/posix-functions/expm1l.texi: Mention the new module.
824
825 2012-03-06  Bruno Haible  <bruno@clisp.org>
826
827         Tests for module 'expm1f'.
828         * modules/expm1f-tests: New file.
829         * tests/test-expm1f.c: New file.
830
831         New module 'expm1f'.
832         * lib/math.in.h (expm1f): New declaration.
833         * lib/expm1f.c: New file.
834         * m4/expm1f.m4: New file.
835         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
836         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
837         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
838         * modules/expm1f: New file.
839         * tests/test-math-c++.cc: Check the declaration of expm1f.
840         * doc/posix-functions/expm1f.texi: Mention the new module.
841
842 2012-03-06  Bruno Haible  <bruno@clisp.org>
843
844         Tests for module 'expm1'.
845         * modules/expm1-tests: New file.
846         * tests/test-expm1.c: New file.
847         * tests/test-expm1.h: New file.
848
849         New module 'expm1'.
850         * lib/math.in.h (expm1): New declaration.
851         * lib/expm1.c: New file.
852         * m4/expm1.m4: New file.
853         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
854         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
855         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
856         * modules/expm1: New file.
857         * tests/test-math-c++.cc: Check the declaration of expm1.
858         * doc/posix-functions/expm1.texi: Mention the new module.
859
860 2012-03-06  Bruno Haible  <bruno@clisp.org>
861
862         math: Ensure declarations of math functions.
863         * modules/acosf (Depends-on): Add 'extensions'.
864         * modules/asinf (Depends-on): Likewise.
865         * modules/atan2f (Depends-on): Likewise.
866         * modules/atanf (Depends-on): Likewise.
867         * modules/cbrt (Depends-on): Likewise.
868         * modules/cbrtf (Depends-on): Likewise.
869         * modules/cbrtl (Depends-on): Likewise.
870         * modules/copysignf (Depends-on): Likewise.
871         * modules/copysignl (Depends-on): Likewise.
872         * modules/cosf (Depends-on): Likewise.
873         * modules/coshf (Depends-on): Likewise.
874         * modules/expf (Depends-on): Likewise.
875         * modules/fabsf (Depends-on): Likewise.
876         * modules/fabsl (Depends-on): Likewise.
877         * modules/fmaf (Depends-on): Likewise.
878         * modules/fmal (Depends-on): Likewise.
879         * modules/fmodf (Depends-on): Likewise.
880         * modules/fmodl (Depends-on): Likewise.
881         * modules/frexpf (Depends-on): Likewise.
882         * modules/frexpl (Depends-on): Likewise.
883         * modules/hypot (Depends-on): Likewise.
884         * modules/hypotf (Depends-on): Likewise.
885         * modules/hypotl (Depends-on): Likewise.
886         * modules/ldexpf (Depends-on): Likewise.
887         * modules/ldexpl (Depends-on): Likewise.
888         * modules/log10f (Depends-on): Likewise.
889         * modules/log10l (Depends-on): Likewise.
890         * modules/log1p (Depends-on): Likewise.
891         * modules/logb (Depends-on): Likewise.
892         * modules/logf (Depends-on): Likewise.
893         * modules/modff (Depends-on): Likewise.
894         * modules/modfl (Depends-on): Likewise.
895         * modules/powf (Depends-on): Likewise.
896         * modules/remainderf (Depends-on): Likewise.
897         * modules/remainderl (Depends-on): Likewise.
898         * modules/rintf (Depends-on): Likewise.
899         * modules/rintl (Depends-on): Likewise.
900         * modules/sinf (Depends-on): Likewise.
901         * modules/sinhf (Depends-on): Likewise.
902         * modules/sqrtf (Depends-on): Likewise.
903         * modules/tanf (Depends-on): Likewise.
904         * modules/tanhf (Depends-on): Likewise.
905         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
906         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
907         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
908         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
909         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
910         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
911         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
912         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
913         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
914         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
915         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
916         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
917         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
918         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
919         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
920         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
921         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
922         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
923         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
924         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
925         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
926         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
927         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
928         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
929         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
930         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
931         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
932         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
933         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
934         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
935         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
936         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
937         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
938         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
939         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
940         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
941         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
942         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
943         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
944         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
945         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
946
947 2012-03-06  Bruno Haible  <bruno@clisp.org>
948
949         math: Update module names in warnings.
950         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
951         tanl): Use specific module name in warn-on-use warning.
952
953 2012-03-06  Bruno Haible  <bruno@clisp.org>
954
955         expl: Simplify computation.
956         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
957
958 2012-03-05  Bruno Haible  <bruno@clisp.org>
959
960         exp* tests: More tests.
961         * tests/test-exp.h: New file.
962         * tests/test-exp.c: Include <float.h> and test-exp.h.
963         (main): Invoke test_function.
964         * tests/test-expf.c: Include <float.h> and test-exp.h.
965         (main): Invoke test_function.
966         * tests/test-expl.c: Include <float.h> and test-exp.h.
967         (main): Invoke test_function.
968         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
969         (Makefile.am): Add randomd.c to test_exp_SOURCES.
970         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
971         (Makefile.am): Add randomf.c to test_expf_SOURCES.
972         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
973         (Depends-on): Add 'float'.
974         (Makefile.am): Add randoml.c to test_expl_SOURCES.
975
976         expl: Fix precision of computed result.
977         * lib/expl.c: Completely rewritten.
978         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
979         (Maintainer): Add me.
980         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
981
982 2012-03-05  Bruno Haible  <bruno@clisp.org>
983
984         cbrt* tests: More tests.
985         * tests/test-cbrt.h: New file.
986         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
987         (main): Invoke test_function.
988         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
989         (main): Invoke test_function.
990         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
991         (main): Invoke test_function.
992         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
993         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
994         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
995         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
996         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
997         (Depends-on): Add 'float'.
998         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
999
1000 2012-03-05  Bruno Haible  <bruno@clisp.org>
1001
1002         hypot* tests: More tests.
1003         * tests/test-hypot.h: New file, partially extracted from
1004         tests/test-hypotl.c.
1005         * tests/test-hypot.c: Include test-hypot.h.
1006         (main): Invoke test_function.
1007         * tests/test-hypotf.c: Include test-hypot.h.
1008         (main): Invoke test_function.
1009         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
1010         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
1011         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
1012         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
1013         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
1014         tests/randomf.c.
1015         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
1016         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
1017         tests/randoml.c.
1018         (Depends-on): Add 'fpucw', 'float'.
1019         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
1020
1021 2012-03-05  Bruno Haible  <bruno@clisp.org>
1022
1023         fpucw: Doc about FreeBSD.
1024         * lib/fpucw.h: Mention FreeBSD in comments.
1025
1026 2012-03-04  Bruno Haible  <bruno@clisp.org>
1027
1028         sqrt* tests: More tests.
1029         * tests/test-sqrt.h: New file.
1030         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
1031         (main): Invoke test_function.
1032         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
1033         (main): Invoke test_function.
1034         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
1035         (main): Invoke test_function.
1036         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
1037         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
1038         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
1039         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
1040         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
1041         (Depends-on): Add 'float'.
1042         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
1043
1044 2012-03-04  Bruno Haible  <bruno@clisp.org>
1045
1046         remainder* tests: More tests.
1047         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
1048         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
1049         (main): Invoke test_function.
1050         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
1051         (main): Invoke test_function.
1052         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
1053         (main): Invoke test_function.
1054         * modules/remainder-tests (Files): Add tests/test-remainder.h,
1055         tests/randomd.c.
1056         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
1057         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
1058         tests/randomf.c.
1059         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
1060         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
1061         tests/randoml.c.
1062         (Depends-on): Add 'float'.
1063         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
1064
1065 2012-03-04  Bruno Haible  <bruno@clisp.org>
1066
1067         remainder, remainderf, remainderl: Fix computation for large quotients.
1068         * lib/remainder.c: Completely rewritten.
1069         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
1070         USE_FLOAT.
1071         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
1072         USE_LONG_DOUBLE.
1073         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
1074         isnand, isinf. Remove round, fma.
1075         * modules/remainderf (Files): Add lib/remainder.c.
1076         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
1077         Remove roundf, fmaf.
1078         * modules/remainderl (Files): Add lib/remainder.c.
1079         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
1080         isinf. Remove roundl, fmal.
1081         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
1082         REMAINDER_LIBM.
1083         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
1084         REMAINDERF_LIBM.
1085         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
1086         REMAINDERL_LIBM.
1087
1088 2012-03-04  Bruno Haible  <bruno@clisp.org>
1089
1090         fmod* tests: More tests.
1091         * tests/test-fmod.h (my_ldexp): New function.
1092         (test_function): Reduce amount of random numbers to test. Add tests
1093         of very large quotients x / y.
1094         * tests/test-fmod.c (MAX_EXP): New macro.
1095         * tests/test-fmodf.c (MAX_EXP): Likewise.
1096         * tests/test-fmodl.c (MAX_EXP): Likewise.
1097
1098 2012-03-04  Bruno Haible  <bruno@clisp.org>
1099
1100         fmod, fmodl: Fix computation for large quotients x / y.
1101         * lib/fmod.c: Completely rewritten.
1102         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
1103         USE_LONG_DOUBLE.
1104         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
1105         isnand. Remove fma.
1106         * modules/fmodl (Files): Add lib/fmod.c.
1107         (Depends-on): Add float, isfinite, signbit, fabsl,
1108         frexpl, ldexpl, isnanl. Remove fma.
1109         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
1110         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
1111
1112 2012-03-03  Bruno Haible  <bruno@clisp.org>
1113
1114         fmod* tests: More tests.
1115         * tests/test-fmod.h: New file.
1116         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
1117         (main): Invoke test_function.
1118         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
1119         (main): Invoke test_function.
1120         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
1121         (main): Invoke test_function.
1122         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
1123         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
1124         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
1125         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
1126         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
1127         (Depends-on): Add 'float'.
1128         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
1129
1130 2012-03-03  Bruno Haible  <bruno@clisp.org>
1131
1132         rint* tests: More tests.
1133         * tests/test-rint.h: New file, partially extracted from
1134         tests/test-rintl.c.
1135         * tests/test-rint.c: Include test-rint.h.
1136         (main): Invoke test_function.
1137         * tests/test-rintf.c: Include test-rint.h.
1138         (main): Invoke test_function.
1139         * tests/test-rintl.c: Include test-rint.h.
1140         (main): Invoke test_function.
1141         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
1142         (Makefile.am): Add randomd.c to test_rint_SOURCES.
1143         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
1144         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
1145         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
1146         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
1147
1148 2012-03-03  Bruno Haible  <bruno@clisp.org>
1149
1150         modf* tests: More tests.
1151         * tests/test-modf.h: New file.
1152         * tests/test-modf.c: Include <float.h> and test-modf.h.
1153         (main): Invoke test_function.
1154         * tests/test-modff.c: Include <float.h> and test-modf.h.
1155         (main): Invoke test_function.
1156         * tests/test-modfl.c: Include <float.h> and test-modf.h.
1157         (main): Invoke test_function.
1158         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
1159         (Makefile.am): Add randomd.c to test_modf_SOURCES.
1160         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
1161         (Makefile.am): Add randomf.c to test_modff_SOURCES.
1162         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
1163         (Depends-on): Add 'float'.
1164         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
1165
1166 2012-03-03  Bruno Haible  <bruno@clisp.org>
1167
1168         fabs* tests: More tests.
1169         * tests/test-fabs.h: New file, partially extracted from
1170         tests/test-fabsl.c.
1171         * tests/test-fabs.c (RANDOM): New macro.
1172         * tests/test-fabsf.c (RANDOM): New macro.
1173         * tests/test-fabsl.c (RANDOM): New macro.
1174         * modules/fabs-tests (Files): Add tests/randomd.c.
1175         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
1176         * modules/fabsf-tests (Files): Add tests/randomf.c.
1177         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
1178         * modules/fabsl-tests (Files): Add tests/randoml.c.
1179         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
1180
1181 2012-03-03  Bruno Haible  <bruno@clisp.org>
1182
1183         ldexp* tests: More tests.
1184         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
1185         * tests/test-ldexp.c (RANDOM): New macro.
1186         * tests/test-ldexpf.c (RANDOM): New macro.
1187         * tests/test-ldexpl.c (RANDOM): New macro.
1188         * modules/ldexp-tests (Files): Add tests/randomd.c.
1189         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
1190         * modules/ldexpf-tests (Files): Add tests/randomf.c.
1191         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
1192         * modules/ldexpl-tests (Files): Add tests/randoml.c.
1193         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
1194
1195 2012-03-03  Bruno Haible  <bruno@clisp.org>
1196
1197         frexp* tests: More tests.
1198         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
1199         * tests/test-frexp.c (RANDOM): New macro.
1200         * tests/test-frexpf.c (RANDOM): New macro.
1201         * tests/test-frexpl.c (RANDOM): New macro.
1202         * modules/frexp-tests (Files): Add tests/randomd.c.
1203         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
1204         * modules/frexpf-tests (Files): Add tests/randomf.c.
1205         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
1206         * modules/frexpl-tests (Files): Add tests/randoml.c.
1207         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
1208
1209 2012-03-03  Bruno Haible  <bruno@clisp.org>
1210
1211         Support for pseudo-random numbers in tests.
1212         * tests/randomf.c: New file.
1213         * tests/randomd.c: New file.
1214         * tests/randoml.c: New file.
1215         * tests/macros.h (randomf, randomd, randoml): New declarations.
1216
1217 2012-03-03  Bruno Haible  <bruno@clisp.org>
1218
1219         frexp* tests: Refactor.
1220         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
1221         * tests/test-frexp.c: Include and use it.
1222         * tests/test-frexpf.c: Likewise.
1223         * tests/test-frexpl.c: Likewise.
1224         * modules/frexp-tests (Files): Add tests/test-frexp.h.
1225         * modules/frexpf-tests (Files): Likewise.
1226         * modules/frexpl-tests (Files): Likewise.
1227
1228 2012-03-02  Jim Meyering  <meyering@redhat.com>
1229
1230         maint: don't specify XZ_OPT=-9ev in dist-related rule
1231         Using xz's -9 option is warranted only if you have a very large
1232         tarball (see xz's documentation for the sizes vs. presets), and
1233         requires 64MiB of memory at decompression time.
1234         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1235         Automake's default of just "-e" is fine.  Override on a
1236         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1237
1238 2012-03-01  Eric Blake  <eblake@redhat.com>
1239
1240         maint.mk: allow announcement for non-gnulib project
1241         * maint.mk (announcement): Skip gnulib version if not used.
1242
1243 2012-03-01  Jim Meyering  <meyering@redhat.com>
1244
1245         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1246         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1247         envvar settings cannot interfere.  Otherwise, setting envvars like
1248         prohibit=foo require=bar, etc. would cause spurious test failures.
1249
1250 2012-03-01  Eric Blake  <eblake@redhat.com>
1251
1252         maint.mk: add per-line exclusions to prohibitions
1253         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1254         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1255         (sc_const_long_option): Use it.
1256
1257 2012-03-01  Bruno Haible  <bruno@clisp.org>
1258
1259         Tests for module 'expl-ieee'.
1260         * modules/expl-ieee-tests: New file.
1261         * tests/test-expl-ieee.c: New file.
1262
1263         New module 'expl-ieee'.
1264         * modules/expl-ieee: New file.
1265
1266         Tests for module 'exp-ieee'.
1267         * modules/exp-ieee-tests: New file.
1268         * tests/test-exp-ieee.c: New file.
1269
1270         New module 'exp-ieee'.
1271         * modules/exp-ieee: New file.
1272
1273         Tests for module 'expf-ieee'.
1274         * modules/expf-ieee-tests: New file.
1275         * tests/test-expf-ieee.c: New file.
1276         * tests/test-exp-ieee.h: New file.
1277
1278         New module 'expf-ieee'.
1279         * modules/expf-ieee: New file.
1280
1281 2012-02-29  Bruno Haible  <bruno@clisp.org>
1282
1283         cbrtl-ieee: Work around test failure on IRIX 6.5.
1284         * m4/cbrtl-ieee.m4: New file.
1285         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1286         test whether cbrtl works with a minus zero argument. Replace it if not.
1287         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1289         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1290         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1291         (Depends-on): Update conditions.
1292         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1293         m4/signbit.m4.
1294         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1295         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1296         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1297
1298         Tests for module 'cbrtl-ieee'.
1299         * modules/cbrtl-ieee-tests: New file.
1300         * tests/test-cbrtl-ieee.c: New file.
1301
1302         New module 'cbrtl-ieee'.
1303         * modules/cbrtl-ieee: New file.
1304
1305         Tests for module 'cbrt-ieee'.
1306         * modules/cbrt-ieee-tests: New file.
1307         * tests/test-cbrt-ieee.c: New file.
1308
1309         New module 'cbrt-ieee'.
1310         * modules/cbrt-ieee: New file.
1311
1312         Tests for module 'cbrtf-ieee'.
1313         * modules/cbrtf-ieee-tests: New file.
1314         * tests/test-cbrtf-ieee.c: New file.
1315         * tests/test-cbrt-ieee.h: New file.
1316
1317         New module 'cbrtf-ieee'.
1318         * modules/cbrtf-ieee: New file.
1319
1320 2012-02-29  Bruno Haible  <bruno@clisp.org>
1321
1322         cbrtf: Work around bug in IRIX 6.5 system function.
1323         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1324         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1325         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1326         work.
1327         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1328         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1329         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1330         (Depends-on): Update conditions.
1331         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
1332
1333 2012-02-29  Bruno Haible  <bruno@clisp.org>
1334
1335         Tests for module 'cbrtl'.
1336         * modules/cbrtl-tests: New file.
1337         * tests/test-cbrtl.c: New file.
1338
1339         New module 'cbrtl'.
1340         * lib/math.in.h (cbrtl): New declaration.
1341         * lib/cbrtl.c: New file.
1342         * m4/cbrtl.m4: New file.
1343         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
1344         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
1345         HAVE_DECL_CBRTL.
1346         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
1347         HAVE_DECL_CBRTL.
1348         * modules/cbrtl: New file.
1349         * tests/test-math-c++.cc: Check the declaration of cbrtl.
1350         * doc/posix-functions/cbrtl.texi: Mention the new module.
1351
1352 2012-02-29  Bruno Haible  <bruno@clisp.org>
1353
1354         Tests for module 'cbrtf'.
1355         * modules/cbrtf-tests: New file.
1356         * tests/test-cbrtf.c: New file.
1357
1358         New module 'cbrtf'.
1359         * lib/math.in.h (cbrtf): New declaration.
1360         * lib/cbrtf.c: New file.
1361         * m4/cbrtf.m4: New file.
1362         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1364         HAVE_DECL_CBRTF.
1365         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1366         HAVE_DECL_CBRTF.
1367         * modules/cbrtf: New file.
1368         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1369         * doc/posix-functions/cbrtf.texi: Mention the new module.
1370
1371 2012-02-29  Bruno Haible  <bruno@clisp.org>
1372
1373         cbrt: Provide replacement on MSVC and Minix.
1374         * lib/math.in.h (cbrt): New declaration.
1375         * lib/cbrt.c: New file.
1376         * m4/cbrt.m4: New file.
1377         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1378         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1379         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1380         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1381         (Depends-on): Add dependencies.
1382         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1383         * tests/test-math-c++.cc: Check the declaration of cbrt.
1384         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1385         replacement.
1386
1387 2012-02-29  Bruno Haible  <bruno@clisp.org>
1388
1389         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1390         * m4/hypotl-ieee.m4: New file.
1391         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1392         test whether hypotl works with mixed NaN and Infinity arguments.
1393         Replace it if not.
1394         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1395         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1396         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1397         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1398         (Depends-on): Update conditions.
1399         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1400         (Depends-on): Add hypot-ieee.
1401         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1402         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1403
1404         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1405         * m4/hypotf-ieee.m4: New file.
1406         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1407         test whether hypotf works with mixed NaN and Infinity arguments.
1408         Replace it if not.
1409         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1410         (Depends-on): Add hypot-ieee.
1411         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1412         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1413
1414         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1415         * lib/math.in.h (hypot): New declaration.
1416         * lib/hypot.c: New file.
1417         * m4/hypot-ieee.m4: New file.
1418         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1419         whether hypot works with mixed NaN and Infinity arguments. Replace it
1420         if not.
1421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1422         REPLACE_HYPOT.
1423         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1424         * modules/hypot (Files): Add lib/hypot.c.
1425         (Depends-on): Add dependencies.
1426         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1427         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1428         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1429         * tests/test-math-c++.cc: Check the declaration of hypot.
1430         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1431
1432         Tests for module 'hypotl-ieee'.
1433         * modules/hypotl-ieee-tests: New file.
1434         * tests/test-hypotl-ieee.c: New file.
1435
1436         New module 'hypotl-ieee'.
1437         * modules/hypotl-ieee: New file.
1438
1439         Tests for module 'hypot-ieee'.
1440         * modules/hypot-ieee-tests: New file.
1441         * tests/test-hypot-ieee.c: New file.
1442
1443         New module 'hypot-ieee'.
1444         * modules/hypot-ieee: New file.
1445
1446         Tests for module 'hypotf-ieee'.
1447         * modules/hypotf-ieee-tests: New file.
1448         * tests/test-hypotf-ieee.c: New file.
1449         * tests/test-hypot-ieee.h: New file.
1450
1451         New module 'hypotf-ieee'.
1452         * modules/hypotf-ieee: New file.
1453
1454 2012-02-29  Bruno Haible  <bruno@clisp.org>
1455
1456         Remove unused variables.
1457         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1458         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1459         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1460         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1461
1462 2012-02-29  Eric Blake  <eblake@redhat.com>
1463
1464         termios: fix pid_t always, not just for tcgetsid
1465         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1466         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1467         just when building tcgetsid.
1468
1469 2012-02-29  Bruno Haible  <bruno@clisp.org>
1470
1471         Tests for module 'hypotl'.
1472         * modules/hypotl-tests: New file.
1473         * tests/test-hypotl.c: New file.
1474
1475         New module 'hypotl'.
1476         * lib/math.in.h (hypotl): New declaration.
1477         * lib/hypotl.c: New file.
1478         * m4/hypotl.m4: New file.
1479         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1480         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1481         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1482         * modules/hypotl: New file.
1483         * tests/test-math-c++.cc: Check the hypotl declaration.
1484         * doc/posix-functions/hypotl.texi: Mention the new module.
1485
1486 2012-02-29  Eric Blake  <eblake@redhat.com>
1487
1488         tcgetsid: fix cygwin header bug
1489         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1490
1491         docs: update cygwin progress
1492         * doc/posix-functions/llround.texi (llround): Added in cygwin
1493         1.7.8.
1494         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1495         * doc/glibc-functions/program_invocation_name.texi
1496         (program_invocation_name): Likewise.
1497         * doc/glibc-functions/program_invocation_short_name.texi
1498         (program_invocation_short_name): Likewise.
1499         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1500         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1501         Likewise.
1502         * doc/posix-functions/pthread_spin_destroy.texi
1503         (pthread_spin_destroy): Added in cygwin 1.7.10.
1504         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1505         Likewise.
1506         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1507         Likewise.
1508         * doc/posix-functions/pthread_spin_trylock.texi
1509         (pthread_spin_trylock): Likewise.
1510         * doc/posix-functions/pthread_spin_unlock.texi
1511         (pthread_spin_unlock): Likewise.
1512         * doc/posix-functions/pthread_setschedprio.texi
1513         (pthread_setschedprio): Likewise.
1514         * doc/posix-functions/pthread_attr_getstack.texi
1515         (pthread_attr_getstack): Likewise.
1516         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1517         (pthread_attr_getstackaddr): Likewise.
1518         * doc/glibc-functions/pthread_getattr_np.texi
1519         (pthread_getattr_np): Likewise.
1520         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1521         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1522         * doc/posix-functions/clock_settime.texi (clock_settime):
1523         Likewise.
1524         * doc/posix-functions/pthread_attr_getguardsize.texi
1525         (pthread_attr_getguardsize): Likewise.
1526         * doc/posix-functions/pthread_attr_setguardsize.texi
1527         (pthread_attr_setguardsize): Likewise.
1528         * doc/posix-functions/pthread_attr_setstack.texi
1529         (pthread_attr_setstack): Likewise.
1530         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1531         (pthread_attr_setstackaddr): Likewise.
1532         * doc/posix-functions/clock_getcpuclockid.texi
1533         (clock_getcpuclockid): Likewise.
1534         * doc/posix-functions/pthread_getcpuclockid.texi
1535         (pthread_getcpuclockid): Likewise.
1536         * doc/glibc-functions/error.texi (error): Likewise.
1537         * doc/glibc-functions/error_at_line.texi (error_at_line):
1538         Likewise.
1539         * doc/glibc-functions/error_message_count.texi
1540         (error_message_count): Likewise.
1541         * doc/glibc-functions/error_one_per_line.texi
1542         (error_one_per_line): Likewise.
1543         * doc/glibc-functions/error_print_progname.texi
1544         (error_print_progname): Likewise.
1545         * doc/posix-functions/pthread_condattr_getclock.texi
1546         (pthread_condattr_getclock): Likewise.
1547         * doc/posix-functions/pthread_condattr_setclock.texi
1548         (pthread_condattr_setclock): Likewise.
1549         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1550         Likewise.
1551         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1552         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1553         * doc/glibc-functions/get_current_dir_name.texi
1554         (get_current_dir_name): Likewise.
1555         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1556         Likewise.
1557         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1558         wrong return type.
1559         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1560         1.7.11.
1561
1562 2012-02-29  Bruno Haible  <bruno@clisp.org>
1563
1564         Tests for module 'hypotf'.
1565         * modules/hypotf-tests: New file.
1566         * tests/test-hypotf.c: New file.
1567
1568         New module 'hypotf'.
1569         * lib/math.in.h (hypotf): New declaration.
1570         * lib/hypotf.c: New file.
1571         * m4/hypotf.m4: New file.
1572         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1574         REPLACE_HYPOTF.
1575         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1576         REPLACE_HYPOTF.
1577         * modules/hypotf: New file.
1578         * tests/test-math-c++.cc: Check the hypotf declaration.
1579         * doc/posix-functions/hypotf.texi: Mention the new module.
1580
1581         hypot: Prepare for hypotf module.
1582         * m4/hypot.m4: New file.
1583         * modules/hypot (Files): Add m4/hypot.m4.
1584         (configure.ac): Invoke gl_FUNC_HYPOT.
1585
1586 2012-02-29  Bruno Haible  <bruno@clisp.org>
1587
1588         hypot tests: More tests.
1589         * tests/test-hypot.c: Include <float.h>.
1590         (main): Add tests about overflow and underflow.
1591
1592 2012-02-29  Bruno Haible  <bruno@clisp.org>
1593
1594         math code: Add comments.
1595         * lib/acosl.c: Add comment about related glibc source files.
1596         * lib/asinl.c: Likewise.
1597         * lib/atanl.c: Likewise.
1598         * lib/expl.c: Likewise.
1599         * lib/logl.c: Likewise.
1600         * lib/sincosl.c: Likewise.
1601         * lib/sinl.c: Likewise.
1602         * lib/tanl.c: Likewise.
1603         * lib/trigl.c: Likewise.
1604         * lib/cosl.c: Likewise. Fix comments.
1605
1606 2012-02-28  Bruno Haible  <bruno@clisp.org>
1607
1608         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1609         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1610         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1611         HUGE_VALL are defined.
1612         (numeric_equald): Renamed from numeric_equal.
1613         (numeric_equalf, numeric_equall): New functions.
1614         (main): Check also HUGE_VALF, HUGE_VALL.
1615         * modules/math-tests (Files): Add tests/macros.h.
1616         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1617         HUGE_VALL.
1618
1619 2012-02-28  Bruno Haible  <bruno@clisp.org>
1620
1621         doc: Move ISO C11 feature notes into POSIX chapters.
1622         * doc/posix-functions/aligned_alloc.texi: Renamed from
1623         doc/glibc-functions/aligned_alloc.texi.
1624         * doc/posix-functions/quick_exit.texi: Renamed from
1625         doc/glibc-functions/quick_exit.texi.
1626         * doc/posix-headers/uchar.texi: Renamed from
1627         doc/glibc-headers/uchar.texi.
1628         * doc/posix-functions/c16rtomb.texi: Renamed from
1629         doc/glibc-functions/c16rtomb.texi.
1630         * doc/posix-functions/c32rtomb.texi: Renamed from
1631         doc/glibc-functions/c32rtomb.texi.
1632         * doc/posix-functions/mbrtoc16.texi: Renamed from
1633         doc/glibc-functions/mbrtoc16.texi.
1634         * doc/posix-functions/mbrtoc32.texi: Renamed from
1635         doc/glibc-functions/mbrtoc32.texi.
1636         * doc/gnulib.texi: Update.
1637         (Glibc uchar.h): Remove section.
1638         Suggested by Eric Blake.
1639
1640 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1641
1642         stdnoreturn: port to MSVC better
1643         MSVC standard headers use __declspec(noreturn), so #define noreturn
1644         to empty on that platform.  Reported by Bruno Haible in
1645         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1646         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1647         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1648
1649 2012-02-28  Bruno Haible  <bruno@clisp.org>
1650
1651         doc: Mention new glibc headers and functions.
1652         * doc/glibc-headers/uchar.texi: New file.
1653         * doc/glibc-functions/aligned_alloc.texi: New file.
1654         * doc/glibc-functions/c16rtomb.texi: New file.
1655         * doc/glibc-functions/c32rtomb.texi: New file.
1656         * doc/glibc-functions/clock_adjtime.texi: New file.
1657         * doc/glibc-functions/fanotify_init.texi: New file.
1658         * doc/glibc-functions/fanotify_mark.texi: New file.
1659         * doc/glibc-functions/inet6_opt_append.texi: New file.
1660         * doc/glibc-functions/inet6_opt_find.texi: New file.
1661         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1662         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1663         * doc/glibc-functions/inet6_opt_init.texi: New file.
1664         * doc/glibc-functions/inet6_opt_next.texi: New file.
1665         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1666         * doc/glibc-functions/inet6_rth_add.texi: New file.
1667         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1668         * doc/glibc-functions/inet6_rth_init.texi: New file.
1669         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1670         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1671         * doc/glibc-functions/inet6_rth_space.texi: New file.
1672         * doc/glibc-functions/login.texi: New file.
1673         * doc/glibc-functions/mbrtoc16.texi: New file.
1674         * doc/glibc-functions/mbrtoc32.texi: New file.
1675         * doc/glibc-functions/name_to_handle_at.texi: New file.
1676         * doc/glibc-functions/ntp_gettimex.texi: New file.
1677         * doc/glibc-functions/open_by_handle_at.texi: New file.
1678         * doc/glibc-functions/prlimit.texi: New file.
1679         * doc/glibc-functions/process_vm_readv.texi: New file.
1680         * doc/glibc-functions/process_vm_writev.texi: New file.
1681         * doc/glibc-functions/recvmmsg.texi: New file.
1682         * doc/glibc-functions/scandirat.texi: New file.
1683         * doc/glibc-functions/sendmmsg.texi: New file.
1684         * doc/glibc-functions/setns.texi: New file.
1685         * doc/glibc-functions/timespec_get.texi: New file.
1686         * doc/gnulib.texi: Include them.
1687         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1688         sections.
1689         Reported by Eric Blake.
1690
1691 2012-02-28  Bruno Haible  <bruno@clisp.org>
1692
1693         Avoid compilation errors with MSVC option -fp:strict.
1694         * lib/floor.c: Use MSVC specific pragma fenv_access.
1695         * lib/ceil.c: Likewise.
1696         * lib/trunc.c: Likewise.
1697         * lib/round.c: Likewise.
1698         * lib/rint.c: Likewise.
1699         * lib/fma.c: Likewise.
1700         * lib/integer_length.c: Likewise.
1701         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1702         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1703         * tests/test-floor2.c: Likewise.
1704         * tests/test-floorf2.c: Likewise.
1705         * tests/test-ceil2.c: Likewise.
1706         * tests/test-ceilf2.c: Likewise.
1707         * tests/test-trunc2.c: Likewise.
1708         * tests/test-truncf2.c: Likewise.
1709         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1710
1711 2012-02-27  Bruno Haible  <bruno@clisp.org>
1712
1713         Tests for module 'sqrtl-ieee'.
1714         * modules/sqrtl-ieee-tests: New file.
1715         * tests/test-sqrtl-ieee.c: New file.
1716
1717         New module 'sqrtl-ieee'.
1718         * modules/sqrtl-ieee: New file.
1719
1720         Tests for module 'sqrt-ieee'.
1721         * modules/sqrt-ieee-tests: New file.
1722         * tests/test-sqrt-ieee.c: New file.
1723
1724         New module 'sqrt-ieee'.
1725         * modules/sqrt-ieee: New file.
1726
1727         Tests for module 'sqrtf-ieee'.
1728         * modules/sqrtf-ieee-tests: New file.
1729         * tests/test-sqrtf-ieee.c: New file.
1730         * tests/test-sqrt-ieee.h: New file.
1731
1732         New module 'sqrtf-ieee'.
1733         * modules/sqrtf-ieee: New file.
1734
1735 2012-02-27  Bruno Haible  <bruno@clisp.org>
1736
1737         remainderl-ieee: Work around test failure on OSF/1.
1738         * m4/remainderl-ieee.m4: New file.
1739         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1740         present, test whether remainderl works with a zero second argument.
1741         Replace it if not.
1742         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1744         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1745         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1746         (Depends-on): Update conditions.
1747         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1748         (Depends-on): Add remainder-ieee.
1749         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1750         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1751         module.
1752
1753         remainderf-ieee: Work around test failure on OSF/1.
1754         * m4/remainderf-ieee.m4: New file.
1755         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1756         present, test whether remainderf works with a zero second argument.
1757         Replace it if not.
1758         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1759         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1760         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1761         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1762         (Depends-on): Update conditions.
1763         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1764         (Depends-on): Add remainder-ieee.
1765         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1766         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1767         module.
1768
1769         remainder-ieee: Work around test failure on OSF/1.
1770         * m4/remainder-ieee.m4: New file.
1771         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1772         present, test whether remainder works with a zero second argument.
1773         Replace it if not.
1774         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1776         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1777         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1778         (Depends-on): Update dependencies.
1779         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1780         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1781         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1782
1783         Tests for module 'remainderl-ieee'.
1784         * modules/remainderl-ieee-tests: New file.
1785         * tests/test-remainderl-ieee.c: New file.
1786
1787         New module 'remainderl-ieee'.
1788         * modules/remainderl-ieee: New file.
1789
1790         Tests for module 'remainder-ieee'.
1791         * modules/remainder-ieee-tests: New file.
1792         * tests/test-remainder-ieee.c: New file.
1793
1794         New module 'remainder-ieee'.
1795         * modules/remainder-ieee: New file.
1796
1797         Tests for module 'remainderf-ieee'.
1798         * modules/remainderf-ieee-tests: New file.
1799         * tests/test-remainderf-ieee.c: New file.
1800         * tests/test-remainder-ieee.h: New file.
1801
1802         New module 'remainderf-ieee'.
1803         * modules/remainderf-ieee: New file.
1804
1805 2012-02-27  Bruno Haible  <bruno@clisp.org>
1806
1807         modff, modfl: Fix configure syntax error.
1808         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1809         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1810
1811 2012-02-27  Bruno Haible  <bruno@clisp.org>
1812
1813         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1814         * m4/fmodl-ieee.m4: New file.
1815         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1816         whether fmodl works with zero arguments. Replace it if not.
1817         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1818         (Depends-on): Add fmod-ieee.
1819         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1820         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1821
1822         fmodf-ieee: Work around test failure on OSF/1.
1823         * m4/fmodf-ieee.m4: New file.
1824         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1825         whether fmodf works with zero arguments. Replace it if not.
1826         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1827         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1828         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1829         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1830         (Depends-on): Update dependencies.
1831         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1832         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1833         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1834
1835         fmodf-ieee: Work around test failure on MSVC 9.
1836         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1837         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1838
1839         fmod-ieee: Work around test failures on OSF/1, mingw.
1840         * m4/fmod-ieee.m4: New file.
1841         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1842         whether fmod works with zero arguments. Replace it if not.
1843         * lib/math.in.h (fmod): New declaration.
1844         * lib/fmod.c: New file.
1845         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1847         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1848         * modules/fmod (Files): Add lib/fmod.c.
1849         (Depends-on): Add math, isinf, trunc, fma.
1850         (configure.ac): Arrange to compile lib/fmod.c if needed.
1851         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1852         m4/signbit.m4.
1853         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1854         * tests/test-math-c++.cc: Check the declaration of fmod.
1855         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1856
1857         fmodl-ieee: Fix test failures.
1858         * lib/fmodl.c (fmodl): Treat Inf specially.
1859         * modules/fmodl (Depends-on): Add isinf.
1860
1861         Tests for module 'fmodl-ieee'.
1862         * modules/fmodl-ieee-tests: New file.
1863         * tests/test-fmodl-ieee.c: New file.
1864
1865         New module 'fmodl-ieee'.
1866         * modules/fmodl-ieee: New file.
1867
1868         Tests for module 'fmod-ieee'.
1869         * modules/fmod-ieee-tests: New file.
1870         * tests/test-fmod-ieee.c: New file.
1871
1872         New module 'fmod-ieee'.
1873         * modules/fmod-ieee: New file.
1874
1875         Tests for module 'fmodf-ieee'.
1876         * modules/fmodf-ieee-tests: New file.
1877         * tests/test-fmodf-ieee.c: New file.
1878         * tests/test-fmod-ieee.h: New file.
1879
1880         New module 'fmodf-ieee'.
1881         * modules/fmodf-ieee: New file.
1882
1883 2012-02-27  Bruno Haible  <bruno@clisp.org>
1884
1885         Tests for module 'rintl-ieee'.
1886         * modules/rintl-ieee-tests: New file.
1887         * tests/test-rintl-ieee.c: New file.
1888
1889         New module 'rintl-ieee'.
1890         * modules/rintl-ieee: New file.
1891
1892         Tests for module 'rint-ieee'.
1893         * modules/rint-ieee-tests: New file.
1894         * tests/test-rint-ieee.c: New file.
1895
1896         New module 'rint-ieee'.
1897         * modules/rint-ieee: New file.
1898
1899         Tests for module 'rintf-ieee'.
1900         * modules/rintf-ieee-tests: New file.
1901         * tests/test-rintf-ieee.c: New file.
1902         * tests/test-rint-ieee.h: New file.
1903
1904         New module 'rintf-ieee'.
1905         * modules/rintf-ieee: New file.
1906
1907 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1908
1909         regex: re_search etc. should return -2 when memory exhausted
1910         This bug was uncovered when testing 'grep'.  Without the fix,
1911         re_search and friends return -1 when memory is exhausted, but -1
1912         means no match, and this causes grep to falsely report no-match
1913         instead of memory-exhaustion.  See
1914         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1915         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1916         trouble; this can occur if re_search_internal ran out of memory.
1917
1918 2012-02-26  Bruno Haible  <bruno@clisp.org>
1919
1920         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1921         * m4/modfl-ieee.m4: New file.
1922         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1923         whether modfl works with Inf. Replace it if not.
1924         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1926         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1927         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1928         (Depends-on): Update dependencies.
1929         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1930         m4/signbit.m4.
1931         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1932         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1933
1934         modfl-ieee: Fix dependencies.
1935         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1936
1937         modfl-ieee: Fix test failures.
1938         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1939         * modules/modfl (Depends-on): Add isfinite, isinf.
1940
1941         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1942         * m4/modff-ieee.m4: New file.
1943         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1944         whether modff works with NaN and Inf. Replace it if not.
1945         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1947         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1948         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1949         (Depends-on): Update dependencies.
1950         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1951         m4/signbit.m4.
1952         (Depends-on): Add modf-ieee.
1953         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1954         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1955
1956         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1957         * m4/modf-ieee.m4: New file.
1958         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1959         whether modf works with NaN and Inf. Replace it if not.
1960         * lib/math.in.h (modf): New declaration.
1961         * lib/modf.c: New file.
1962         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1964         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1965         * modules/modf (Files): Add lib/modf.c.
1966         (Depends-on): Add math, isfinite, trunc, isinf.
1967         (configure.ac): Addrange to compile lib/modf.c if needed.
1968         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1969         m4/signbit.m4.
1970         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1971         * tests/test-math-c++.cc: Check the declaration of modf.
1972         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1973
1974         Tests for module 'modfl-ieee'.
1975         * modules/modfl-ieee-tests: New file.
1976         * tests/test-modfl-ieee.c: New file.
1977
1978         New module 'modfl-ieee'.
1979         * modules/modfl-ieee: New file.
1980
1981         Tests for module 'modf-ieee'.
1982         * modules/modf-ieee-tests: New file.
1983         * tests/test-modf-ieee.c: New file.
1984
1985         New module 'modf-ieee'.
1986         * modules/modf-ieee: New file.
1987
1988         Tests for module 'modff-ieee'.
1989         * modules/modff-ieee-tests: New file.
1990         * tests/test-modff-ieee.c: New file.
1991         * tests/test-modf-ieee.h: New file.
1992
1993         New module 'modff-ieee'.
1994         * modules/modff-ieee: New file.
1995
1996 2012-02-26  Bruno Haible  <bruno@clisp.org>
1997
1998         Tests for module 'fabsl-ieee'.
1999         * modules/fabsl-ieee-tests: New file.
2000         * tests/test-fabsl-ieee.c: New file.
2001
2002         New module 'fabsl-ieee'.
2003         * modules/fabsl-ieee: New file.
2004
2005         Tests for module 'fabs-ieee'.
2006         * modules/fabs-ieee-tests: New file.
2007         * tests/test-fabs-ieee.c: New file.
2008
2009         New module 'fabs-ieee'.
2010         * modules/fabs-ieee: New file.
2011
2012         Tests for module 'fabsf-ieee'.
2013         * modules/fabsf-ieee-tests: New file.
2014         * tests/test-fabsf-ieee.c: New file.
2015         * tests/test-fabs-ieee.h: New file.
2016
2017         New module 'fabsf-ieee'.
2018         * modules/fabsf-ieee: New file.
2019
2020 2012-02-26  Bruno Haible  <bruno@clisp.org>
2021
2022         Tests for module 'fmal-ieee'.
2023         * modules/fmal-ieee-tests: New file.
2024         * tests/test-fmal-ieee.c: New file.
2025
2026         New module 'fmal-ieee'.
2027         * modules/fmal-ieee: New file.
2028
2029         Tests for module 'fma-ieee'.
2030         * modules/fma-ieee-tests: New file.
2031         * tests/test-fma-ieee.c: New file.
2032
2033         New module 'fma-ieee'.
2034         * modules/fma-ieee: New file.
2035
2036         Tests for module 'fmaf-ieee'.
2037         * modules/fmaf-ieee-tests: New file.
2038         * tests/test-fmaf-ieee.c: New file.
2039         * tests/test-fma-ieee.h: New file.
2040
2041         New module 'fmaf-ieee'.
2042         * modules/fmaf-ieee: New file.
2043
2044 2012-02-26  Bruno Haible  <bruno@clisp.org>
2045
2046         Tests for module 'ldexpl-ieee'.
2047         * modules/ldexpl-ieee-tests: New file.
2048         * tests/test-ldexpl-ieee.c: New file.
2049
2050         New module 'ldexpl-ieee'.
2051         * modules/ldexpl-ieee: New file.
2052
2053         Tests for module 'ldexp-ieee'.
2054         * modules/ldexp-ieee-tests: New file.
2055         * tests/test-ldexp-ieee.c: New file.
2056
2057         New module 'ldexp-ieee'.
2058         * modules/ldexp-ieee: New file.
2059
2060         Tests for module 'ldexpf-ieee'.
2061         * modules/ldexpf-ieee-tests: New file.
2062         * tests/test-ldexpf-ieee.c: New file.
2063         * tests/test-ldexp-ieee.h: New file.
2064
2065         New module 'ldexpf-ieee'.
2066         * modules/ldexpf-ieee: New file.
2067
2068 2012-02-26  Bruno Haible  <bruno@clisp.org>
2069
2070         Refactor frexp*-ieee tests.
2071         * tests/test-frexp-ieee.h: New file.
2072         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
2073         (main): Just call test_function.
2074         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
2075         (main): Just call test_function.
2076         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
2077         (main): Just call test_function.
2078         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
2079         * modules/frexp-ieee-tests (Files): Likewise.
2080         * modules/frexpl-ieee-tests (Files): Likewise.
2081
2082         Tests for module 'frexpl-ieee'.
2083         * modules/frexpl-ieee-tests: New file.
2084         * tests/test-frexpl-ieee.c: New file.
2085
2086         New module 'frexpl-ieee'.
2087         * modules/frexpl-ieee: New file.
2088
2089         Tests for module 'frexp-ieee'.
2090         * modules/frexp-ieee-tests: New file.
2091         * tests/test-frexp-ieee.c: New file.
2092
2093         New module 'frexp-ieee'.
2094         * modules/frexp-ieee: New file.
2095
2096         Tests for module 'frexpf-ieee'.
2097         * modules/frexpf-ieee-tests: New file.
2098         * tests/test-frexpf-ieee.c: New file.
2099
2100         New module 'frexpf-ieee'.
2101         * modules/frexpf-ieee: New file.
2102
2103 2012-02-26  Bruno Haible  <bruno@clisp.org>
2104
2105         roundl-ieee tests: More tests.
2106         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2107         (main): Add tests for [MX] shaded specification in POSIX.
2108         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2109         (Depends-on): Add isnanl-nolibm.
2110
2111         round-ieee tests: More tests.
2112         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2113         (main): Add tests for [MX] shaded specification in POSIX.
2114         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2115         (Depends-on): Add isnand-nolibm.
2116
2117         roundf-ieee tests: More tests.
2118         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2119         (main): Add tests for [MX] shaded specification in POSIX.
2120         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2121         (Depends-on): Add isnanf-nolibm.
2122
2123         truncl-ieee tests: More tests.
2124         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2125         (main): Add tests for [MX] shaded specification in POSIX.
2126         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2127         (Depends-on): Add isnanl-nolibm.
2128
2129         trunc-ieee tests: More tests.
2130         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2131         (main): Add tests for [MX] shaded specification in POSIX.
2132         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2133         (Depends-on): Add isnand-nolibm.
2134
2135         truncf-ieee tests: More tests.
2136         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2137         (main): Add tests for [MX] shaded specification in POSIX.
2138         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2139         (Depends-on): Add isnanf-nolibm.
2140
2141         ceill-ieee tests: More tests.
2142         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2143         (main): Add tests for [MX] shaded specification in POSIX.
2144         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2145         (Depends-on): Add isnanl-nolibm.
2146
2147         ceil-ieee tests: More tests.
2148         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2149         (main): Add tests for [MX] shaded specification in POSIX.
2150         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2151         (Depends-on): Add isnand-nolibm.
2152
2153         ceilf-ieee tests: More tests.
2154         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2155         (main): Add tests for [MX] shaded specification in POSIX.
2156         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2157         (Depends-on): Add isnanf-nolibm.
2158
2159         floorl-ieee tests: More tests.
2160         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2161         (main): Add tests for [MX] shaded specification in POSIX.
2162         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2163         (Depends-on): Add isnanl-nolibm.
2164
2165         floor-ieee tests: More tests.
2166         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2167         (main): Add tests for [MX] shaded specification in POSIX.
2168         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2169         (Depends-on): Add isnand-nolibm.
2170
2171         floorf-ieee tests: More tests.
2172         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2173         (main): Add tests for [MX] shaded specification in POSIX.
2174         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2175         (Depends-on): Add isnanf-nolibm.
2176
2177 2012-02-26  Bruno Haible  <bruno@clisp.org>
2178
2179         fpieee: More comments.
2180         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
2181
2182 2012-02-25  Bruno Haible  <bruno@clisp.org>
2183
2184         Tests for module 'log10l'.
2185         * modules/log10l-tests: New file.
2186         * tests/test-log10l.c: New file.
2187         * tests/test-math-c++.cc: Check the declaration of log10l.
2188
2189         New module 'log10l'.
2190         * lib/math.in.h (log10l): New declaration.
2191         * lib/log10l.c: New file.
2192         * m4/log10l.m4: New file.
2193         * modules/log10l: New file.
2194         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
2195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
2196         HAVE_DECL_LOG10L.
2197         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
2198         HAVE_DECL_LOG10L.
2199         * doc/posix-functions/log10l.texi: Mention the new module.
2200
2201 2012-02-25  Bruno Haible  <bruno@clisp.org>
2202
2203         fmodl, remainder*: Avoid wrong results due to rounding errors.
2204         * lib/fmodl.c (fmodl): Correct the result if it is not within the
2205         expected bounds.
2206         * lib/remainderf.c (remainderf): Likewise.
2207         * lib/remainder.c (remainder): Likewise.
2208         * lib/remainderl.c (remainderl): Likewise.
2209
2210 2012-02-25  Bruno Haible  <bruno@clisp.org>
2211
2212         Tests for module 'remainderl'.
2213         * modules/remainderl-tests: New file.
2214         * tests/test-remainderl.c: New file.
2215         * tests/test-math-c++.cc: Check the declaration of remainderl.
2216
2217         New module 'remainderl'.
2218         * lib/math.in.h (remainderl): New declaration.
2219         * lib/remainderl.c: New file.
2220         * m4/remainderl.m4: New file.
2221         * modules/remainderl: New file.
2222         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
2223         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
2224         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
2225         HAVE_REMAINDERL.
2226         * doc/posix-functions/remainderl.texi: Mention the new module.
2227
2228 2012-02-25  Bruno Haible  <bruno@clisp.org>
2229
2230         Tests for module 'remainderf'.
2231         * modules/remainderf-tests: New file.
2232         * tests/test-remainderf.c: New file.
2233         * tests/test-math-c++.cc: Check the declaration of remainderf.
2234
2235         New module 'remainderf'.
2236         * lib/math.in.h (remainderf): New declaration.
2237         * lib/remainderf.c: New file.
2238         * m4/remainderf.m4: New file.
2239         * modules/remainderf: New file.
2240         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2241         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2242         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2243         HAVE_REMAINDERF.
2244         * doc/posix-functions/remainderf.texi: Mention the new module.
2245
2246 2012-02-25  Bruno Haible  <bruno@clisp.org>
2247
2248         remainder: Support for MSVC.
2249         * lib/math.in.h (remainder): New declaration.
2250         * lib/remainder.c: New file.
2251         * m4/remainder.m4: New file.
2252         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2253         (Depends-on): Add math, round, fma.
2254         (configure.ac): Use results of gl_FUNC_REMAINDER.
2255         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2256         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2257         HAVE_DECL_REMAINDER.
2258         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2259         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2260         * tests/test-math-c++.cc: Check the declaration of remainder.
2261         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2262         problems are fixed.
2263
2264 2012-02-25  Bruno Haible  <bruno@clisp.org>
2265
2266         Tests for module 'fmodl'.
2267         * modules/fmodl-tests: New file.
2268         * tests/test-fmodl.c: New file.
2269         * tests/test-math-c++.cc: Check the declaration of fmodl.
2270
2271         New module 'fmodl'.
2272         * lib/math.in.h (fmodl): New declaration.
2273         * lib/fmodl.c: New file.
2274         * m4/fmodl.m4: New file.
2275         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2276         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2277         REPLACE_FMODL.
2278         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2279         REPLACE_FMODL.
2280         * modules/fmodl: New file.
2281         * doc/posix-functions/fmodl.texi: Mention the new module.
2282
2283 2012-02-25  Bruno Haible  <bruno@clisp.org>
2284
2285         Tests for module 'modfl'.
2286         * modules/modfl-tests: New file.
2287         * tests/test-modfl.c: New file.
2288         * tests/test-math-c++.cc: Check the declaration of modfl.
2289
2290         New module 'modfl'.
2291         * lib/math.in.h (modfl): New declaration.
2292         * lib/modfl.c: New file.
2293         * m4/modfl.m4: New file.
2294         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2295         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2296         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2297         * modules/modfl: New file.
2298         * doc/posix-functions/modfl.texi: Mention the new module.
2299
2300 2012-02-25  Bruno Haible  <bruno@clisp.org>
2301
2302         Tests for module 'fabsl'.
2303         * modules/fabsl-tests: New file.
2304         * tests/test-fabsl.c: New file.
2305         * tests/test-math-c++.cc: Check the declaration of fabsl.
2306
2307         New module 'fabsl'.
2308         * lib/math.in.h (fabsl): New declaration.
2309         * lib/fabsl.c: New file.
2310         * m4/fabsl.m4: New file.
2311         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2313         REPLACE_FABSL.
2314         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2315         REPLACE_FABSL.
2316         * modules/fabsl: New file.
2317         * doc/posix-functions/fabsl.texi: Mention the new module.
2318
2319 2012-02-25  Bruno Haible  <bruno@clisp.org>
2320
2321         fabs tests: More tests.
2322         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2323         (zero): New variable.
2324         (main): Add tests for signed zero.
2325         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2326
2327         fabsf tests: More tests.
2328         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2329         (zero): New variable.
2330         (main): Add tests for signed zero.
2331         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
2332
2333 2012-02-24  Bruno Haible  <bruno@clisp.org>
2334
2335         atanl: Provide function definition on MSVC.
2336         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
2337         function pointer.
2338         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
2339
2340 2012-02-24  Bruno Haible  <bruno@clisp.org>
2341
2342         acosl: Provide function definition on MSVC.
2343         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
2344         function pointer.
2345         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
2346
2347 2012-02-24  Bruno Haible  <bruno@clisp.org>
2348
2349         asinl: Provide function definition on MSVC.
2350         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
2351         function pointer.
2352         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2353
2354 2012-02-24  Bruno Haible  <bruno@clisp.org>
2355
2356         tanl: Provide function definition on MSVC.
2357         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2358         function pointer.
2359         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2360
2361 2012-02-24  Bruno Haible  <bruno@clisp.org>
2362
2363         cosl: Provide function definition on MSVC.
2364         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2365         function pointer.
2366         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2367
2368 2012-02-24  Bruno Haible  <bruno@clisp.org>
2369
2370         sinl: Provide function definition on MSVC.
2371         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2372         function pointer.
2373         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2374
2375 2012-02-24  Bruno Haible  <bruno@clisp.org>
2376
2377         logl: Provide function definition on MSVC.
2378         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2379         function pointer.
2380         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2381
2382 2012-02-24  Bruno Haible  <bruno@clisp.org>
2383
2384         expl: Provide function definition on MSVC.
2385         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2386         function pointer.
2387         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2388
2389 2012-02-24  Bruno Haible  <bruno@clisp.org>
2390
2391         sqrtl: Provide function definition on MSVC.
2392         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2393         a function pointer.
2394         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2395
2396 2012-02-24  Bruno Haible  <bruno@clisp.org>
2397
2398         ceill: Provide function definition on MSVC.
2399         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2400         used as a function pointer.
2401         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2402
2403 2012-02-24  Bruno Haible  <bruno@clisp.org>
2404
2405         floorl: Provide function definition on MSVC.
2406         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2407         used as a function pointer.
2408         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2409
2410 2012-02-24  Bruno Haible  <bruno@clisp.org>
2411
2412         ceilf: Provide function definition on MSVC.
2413         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2414         used as a function pointer.
2415         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2416
2417 2012-02-24  Bruno Haible  <bruno@clisp.org>
2418
2419         floorf: Provide function definition on MSVC.
2420         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2421         used as a function pointer.
2422         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2423
2424 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2425
2426         stdnoreturn: new module
2427         This implements a replacement for C11's <stdnoreturn.h>.
2428         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2429         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2430         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2431         * tests/test-stdnoreturn.c: New files.
2432
2433 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2434
2435         regex: fix false multibyte matches in some regular expressions
2436         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2437         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2438         * lib/regex_internal.c (re_string_skip_chars):
2439         Fix miscomputation of remain_len that may cause incomplete
2440         multi-byte character and false match.
2441
2442 2012-02-24  Jim Meyering  <meyering@redhat.com>
2443
2444         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2445         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2446         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2447         Remove now-unnecessary str''cmp obfuscation.
2448         Suggested by Akim Demaille.
2449
2450 2012-02-24  Bruno Haible  <bruno@clisp.org>
2451
2452         streq: Rename macro.
2453         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2454         * NEWS: Mention the change.
2455         * lib/mbrtowc.c (mbrtowc): Update.
2456         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2457         * lib/wcwidth.c (wcwidth): Update.
2458         Suggested by Akim Demaille and Jim Meyering.
2459
2460 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2461
2462         regex: fix typo in definition of MIN
2463         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2464         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2465
2466 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2467             Bruno Haible  <bruno@clisp.org>
2468
2469         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2470         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2471         entries into a stack-allocated buffer directly.
2472         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2473
2474 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2475             Bruno Haible  <bruno@clisp.org>
2476
2477         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2478
2479          - There were several instances of this pattern:
2480
2481              for (;;) {
2482                n = acl (f, GETACLCNT, 0, NULL);
2483                [ allocate an array A of size N ]
2484                if (acl (f, GETACL, n, a) == n)
2485                  break;
2486              }
2487
2488            This loop might never terminate if some other process is constantly
2489            manipulating the file's ACL.  The loop should be rewritten to
2490            terminate.
2491
2492          - The acl (... GETACLNT ...) call is merely an optimization; its value
2493            is merely a hint as to how big to make the array.  A better
2494            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2495            and just guess a reasonably-big size, growing the size and trying
2496            again if it's not large enough.  This guarantees termination, and
2497            saves a system call.
2498
2499         * lib/acl-internal.h: Include <limits.h>.
2500         (MIN, SIZE_MAX): New macros.
2501         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2502         a stack-allocated buffer, and use malloc if it does not fit. Don't
2503         use GETACLCNT.
2504         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2505
2506 2012-02-19  Bruno Haible  <bruno@clisp.org>
2507
2508         acl: Fix endless loop on Solaris with vxfs.
2509         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2510         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2511         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2512         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2513         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2514         Reported by Bill Jones in
2515         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2516
2517 2012-02-19  Bruno Haible  <bruno@clisp.org>
2518
2519         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2520         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2521         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2522         that this function returns 0 in some more cases.
2523
2524 2012-02-19  Bruno Haible  <bruno@clisp.org>
2525
2526         acl: Update doc references.
2527         * doc/acl-resources.txt: Update links to Solaris documentation.
2528
2529 2012-02-19  Bruno Haible  <bruno@clisp.org>
2530
2531         Fix test failure in many locales on Solaris 11.
2532         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2533         'tr' arguments.
2534         * tests/test-pipe-filter-ii1.c (main): Likewise.
2535         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2536         expressions in the C locale.
2537         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2538         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2539
2540 2012-02-19  Bruno Haible  <bruno@clisp.org>
2541
2542         gnulib-tool: Improve usage message.
2543         * gnulib-tool (func_usage): Move doc of --help and --version to the
2544         section "Operation modes".
2545
2546 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2547
2548         README-release: make it easier to execute commands
2549         * top/README-release: break commands out on to separate lines.
2550
2551 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2552
2553         GNUmakefile: simplify detection of unconfigured trees
2554         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2555         whether the tree make is being run from is already configured or
2556         not.  Related simplifications.
2557
2558 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2559
2560         * gnulib-tool (func_usage): Document --help and --version.
2561
2562 2012-02-11  Jim Meyering  <meyering@redhat.com>
2563
2564         bootstrap: don't exit 0 upon gnulib-tool failure
2565         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2566         its exit status, not 0.
2567
2568 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2569
2570         README-release: various improvements
2571         * top/README-release: Give a command to push changes for the
2572         release.  Add "distcheck" to list of other pre-release checks.
2573         Fix instance of "make stable" which should be "make TYPE".
2574
2575 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2576
2577         maint: replace FSF snail-mail addresses with URLs
2578         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2579         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2580         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2581         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2582         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2583         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2584         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2585         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2586         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2587         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2588         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2589         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2590         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2591         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2592         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2593         * lib/glthread/thread.c, lib/glthread/thread.h:
2594         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2595         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2596         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2597         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2598         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2599         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2600         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2601         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2602         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2603         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2604         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2605         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2606         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2607         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2608         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2609         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2610         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2611         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2612         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2613         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2614         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2615         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2616         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2617         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2618         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2619         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2620         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2621         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2622         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2623         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2624         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2625         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2626         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2627         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2628         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2629         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2630         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2631         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2632         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2633         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2634         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2635         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2636         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2637         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2638         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2639         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2640         * tests/test-poll.c, tests/test-quotearg-simple.c:
2641         * tests/test-quotearg.c, tests/test-quotearg.h:
2642         * tests/test-round-ieee.c, tests/test-round1.c:
2643         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2644         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2645         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2646         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2647         * tests/test-strerror.c, tests/test-strerror_r.c:
2648         * tests/test-strsignal.c, tests/test-strverscmp.c:
2649         * tests/test-xmemdup0.c:
2650         Replace FSF snail mail addresses with URLs, as per GNU coding
2651         standards.  See glibc bug
2652         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2653
2654 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2655
2656         README-release: capitalize a word and split a line
2657         * top/README-release: Fix punctuation and spacing.
2658
2659 2012-02-08  Akim Demaille  <demaille@gostai.com>
2660
2661         fatal-signal: use C prototypes (with explicit void).
2662         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2663         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2664
2665 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2666
2667         regex: spelling fix
2668         * lib/regexec.c: spelling fix
2669
2670         regex: rely on stdint.h for SIZE_MAX
2671         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2672
2673 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2674
2675         regex: merge glibc changes
2676
2677         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2678         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2679         (init_word_char): Work even if bitset words are not exactly 32 or
2680         64 bits wide.  Don't assume there are no padding bits.
2681         * lib/regex.c [_LIBC]: Do not include <config.h>.
2682         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2683         and -Wtype-limits.
2684         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2685         needless disagreement with glibc.  All uses changed.  Define it to
2686         1 only if _GNU_SOURCE, to match glibc.
2687         (_REG_RM_NAME): Remove; no longer needed, since the names in
2688         question are now all protected by __USE_GNU.
2689         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2690         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2691         * lib/regex_internal.h (MIN): New macro.
2692
2693         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2694         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2695
2696         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2697         * lib/regex_internal.c (re_string_fetch_byte_case):
2698         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2699         is miscompiled, and it turns out it is because of an incorrect
2700         attribute on re_string_fetch_byte_case.  Unlike
2701         re_string_peek_byte_case, this one is really not pure, it modifies
2702         memory (increments pstr->cur_idx), and with the pure attribute GCC
2703         assumed it doesn't and it cached the presumed value of
2704         regexp->cur_idx in a variable across the
2705          for (;; ++i)
2706            {
2707              if (i >= BRACKET_NAME_BUF_SIZE)
2708                return REG_EBRACK;
2709              if (token->type == OP_OPEN_CHAR_CLASS)
2710                ch = re_string_fetch_byte_case (regexp);
2711              else
2712                ch = re_string_fetch_byte (regexp);
2713              if (re_string_eoi(regexp))
2714                return REG_EBRACK;
2715              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2716                break;
2717              elem->opr.name[i] = ch;
2718            }
2719
2720         2011-11-29 Andreas Schwab <schwab@redhat.com>
2721         * lib/regcomp.c (build_equiv_class):
2722         Fix access after end of search string in regex matcher.
2723
2724         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2725         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2726
2727         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2728         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2729
2730         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2731         * lib/regcomp.c (parse_branch, parse_sub_exp):
2732         More regex memory leak fixes and tests.
2733         (parse_sub_exp, parse_bracket_exp):
2734         Fix memory leak for some invalid regular expressions.
2735
2736         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2737         * lib/regex_internal.c, lib/regexec.c:
2738         Fix unnecessary overallocation due to incomplete character.  When
2739         incomplete characters are found at the end of a string the code
2740         ran amok and allocated lots of memory.  Stricter limits are now in
2741         place.
2742
2743         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2744         * lib/regex.h: Update documentation.
2745
2746         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2747         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2748
2749         2010-05-05 Andreas Schwab <schwab@redhat.com>
2750         * lib/regexec.c (find_collation_sequence_value):
2751         Fix lookup of collation sequence value during regexp matching.
2752
2753         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2754         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2755
2756         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2757         * lib/regex.h: Cleanup namespace.
2758
2759         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2760         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2761
2762         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2763         * lib/regex_internal.h: Prevent some declarations and definitions
2764         to be seen when used in tests.
2765
2766         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2767         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2768         __libc_lock_* macros if not _LIBC.
2769         (struct re_dfa_t): Add lock.
2770
2771 2012-02-07  Eric Blake  <eblake@redhat.com>
2772
2773         maint.mk: also prohibit lower-case @var@
2774         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2775         lower case, like @top_srcdir@.
2776
2777 2012-02-04  Eric Blake  <eblake@redhat.com>
2778
2779         canonicalize: avoid uninitialized memory use
2780         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2781         random '/' left in dest.
2782         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2783
2784 2012-02-04  Bruno Haible  <bruno@clisp.org>
2785
2786         isatty: Fix test failure of ptsname_r on native Windows.
2787         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2788         and don't set errno.
2789         (isatty): Test first whether fd is valid. Set errno when returning 0.
2790
2791 2012-02-04  Bruno Haible  <bruno@clisp.org>
2792
2793         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2794         * tests/test-spawn-pipe-main.c: Include progname.h.
2795         (main): Invoke set_program_name.
2796         * modules/spawn-pipe-tests (Depends-on): Add progname.
2797
2798         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2799         * tests/test-nonblocking-socket-main.c: Include progname.h.
2800         (main): Invoke set_program_name.
2801         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2802
2803         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2804         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2805         (main): Invoke set_program_name.
2806         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2807
2808 2012-02-04  Eric Blake  <eblake@redhat.com>
2809
2810         canonicalize-lgpl: fix // handling
2811         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2812
2813         canonicalize: fix // handling
2814         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2815         /// to //, since only // is special.
2816
2817 2012-02-04  Bruno Haible  <bruno@clisp.org>
2818
2819         ioctl: Fix test failure on native Windows.
2820         * lib/ioctl.c: Include msvc-nothrow.h.
2821         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2822
2823 2012-02-04  Bruno Haible  <bruno@clisp.org>
2824
2825         fsync: Avoid test failure on native Windows.
2826         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2827         read-only.
2828
2829 2012-02-04  Bruno Haible  <bruno@clisp.org>
2830
2831         sys_select: Avoid syntax error on OpenBSD 5.0.
2832         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2833         currently being included, just include the system's <sys/select.h>.
2834
2835 2012-02-04  Bruno Haible  <bruno@clisp.org>
2836
2837         sys_select: Avoid syntax error on OpenBSD 5.0.
2838         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2839         <sys/select.h>, not before.
2840         Reported by Jiri B <jirib@devio.us>.
2841
2842 2012-02-04  Bruno Haible  <bruno@clisp.org>
2843
2844         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2845         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2846         global variables.
2847         * tests/test-get-rusage-data.c (main): Likewise.
2848         Reported by Jim Meyering.
2849
2850 2012-02-04  Bruno Haible  <bruno@clisp.org>
2851
2852         stdioext: Fix last commit.
2853         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2854
2855 2012-02-03  Bruno Haible  <bruno@clisp.org>
2856
2857         stdioext: Add tentative support for Plan9.
2858         * lib/stdio-impl.h: Include <errno.h>.
2859         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2860         * lib/freadable.c (freadable): Likewise.
2861         * lib/fwritable.c (fwritable): Likewise.
2862         * lib/fbufmode.c (fbufmode): Likewise.
2863         * lib/freading.c (freading): Likewise.
2864         * lib/fwriting.c (fwriting): Likewise.
2865         * lib/freadptr.c (freadptr): Likewise.
2866         * lib/freadseek.c (freadptrinc): Likewise.
2867         * lib/freadahead.c (freadahead): Likewise.
2868         * lib/fpurge.c (fpurge): Likewise.
2869         * lib/fseeko.c (rpl_fseeko): Likewise.
2870         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2871         Reported by Jens Staal <staal1978@gmail.com>.
2872
2873 2012-02-02  Jim Meyering  <meyering@redhat.com>
2874
2875         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2876         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2877         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2878         not even to try to add the attribute.  Instead, add a pragma to suppress
2879         the suggestion/warning.
2880
2881 2012-01-31  Karl Berry  <karl@gnu.org>
2882
2883         setstate doc: typo.
2884         * doc/posix-functions/setstate.texi (setstate): { not (.
2885
2886 2012-01-31  Bruno Haible  <bruno@clisp.org>
2887
2888         popen: Make more robust on Windows.
2889         * lib/popen.c: On native Windows, use the _popen based code even if
2890         HAVE_POPEN is set.
2891         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2892         environment variable on native Windows.
2893
2894 2012-01-30  Bruno Haible  <bruno@clisp.org>
2895
2896         pclose: Fix typo.
2897         * lib/stdio.in.h (pclose): Fix typo in warning message.
2898
2899 2012-01-30  Bruno Haible  <bruno@clisp.org>
2900
2901         doc about getlogin_r, setstate.
2902         * doc/posix-functions/getlogin_r.texi: List the incompatible
2903         declaration problem under "not fixed by gnulib".
2904         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2905         problem on Solaris 11 and other platforms.
2906
2907 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2908             Bruno Haible  <bruno@clisp.org>
2909
2910         poll tests: Make test more robust.
2911         * tests/test-poll.c: Include macros.h.
2912         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2913         return value of various I/O operations.
2914         * modules/poll-tests (Files): Add tests/macros.h.
2915
2916 2012-01-30  Bruno Haible  <bruno@clisp.org>
2917
2918         sys_stat: Fix support for mingw64 and MSVC.
2919         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2920         header files already do it.
2921         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2922         stat itself.
2923         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2924
2925 2012-01-30  Bruno Haible  <bruno@clisp.org>
2926
2927         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2928         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2929         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2930
2931 2012-01-29  Bruno Haible  <bruno@clisp.org>
2932
2933         quotearg: Fix test failure on MacOS X 10.5.
2934         * tests/test-quotearg-simple.c: Include localcharset.h.
2935         (main): If the locale encoding is not ASCII, bypass the tests of
2936         locale_quoting_style and clocale_quoting_style.
2937         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2938
2939 2012-01-29  Jim Meyering  <meyering@redhat.com>
2940
2941         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2942         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2943         detect uses of canonicalize_file_name.
2944
2945 2012-01-28  Bruno Haible  <bruno@clisp.org>
2946
2947         test-framework-sh: Fix test failure with AIX 7.1 diff.
2948         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2949         in column 1, like 'diff -c' does.
2950         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2951         whether 'diff -u' is used. Instead, test whether the output contains
2952         some '@' character.
2953
2954 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2955
2956         strtoimax: eliminate need for stdint.h, inttypes.h checks
2957         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2958         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2959         the prerequisites for a recently-introduced strtoimax test.
2960         I guess this might cause strtoimax to be replaced when not
2961         strictly necessary on older hosts, but this shouldn't introduce
2962         any bugs and it should make Emacs 'configure' faster on typical
2963         modern hosts.  Problem discovered when importing the latest gnulib
2964         to an Emacs test version.
2965         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2966
2967 2012-01-28  Bruno Haible  <bruno@clisp.org>
2968
2969         sys_time: Override 'struct timeval' on some native Windows platforms.
2970         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2971         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2972         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2973         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2974         needs to be overridden.
2975         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2976         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2977         * tests/test-sys_select.c: Check that the tv_sec member has the same
2978         size as a 'time_t'.
2979         * tests/test-sys_time.c: Likewise.
2980         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2981         is set, set also REPLACE_GETTIMEOFDAY.
2982         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2983         convert the resulting 'struct timeval' before returning.
2984         * lib/select.c: Include <sys/time.h>.
2985         (select, timeval): Undefine at the right place.
2986         * modules/select (Depends-on): Add sys_time.
2987         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2988         some Windows platforms.
2989         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2990
2991 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2992
2993         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2994         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2995         an integer.
2996         * lib/fcntl.c (dupfd): Likewise.
2997         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2998
2999 2012-01-28  Bruno Haible  <bruno@clisp.org>
3000
3001         fcntl: Avoid compilation error on native Windows.
3002         * modules/fcntl (Depends-on): Add 'close'.
3003
3004 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3005
3006         select, poll, isatty: Avoid warnings on x86_64 mingw64.
3007         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
3008         pointer to an integer.
3009         * lib/poll.c (IsConsoleHandle): Likewise.
3010         * lib/isatty.c (IsConsoleHandle): Likewise.
3011
3012 2012-01-28  Jim Meyering  <meyering@redhat.com>
3013
3014         doc: clarify README-release
3015         * top/README-release: Clarify: you should make a point to have
3016         the latest stable versions of build tools in your PATH, and the
3017         reference to buildreq is solely for its list of tool names, not
3018         for its minimal-functional version numbers.
3019         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
3020
3021         maint.mk: use more readable (yet functionally equivalent) quoting
3022         It is common to quote a single quote in a single quoted string like
3023         this:  '...'\''...'.  Unless you know the idiom, that looks like
3024         gibberish, so prefer to double-quote the string when possible.
3025         Then you can use a more readable, lone single quote: "...'..."
3026         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
3027         "don't" is more readable than the equivalent 'don'\''t'.
3028         (sc_cast_of_x_alloc_return_value): Likewise.
3029         (sc_cast_of_alloca_return_value): Likewise.
3030         (sc_makefile_path_separator_check): Similar: use ":" in '...',
3031         rather than '\'':'\''.
3032
3033 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
3034
3035         stdalign: relax _Alignof and tighten _Alignas test
3036         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
3037         as it was too strict: alignof must divide offsetof, but it need
3038         not equal offsetof.  Inspired by Joseph S. Myers's comment
3039         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
3040         Conversely, tighten the _Alignas test a bit, as the resulting
3041         alignment must be exactly 8.
3042
3043 2012-01-27  Bruno Haible  <bruno@clisp.org>
3044
3045         stdalign: Document the last change.
3046         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
3047
3048 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
3049
3050         stdalign: check that alignof and offsetof are consistent
3051         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
3052         Problem reported for gnulib by Richard W.M. Jones in
3053         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
3054
3055 2012-01-27  Jim Meyering  <meyering@redhat.com>
3056
3057         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
3058         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
3059         convert a sequence with gaps to the minimal containing range.
3060         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
3061         * tests/test-update-copyright.sh: Test for this.
3062         The FSF confirmed it is ok to do this, assuming there is at
3063         least one significant change per year in the affected range:
3064         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
3065
3066 2012-01-26  Bruno Haible  <bruno@clisp.org>
3067
3068         pipe2: refine doc about thread-safety
3069         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
3070         multithread-safety problem.
3071         * doc/glibc-functions/accept4.texi: Likewise.
3072
3073 2012-01-26  Bruno Haible  <bruno@clisp.org>
3074
3075         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
3076         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
3077         In the test program, include <fcntl.h>, for O_RDONLY.
3078
3079 2012-01-26  Eric Blake  <eblake@redhat.com>
3080
3081         pipe2: document lack of thread-safety in replacement
3082         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
3083         issue in replacement.
3084         * doc/glibc-functions/accept4.texi (accept4): Likewise.
3085         Based on a report by Eric Wong.
3086
3087 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
3088             Bruno Haible  <bruno@clisp.org>
3089
3090         malloca: Avoid warnings on x86_64 mingw64.
3091         * lib/malloca.c: Include <stdint.h>.
3092         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
3093         * modules/malloca (Depends-on): Add stdint.
3094         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
3095
3096 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
3097
3098         obstack: remove __STDC__ conditionals
3099         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
3100         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
3101         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
3102         m4/include_next.m4 as the only gnulib-maintained places that still
3103         refer to __STDC__.
3104
3105 2012-01-24  Bruno Haible  <bruno@clisp.org>
3106
3107         havelib: Modern quoting.
3108         * build-aux/config.rpath: Quote 'like this', not `like this', as per
3109         the recent change to the GNU coding standards.
3110
3111 2012-01-24  Bruno Haible  <bruno@clisp.org>
3112
3113         stdint: Improve support for Android.
3114         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
3115         Reported by Simon Josefsson <simon@josefsson.org>.
3116
3117 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3118
3119         doc: omit trailing empty lines from INSTALL etc.
3120         * doc/Makefile (INSTALL): Omit trailing empty lines.
3121         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
3122         omit trailing empty lines.  This simplifies the build procedure.
3123
3124 2012-01-23  Jim Meyering  <meyering@redhat.com>
3125
3126         tests: avoid spurious warnings about gl_sockets_startup
3127         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
3128         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
3129         reporting a "statement with no effect".
3130         * tests/test-accept.c (main): Mark as "(void)".
3131         * tests/test-accept4.c (main): Likewise.
3132         * tests/test-bind.c (main): Likewise.
3133         * tests/test-connect.c (main): Likewise.
3134         * tests/test-getpeername.c (main): Likewise.
3135         * tests/test-getsockname.c (main): Likewise.
3136         * tests/test-getsockopt.c (main): Likewise.
3137         * tests/test-listen.c (main): Likewise.
3138         * tests/test-recv.c (main): Likewise.
3139         * tests/test-recvfrom.c (main): Likewise.
3140         * tests/test-send.c (main): Likewise.
3141         * tests/test-sendto.c (main): Likewise.
3142         * tests/test-setsockopt.c (main): Likewise.
3143         * tests/test-shutdown.c (main): Likewise.
3144
3145 2012-01-21  Bruno Haible  <bruno@clisp.org>
3146
3147         locale-fr.m4: Fix for Android.
3148         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
3149         failure of the test program on Bionic libc.
3150
3151 2012-01-21  Jim Meyering  <meyering@redhat.com>
3152
3153         bootstrap: fail when bootstrap_post_import_hook fails
3154         Otherwise, it's far too easy to miss diagnostics emitted
3155         between gnulib-tool's output and that of running configure.
3156         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
3157
3158 2012-01-17  Jim Meyering  <meyering@redhat.com>
3159
3160         maint: enable sc_trailing_blank
3161         * build-aux/pmccabe.css: Remove trailing blanks.
3162         * doc/acl-cygwin.txt: Likewise.
3163         * doc/gnu-oids.texi: Likewise
3164         * cfg.mk: Enable sc_trailing_blank.
3165         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
3166
3167 2012-01-17  Jim Meyering  <meyering@redhat.com>
3168
3169         maint: enable sc_prohibit_openat_without_use
3170         * cfg.mk: Enable sc_prohibit_openat_without_use.
3171         Exempt lib/selinux-at.c.
3172
3173 2012-01-17  Jim Meyering  <meyering@redhat.com>
3174
3175         maint: enable sc_prohibit_cloexec_without_use
3176         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
3177         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
3178
3179 2012-01-17  Jim Meyering  <meyering@redhat.com>
3180
3181         maint: enable sc_prohibit_intprops_without_use
3182         * cfg.mk: Enable sc_prohibit_intprops_without_use
3183         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
3184
3185 2012-01-17  Jim Meyering  <meyering@redhat.com>
3186
3187         maint: enable sc_prohibit_hash_pjw_without_use
3188         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
3189         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
3190         to match any use of \<hash_pjw\>, i.e., not necessarily with a
3191         following " (".
3192
3193 2012-01-17  Jim Meyering  <meyering@redhat.com>
3194
3195         maint: enable double-word-prohibiting rule
3196         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
3197         Exempt three files.
3198
3199 2012-01-17  Jim Meyering  <meyering@redhat.com>
3200
3201         maint: remove empty lines at EOF, but excluding modules/*
3202         Apply syntax rules at home as well as abroad.  Most changes
3203         were induced by running this:
3204           make srcdir=. _build-aux=build-aux -f top/maint.mk \
3205             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
3206             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
3207         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
3208         Exempt modules/* and two binary files.
3209         Also exempt doc/INSTALL*, per request from Bruno Haible.
3210         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
3211         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
3212         * doc/Copyright/request-assign.future: Likewise.
3213         * doc/Copyright/request-disclaim.changes: Likewise.
3214         * doc/INSTALL: Likewise.
3215         * doc/INSTALL.ISO: Likewise.
3216         * doc/INSTALL.UTF-8: Likewise.
3217         * doc/acl-cygwin.txt: Likewise.
3218         * doc/acl-resources.txt: Likewise.
3219         * doc/fdl-1.2.texi: Likewise.
3220         * doc/fdl-1.3.texi: Likewise.
3221         * doc/fdl.texi: Likewise.
3222         * lib/argp-pin.c: Likewise.
3223         * lib/round.c: Likewise.
3224         * lib/unicase/u16-totitle.c: Likewise.
3225         * lib/unictype/block_test.c: Likewise.
3226         * lib/uninorm/canonical-decomposition.c: Likewise.
3227         * m4/README: Likewise.
3228         * m4/relocatable-lib.m4: Likewise.
3229         * tests/test-isnand-nolibm.c: Likewise.
3230         * tests/test-isnand.c: Likewise.
3231         * tests/uninorm/NormalizationTest.txt: Likewise.
3232
3233 2012-01-17  Jim Meyering  <meyering@redhat.com>
3234
3235         maint: add framework to run syntax-check rules against gnulib sources
3236         * cfg.mk: New file, to disable all currently-failing tests.
3237         We'll enable them one by one, as they are made to pass.
3238         * Makefile (sc_maint): New rule.
3239
3240 2012-01-21  Bruno Haible  <bruno@clisp.org>
3241
3242         stdint: Add support for Android.
3243         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3244         include the system's <stdint.h>.
3245         Reported by Simon Josefsson <simon@josefsson.org>.
3246
3247 2012-01-19  Jim Meyering  <meyering@redhat.com>
3248
3249         bootstrap: add bootstrap_post_import_hook
3250         Bison does still need something like the gnulib_mk_hook whose
3251         invocation I had to remove along with slurp in commit 767ccd40.
3252         Technically, we could get along without it, but doing so would
3253         have required living with a warning and a mandatory post-bootstrap
3254         automake rerun.
3255         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3256         (bootstrap_post_import_hook): New function.
3257         Invoke it after gnulib-tool --import and before autoreconf.
3258
3259 2012-01-18  Jim Meyering  <meyering@redhat.com>
3260
3261         gitlog-to-changelog: don't use "no_"-prefixed variable name
3262         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3263         to enable both --cluster and --no-cluster.  Change variable name,
3264         s/\$no_cluster/$cluster/, and reverse usage to match.
3265
3266         gitlog-to-changelog: use "||", not "or" in expressions
3267         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3268         expressions.
3269
3270 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3271
3272         gitlog-to-changelog: new option --no-cluster
3273         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3274         clustering of adjacent commit messages.
3275
3276 2012-01-17  Jim Meyering  <meyering@redhat.com>
3277
3278         maint: spell file systems with two words, not one
3279         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3280         two words, not one.
3281
3282 2012-01-16  Jim Meyering  <meyering@redhat.com>
3283
3284         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3285         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3286
3287 2012-01-16  Eric Blake  <eblake@redhat.com>
3288
3289         bootstrap: cater to autoconf 2.59
3290         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3291         is not available.
3292
3293         bootstrap: properly check for libtool
3294         * build-aux/bootstrap (libtoolize): Also run libtool when older
3295         usage is detected.
3296
3297 2012-01-15  Bruno Haible  <bruno@clisp.org>
3298
3299         Improve support for MSVC 9.
3300         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3301         clashes on MSVC.
3302         * lib/fcntl.in.h: Likewise.
3303         * lib/stdlib.in.h: Likewise.
3304         * lib/sys_stat.in.h: Likewise.
3305
3306 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3307
3308         gnupload: we hold the master copy of this script now
3309         For motivation and more information, see:
3310         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3311         * build-aux/gnupload: Make it clear in the heading comments that the
3312         master copy of this file is maintained by gnulib.  Since we are at
3313         it, bump its copyright year and ...
3314         ($scriptversion): ... the date in its version.
3315         ($usage): Patches and bug reports should be sent to the gnulib list,
3316         not the automake one.
3317         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3318         anymore.
3319
3320 2012-01-15  Bruno Haible  <bruno@clisp.org>
3321
3322         Fix module 'random'.
3323         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3324         initstate, setstate are declared.
3325
3326 2012-01-14  Bruno Haible  <bruno@clisp.org>
3327
3328         Tests for module 'random'.
3329         * modules/random-tests: New file.
3330         * tests/test-random.c: New file, based on tests/test-random_r.c.
3331
3332         New module 'random'.
3333         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
3334         declarations.
3335         * lib/random.c: New file, based on glibc/stdlib/random.c.
3336         * m4/random.m4: New file.
3337         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
3338         HAVE_RANDOM.
3339         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
3340         * modules/random: New file.
3341         * config/srclist.txt: Add an entry for random.c.
3342         * doc/posix-functions/random.texi: Mention the 'random' module.
3343         * doc/posix-functions/initstate.texi: Likewise.
3344         * doc/posix-functions/setstate.texi: Likewise.
3345         * doc/posix-functions/srandom.texi: Likewise.
3346
3347 2012-01-12  Bruno Haible  <bruno@clisp.org>
3348
3349         random_r: Use common idioms.
3350         * lib/random_r.c: Include <stdlib.h> first.
3351
3352         random_r: Override incompatible API on AIX, OSF/1.
3353         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3354         Override the system function if REPLACE_RANDOM_R is 1.
3355         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3356         and OSF/1, set REPLACE_RANDOM_R.
3357         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3358         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3359         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3360         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3361         * doc/glibc-functions/random_r.texi: Likewise.
3362         * doc/glibc-functions/setstate_r.texi: Likewise.
3363
3364         random_r: Support for MSVC 9.
3365         * lib/random_r.c: Include stdint.h, not inttypes.h.
3366
3367 2012-01-12  Eric Blake  <eblake@redhat.com>
3368
3369         inet_ntop: guard extra work by IF_LINT
3370         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3371         better code generation when not checking for warnings.
3372         Suggested by Paul Eggert and Jim Meyering.
3373
3374         strptime: fix regression on mingw
3375         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3376         Fix regression.  Reported by Bruno Haible.
3377
3378 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3379             Bruno Haible  <bruno@clisp.org>
3380
3381         copy-file: add error-code-returning variant.
3382         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3383         (qcopy_file_preserving): New declaration.
3384         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3385         copy_file_preserving. Change return type to 'int'. Don't emit an error
3386         message here.
3387         (copy_file_preserving): New function.
3388         * tests/test-copy-file.c: Include <stdlib.h>.
3389         (main): Test qcopy_file_preserving if the environment variable
3390         NO_STDERR_OUTPUT is set.
3391         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3392         with NO_STDERR_OUTPUT
3393         * tests/test-copy-file-2.sh: Likewise.
3394
3395 2012-01-10  Bruno Haible  <bruno@clisp.org>
3396
3397         copy-file: Use 'quote' module consistently.
3398         * lib/copy-file.c (copy_file_preserving): Use quote().
3399
3400         copy-file: Refactor.
3401         * lib/copy-file.c: Include quote.h.
3402         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3403         message here.
3404         * modules/copy-file (Depends-on): Add quote.
3405
3406         acl: Export qcopy_acl.
3407         * lib/acl.h (qcopy_acl): New declaration.
3408         * lib/copy-acl.c (qcopy_acl): Make non-static.
3409
3410         acl: Rename a local variable.
3411         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3412
3413         acl: Align return values of copy_acl and qcopy_acl.
3414         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3415         maybe < -1.
3416
3417 2012-01-11  Eric Blake  <eblake@redhat.com>
3418
3419         strptime: silence gcc warnings
3420         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3421         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3422         Reported by Daniel P. Berrange.
3423
3424         inet_ntop: silence gcc warning
3425         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3426         Reported by Daniel P. Berrange.
3427
3428 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3429
3430         getloadavg test: skip the test on GNU/Linux without /proc mounted
3431         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3432         file.  When /proc is not mounted, it always fails with ENOENT.
3433         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3434         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3435
3436 2012-01-10  Bruno Haible  <bruno@clisp.org>
3437
3438         regex: Avoid link error on MSVC 9.
3439         * modules/regex (Depends-on): Add wctype.
3440
3441 2012-01-10  Bruno Haible  <bruno@clisp.org>
3442
3443         doc: Mention --with-tests option.
3444         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3445         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3446         --with-tests.
3447         Reported by Reuben Thomas.
3448
3449 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3450
3451         users.txt: order package names lexicographically.
3452         * users.txt: Order package names lexicographically.
3453
3454 2012-01-10  Jim Meyering  <meyering@redhat.com>
3455
3456         maint.mk: fix description in comment
3457         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3458
3459         ignore-value: remove deprecated ignore_ptr function
3460         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3461         * NEWS: Note this.
3462
3463 2012-01-09  Jim Meyering  <meyering@redhat.com>
3464
3465         test-init.sh: avoid a subshell
3466         * tests/test-init.sh: Remove protective subshell.
3467         Suggested by Bernhard Voelker.  While a subshell is normally
3468         required to protect against older shells (Solaris, FreeBSD) that
3469         warn about a missing program before performing redirection, the
3470         shell-selection tests performed by init.sh probably exclude any
3471         offending shell.
3472
3473 2012-01-08  Bruno Haible  <bruno@clisp.org>
3474
3475         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3476         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3477         variable.
3478
3479 2012-01-08  Bruno Haible  <bruno@clisp.org>
3480
3481         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3482         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3483         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3484         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3485         macro.
3486         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3487         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3488         * lib/spawn_faction_addopen.c: Add workaround implementation if
3489         HAVE_WORKING_POSIX_SPAWN.
3490         * modules/spawn (Makefile): Substitute
3491         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3492         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3493         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3494         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3495         (Depends-on): Update conditions.
3496         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3497         the Solaris 11 bug.
3498
3499 2012-01-08  Bruno Haible  <bruno@clisp.org>
3500
3501         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3502         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3503         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3504         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3505         macro.
3506         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3507         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3508         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3509         HAVE_WORKING_POSIX_SPAWN.
3510         * modules/spawn (Makefile): Substitute
3511         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3512         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3513         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3514         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3515         (Depends-on): Update conditions.
3516         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3517         the Solaris 11 bug.
3518
3519 2012-01-08  Bruno Haible  <bruno@clisp.org>
3520
3521         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3522         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3523         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3524         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3525         HAVE_WORKING_POSIX_SPAWN.
3526         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3527         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3528         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3529         * lib/spawn_faction_addclose.c: Add workaround implementation if
3530         HAVE_WORKING_POSIX_SPAWN.
3531         * modules/spawn (Makefile): Substitute
3532         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3533         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3534         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3535         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3536         (Depends-on): Update conditions.
3537         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3538         the Solaris 11 bug.
3539
3540 2012-01-08  Bruno Haible  <bruno@clisp.org>
3541
3542         doc: Update for Solaris 11 2011-11.
3543         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3544         * m4/printf.m4: Update comments.
3545
3546 2012-01-08  Bruno Haible  <bruno@clisp.org>
3547
3548         mktime: Avoid compilation error on Solaris 11.
3549         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3550
3551 2012-01-08  Bruno Haible  <bruno@clisp.org>
3552
3553         doc: Small fix.
3554         * doc/posix-headers/nl_types.texi: Correct platforms list.
3555
3556 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3557
3558         Add lgpl-3.0 module.
3559         * MODULES.html.sh (Support for building documentation): Add
3560         lgpl-3.0.
3561         * modules/lgpl-3.0: New file.
3562
3563 2012-01-08  Jim Meyering  <meyering@redhat.com>
3564
3565         select.c: indent with spaces, not TABs
3566         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3567
3568 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3569
3570         quotearg: do not use grave accent for left quote
3571         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3572         locale_quoting_style.
3573         (quotearg_buffer_restyled): Fix example.
3574         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3575
3576 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3577
3578         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3579         Most programs do not have translation catalogs for English and much
3580         less separate catalogs for British and American English.  Drop the
3581         suggestion to translators about these two, and provide it
3582         automatically for Unicode locales.  Like most programs, even those
3583         using American English, we use single quotation marks.  This conflicts
3584         with the American typographic convention, but works better when you
3585         cite the entire error message within double quotes.  It also tries not
3586         to clash with established practice and with what non-gnulib programs
3587         will usually do.
3588         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3589         using an UTF-8 or GB-18030 locale.  The list of other locales with
3590         quotes was provided by Bruno Haible.
3591         (quotearg_buffer_restyled): Adjust instructions to translators.
3592         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3593         text, since this would be wrong when using Unicode.
3594         * modules/quotearg: Depend on c-strcaseeq.
3595
3596 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3597
3598         quotearg: fix Wikipedia link
3599         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3600
3601 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3602
3603         Fix for mingw with MSVC9.
3604         * m4/ld-version-script.m4: Check that compiler rejects version
3605         scripts with syntax errors.  Reported by Bruno Haible
3606         <bruno@clisp.org>.
3607
3608 2012-01-06  Bruno Haible  <bruno@clisp.org>
3609
3610         Talk about "native Windows API", not "Woe32".
3611         * lib/accept4.c: Update comments to mention native Windows.
3612         * lib/execute.c: Likewise.
3613         * lib/fatal-signal.c: Likewise.
3614         * lib/localcharset.c: Likewise.
3615         * lib/nanosleep.c: Likewise.
3616         * lib/nl_langinfo.c: Likewise.
3617         * lib/pclose.c: Likewise.
3618         * lib/pipe-filter-gi.c: Likewise.
3619         * lib/pipe-filter-ii.c: Likewise.
3620         * lib/pipe.c: Likewise.
3621         * lib/pipe2.c: Likewise.
3622         * lib/popen.c: Likewise.
3623         * lib/progreloc.c: Likewise.
3624         * lib/relocatable.c: Likewise.
3625         * lib/sigaction.c: Likewise.
3626         * lib/sigprocmask.c: Likewise.
3627         * lib/spawn-pipe.h: Likewise.
3628         * lib/spawn-pipe.c: Likewise.
3629         * lib/spawni.c: Likewise.
3630         * lib/stat-time.h: Likewise.
3631         * lib/w32spawn.h: Likewise.
3632         * tests/test-isatty.c: Likewise.
3633         * lib/config.charset: More comments.
3634         * doc/gnulib-intro.texi: Mention native Windows.
3635         * doc/posix-functions/_Exit_C99.texi: Likewise.
3636         * doc/posix-headers/fcntl.texi: Likewise.
3637
3638 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3639
3640         argp: Avoid crash if translator uses % characters in a translation.
3641         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3642         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3643
3644 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3645
3646         doc: C11 and C++11 are now official
3647         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3648         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3649         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3650         * modules/stdalign:
3651         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3652
3653 2012-01-06  Bruno Haible  <bruno@clisp.org>
3654
3655         uc-is-grapheme-break tests: Tweak.
3656         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3657         message.
3658
3659 2012-01-06  Bruno Haible  <bruno@clisp.org>
3660
3661         test-init.sh: correct the test for diff -u
3662         * tests/test-init.sh: Also redirect stdout to /dev/null.
3663
3664 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3665
3666         Use ', not `, for quoting output.
3667         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3668         (print_changelog_deltas, get_tool_versions, main program):
3669         * build-aux/git-version-gen:
3670         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3671         * build-aux/move-if-change (help):
3672         * build-aux/useless-if-before-free (usage, main program):
3673         * check-module (parse_module_file, usage)
3674         (find_included_lib_files, check_module):
3675         * lib/argmatch.c (main) [TEST]:
3676         * lib/argp-help.c (_help):
3677         * lib/getopt1.c (main) [TEST]:
3678         * lib/git-merge-changelog.c (usage):
3679         * lib/xstrtol-error.c (xstrtol_error):
3680         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3681         * m4/argz.m4 (gl_FUNC_ARGZ):
3682         * m4/bison.m4 (gl_BISON):
3683         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3684         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3685         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3686         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3687         * m4/gc-random.m4 (gl_GC_RANDOM):
3688         * m4/intl.m4 (gt_CHECK_DECL):
3689         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3690         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3691         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3692         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3693         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3694         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3695         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3696         * tests/test-dirname.c (main):
3697         * tests/test-getpass.c (main):
3698         * tests/test-iconvme.c (main):
3699         * tests/test-parse-datetime.c (LOG):
3700         * tests/test-xstrtoimax.sh:
3701         * tests/test-xstrtol.sh:
3702         * tests/test-xstrtoll.sh:
3703         * tests/test-xstrtoumax.sh:
3704         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3705         * top/GNUmakefile (abort-due-to-no-makefile):
3706         Quote 'like this', not `like this', as per the recent change to
3707         the GNU coding standards.
3708
3709 2012-01-05  Bruno Haible  <bruno@clisp.org>
3710
3711         strtoimax: Don't force a replacement on systems where intmax_t is int.
3712         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3713         'intmax_t' is not larger than 'int'.
3714         Reported by Pádraig Brady <P@draigBrady.com>.
3715
3716 2012-01-05  Bruno Haible  <bruno@clisp.org>
3717
3718         doc: Mention NetBSD bugs.
3719         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3720         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3721
3722 2012-01-05  Bruno Haible  <bruno@clisp.org>
3723
3724         strtoumax tests: Enhance tests.
3725         * tests/test-strtoumax.c (main): Add tests for large values.
3726
3727 2012-01-05  Bruno Haible  <bruno@clisp.org>
3728
3729         strtoimax: Work around AIX 5.1 bug.
3730         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3731         definition.
3732         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3733         Set HAVE_STRTOIMAX.
3734         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3735         REPLACE_STRTOIMAX.
3736         * modules/inttypes-incomplete (Makefile.am): Substitute
3737         REPLACE_STRTOIMAX.
3738         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3739         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3740         (Depends-on): Update conditions.
3741         * tests/test-strtoimax.c (main): Add tests for large values.
3742         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3743
3744 2012-01-05  Bruno Haible  <bruno@clisp.org>
3745
3746         inttypes: Modernize.
3747         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3748         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3749         (Makefile.am): Update inttypes.h rule.
3750
3751 2012-01-05  Jim Meyering  <meyering@redhat.com>
3752
3753         init.sh: don't waste a subshell just to redirect stderr
3754         * tests/init.sh: In testing for diff -u and diff -c, use a
3755         stderr-redirecting exec inside `...` rather than a subshell.
3756
3757         test-init.sh: avoid failure on HP-UX 11.00
3758         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3759         resolves to diff -c or cmp.  Reported by Bruno Haible.
3760
3761 2012-01-05  Bruno Haible  <bruno@clisp.org>
3762
3763         Tests for module 'strtoull'.
3764         * modules/strtoull-tests: New file.
3765         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3766
3767 2012-01-05  Bruno Haible  <bruno@clisp.org>
3768
3769         Tests for module 'strtoll'.
3770         * modules/strtoll-tests: New file.
3771         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3772
3773 2012-01-05  Bruno Haible  <bruno@clisp.org>
3774
3775         Tests for module 'strtoul'.
3776         * modules/strtoul-tests: New file.
3777         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3778
3779 2012-01-05  Bruno Haible  <bruno@clisp.org>
3780
3781         Tests for module 'strtol'.
3782         * modules/strtol-tests: New file.
3783         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3784
3785 2012-01-04  Jim Meyering  <meyering@redhat.com>
3786
3787         test-init.sh: accommodate Solaris 5.10's different diff -u output
3788         * tests/test-init.sh: Also exempt @@ lines from the comparison
3789         of diff output, since Solaris 5.10 and GNU diff formats differ.
3790         Reported by Stefano Lattarini.
3791
3792 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3793
3794         test-posixtm: don't assume signed integer wraparound
3795         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3796         after signed integer overflow.  Inspired by (though it may not
3797         fix) Bruno Haible's bug report in
3798         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3799
3800         Spell out "Windows 9x" and "Windows XP".
3801         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3802         "Windows 9x" and "WinXP" with "Windows XP".
3803
3804 2012-01-04  Jim Meyering  <meyering@redhat.com>
3805
3806         test-vc-list-files-cvs.sh: remove obsolete comment
3807         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3808         double exit.  Now that's all encapsulated via skip_ and Exit.
3809
3810 2012-01-04  Bruno Haible  <bruno@clisp.org>
3811
3812         Talk about "native Windows API", not "Win32".
3813         * lib/classpath.c: Update comments to mention native Windows.
3814         * lib/csharpexec.c: Likewise.
3815         * lib/dup2.c: Likewise.
3816         * lib/error.c: Likewise.
3817         * lib/fcntl.c: Likewise.
3818         * lib/filename.h: Likewise.
3819         * lib/findprog.c: Likewise.
3820         * lib/get-rusage-as.c: Likewise.
3821         * lib/get-rusage-data.c: Likewise.
3822         * lib/getpagesize.c: Likewise.
3823         * lib/javaexec.c: Likewise.
3824         * lib/msvc-inval.c: Likewise.
3825         * lib/msvc-nothrow.c: Likewise.
3826         * lib/nanosleep.c: Likewise.
3827         * lib/nonblocking.c: Likewise.
3828         * lib/printf-parse.c: Likewise.
3829         * lib/setlocale.c: Likewise.
3830         * lib/sigaction.c: Likewise.
3831         * lib/strerror_r.c: Likewise.
3832         * lib/tmpdir.c: Likewise.
3833         * lib/vasnprintf.c: Likewise.
3834         * lib/w32spawn.h: Likewise.
3835         * lib/waitpid.c: Likewise.
3836         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3837         * m4/locale-ar.m4: Likewise.
3838         * m4/locale-fr.m4: Likewise.
3839         * m4/locale-ja.m4: Likewise.
3840         * m4/locale-tr.m4: Likewise.
3841         * m4/locale-zh.m4: Likewise.
3842         * m4/printf.m4: Likewise.
3843         * tests/test-cloexec.c: Likewise.
3844         * tests/test-copy-acl.sh: Likewise.
3845         * tests/test-copy-file.sh: Likewise.
3846         * tests/test-file-has-acl.sh: Likewise.
3847         * tests/test-set-mode-acl.sh: Likewise.
3848         * tests/test-dup-safer.c: Likewise.
3849         * tests/test-dup2.c: Likewise.
3850         * tests/test-dup3.c: Likewise.
3851         * tests/test-fcntl.c: Likewise.
3852         * tests/test-nonblocking-pipe.h: Likewise.
3853         * tests/test-nonblocking-socket.h: Likewise.
3854         * tests/test-pipe.c: Likewise.
3855         * tests/test-pipe2.c: Likewise.
3856         * tests/test-spawn-pipe-child.c: Likewise.
3857         * doc/acl-resources.txt: Likewise.
3858         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3859         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3860         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3861         * lib/localcharset.c: Update comments to mention native Windows.
3862         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3863         * lib/localename.c: Likewise.
3864         * lib/progreloc.c: Likewise.
3865         * lib/relocatable.c: Likewise.
3866         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3867         (windows_compute_revents): Renamed from win32_compute_revents.
3868         (windows_compute_revents_socket): Renamed from
3869         win32_compute_revents_socket.
3870         * lib/select.c: Update comments to mention native Windows.
3871         (windows_poll_handle): Renamed from win32_poll_handle.
3872         * m4/threadlib.m4: Update comments to mention native Windows.
3873         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3874         --enable-threads=windows instead of --enable-threads=win32. Set
3875         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3876         * lib/glthread/lock.h: Update comments to mention native Windows.
3877         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3878         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3879         USE_WIN32_THREADS.
3880         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3881         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3882         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3883         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3884         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3885         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3886         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3887         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3888         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3889         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3890         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3891         * tests/test-tls.c: Likewise.
3892         Rationale:
3893         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3894         on both 32-bit and 64-bit Windows systems.
3895         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3896         line of distinction is between "native Windows" on one side and Unix/
3897         POSIX systems on the other side. More details in
3898         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3899         Suggested by Paul Eggert.
3900
3901 2012-01-03  Bruno Haible  <bruno@clisp.org>
3902
3903         isatty: Support for MSVC 9.
3904         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3905         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3906         (_isatty_nothrow): New function.
3907         (isatty): Use it instead of _isatty.
3908         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3909         * lib/poll.c (IsConsoleHandle): Likewise.
3910         * lib/select.c (IsConsoleHandle): Likewise.
3911         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3912         (gl_PREREQ_ISATTY): New macro.
3913         * modules/isatty (Depends-on): Add msvc-inval.
3914         (configure.ac): Invoke gl_PREREQ_ISATTY.
3915
3916 2012-01-03  Jim Meyering  <meyering@redhat.com>
3917
3918         maint.mk: remove temporary transition aid from over 1.5 years ago
3919         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3920         purpose was to aid in the transition (avoiding silent malfunction)
3921         from that old name to the new _sc_search_regexp.  This shim was
3922         added by commit 219c504b.
3923
3924         init.sh: do not try to accommodate compare arguments starting with "-"
3925         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3926         compare arguments that start with "-".  Besides, we do not worry
3927         about this when invoking diff or cmp; why start now with sed?
3928         Using "--" to separate options from argument would trigger sed
3929         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3930         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3931
3932 2012-01-02  Bruno Haible  <bruno@clisp.org>
3933
3934         Enhance tests for module 'isatty'.
3935         * modules/isatty-tests (Depends-on): Add pipe-posix.
3936         * tests/test-isatty.c: Include <fcntl.h>.
3937         (DEV_NULL): New macro.
3938         (main): Test the resut of isatty() also on regular files, pipes, and
3939         /dev/null.
3940
3941         New module 'isatty'.
3942         * lib/unistd.in.h (isatty): New declaration.
3943         * lib/isatty.c: New file, based on an idea of
3944         Bastien Roucariès <roucaries.bastien@gmail.com>.
3945         * m4/isatty.m4: New file.
3946         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3947         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3948         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3949         REPLACE_ISATTY.
3950         * modules/isatty: New file.
3951         * doc/posix-functions/isatty.texi: Mention the new module.
3952         Suggested by Paolo Bonzini.
3953
3954 2012-01-02  Bruno Haible  <bruno@clisp.org>
3955
3956         canonicalize: Tweak 2011-12-29 commit.
3957         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3958         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3959
3960 2012-01-02  Jim Meyering  <meyering@redhat.com>
3961
3962         gitlog-to-changelog: describe input syntax in --help output
3963         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3964
3965         gitlog-to-changelog: fix typo in --help: show backslash before email @
3966         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3967         in sources, but not in actual output.
3968
3969 2011-12-30  Jim Meyering  <meyering@redhat.com>
3970
3971         gitlog-to-changelog: don't malfunction when name contains %-directive
3972         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3973         in a name string cause trouble.  E.g., with a user name of "%s",
3974         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3975
3976 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3977
3978         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3979         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3980         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3981         the "  (tiny change)" notation that is appended to the standard
3982         ChangeLog "date  name  email" header line.
3983
3984 2012-01-01  Jim Meyering  <meyering@redhat.com>
3985
3986         test-framework-sh: init.sh: fix "make dist" failure
3987         When using gnulib-tool's --with-tests option and any module that
3988         depends on test-framework-sh, "make dist" would fail due to the
3989         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3990         in the gltests directory, and not in the gllib/ directory.
3991         One way to work around that is to move the EXTRA_DIST += init.sh
3992         from the primary module to the -tests one:
3993         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3994         * modules/test-framework-sh (Makefile.am): ...not here.
3995         Reported by Tom G. Christensen in
3996         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3997
3998         version-etc: update copyright year reported by --version
3999         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
4000
4001 2011-12-31  Pádraig Brady  <P@draigBrady.com>
4002
4003         canonicalize: only stat() if required
4004         * lib/canonicalize.c (canonicalize_filename_mode):
4005         Avoid calling l?stat() when both CAN_MISSING,
4006         and CAN_NOLINKS are set, as we neither need
4007         to resolve symlinks or test component existence.
4008
4009 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
4010
4011         doc: cover st_ino issues once; add OpenVMS etc.
4012         * doc/posix-functions/stat.texi (stat):
4013         * doc/posix-functions/lstat.texi (lstat):
4014         * doc/posix-functions/fstatat.texi (fstatat):
4015         * doc/posix-functions/fstat.texi (fstat):
4016         Move general 'struct stat' stuff to sys_stat.texi,
4017         leaving behind a pointer.
4018         * doc/posix-headers/sys_stat.texi (sys/stat.h):
4019         Merge duplicate info about 'struct stat' problems into here.
4020         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
4021         and suggest partial workarounds.
4022
4023         same-inode: port to OpenVMS
4024         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
4025         three st_ino values.
4026
4027 2011-12-30  Pádraig Brady  <P@draigBrady.com>
4028
4029         canonicalize: fix references to stat() and lstat()
4030         * lib/canonicalize.c (canonicalize_filename_mode):
4031         Ensure references always resolve to a replacement
4032         function if required (even via a macro).
4033
4034 2011-12-30  Jim Meyering  <meyering@redhat.com>
4035
4036         gitlog-to-changelog: remove a little duplication
4037         * build-aux/gitlog-to-changelog (main): Grep @lines once,
4038         rather than twice.
4039
4040 2011-12-29  Pádraig Brady  <P@draigBrady.com>
4041
4042         canonicalize: add support for not resolving symlinks
4043         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
4044         indicate we don't want to follow symlinks.  Also
4045         provide CAN_MODE_MASK to aid setting these existing
4046         mutually exclusive values.
4047         * lib/canonicalize.c (canonicalize_filename_mode):
4048         Extract the flags from can_mode parameter, which
4049         are currently just used to select between stat()
4050         and lstat().  Also ensure that mutually exclusive
4051         values are flagged immediately as invalid.
4052         * tests/test-canonicalize.c: Verify symlinks are
4053         not followed, and that invalid flag combinations
4054         are diagnosed.
4055
4056 2011-12-25  Jim Meyering  <meyering@redhat.com>
4057
4058         gitlog-to-changelog: do not clump multi-paragraph entries
4059         Identical header lines (date,name,email+coauthors) are suppressed,
4060         thus putting all entries with those same characteristics under
4061         a single header.  However, when a log entry consists of two or
4062         more paragraphs, it may not be clear where it starts and ends.
4063         This change makes it so that such an entry is always separated
4064         from others by a header line, even when that header would
4065         otherwise be suppressed.
4066         * build-aux/gitlog-to-changelog: Implement the above.
4067         Inspired by a related request from Stefano Lattarini in
4068         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
4069
4070 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4071
4072         announce-gen: fix `cmd' typo in diagnostic
4073         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
4074         diagnostic: a missing '$' meant that the command was not output.
4075
4076 2011-12-23  Jim Meyering  <meyering@redhat.com>
4077
4078         test-framework-sh: distribute init.sh
4079         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
4080         Otherwise, "make -C gnulib-tests check" (at least in grep) would
4081         fail due to the lack of init.sh.
4082
4083         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
4084         * modules/atexit-tests: Rather than listing tests/init.sh,
4085         now that there's a module for it, simply depend on that new module.
4086         * modules/closein-tests: Likewise.
4087         * modules/exclude-tests: Likewise.
4088         * modules/getcwd-tests: Likewise.
4089         * modules/perror-tests: Likewise.
4090         * modules/pread-tests: Likewise.
4091         * modules/pwrite-tests: Likewise.
4092         * modules/vc-list-files-tests: Likewise.
4093         * modules/verify-tests: Likewise.
4094         * modules/xalloc-die-tests: Likewise.
4095         * modules/xstrtoimax-tests: Likewise.
4096         * modules/xstrtol-tests: Likewise.
4097         * modules/xstrtoll-tests: Likewise.
4098         * modules/xstrtoumax-tests: Likewise.
4099         * modules/yesno-tests: Likewise.
4100
4101 2011-12-22  Jim Meyering  <meyering@redhat.com>
4102
4103         test-framework-sh: add minimal tests of init.sh's compare function
4104         * modules/test-framework-sh-tests: New file.
4105         * tests/test-init.sh: New file.
4106
4107         test-framework-sh: new module
4108         * modules/test-framework-sh: New file.
4109         * MODULES.html.sh (Support for maintaining and releasing projects):
4110         List it.
4111
4112         init.sh: do not emit simulated diff output to stderr
4113         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
4114
4115 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4116
4117         .gitignore: ignore gnulib.dvi and regex.info
4118         * doc/.gitignore:add gnulib.dvi and regex.info
4119
4120 2011-12-22  Jim Meyering  <meyering@redhat.com>
4121
4122         init.sh: correct previous change
4123         * tests/init.sh (compare): My previous change was wrong.
4124         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
4125
4126         init.sh: avoid unwarranted test failure when using "set -e"
4127         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
4128         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
4129         a use like "compare exp out" would get evoke an unconditional failure.
4130
4131 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
4132
4133         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
4134         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
4135         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
4136         autoreconf that did not.
4137         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
4138         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4139
4140 2011-12-17  Jim Meyering  <meyering@redhat.com>
4141
4142         bootstrap: remove some now-unneeded code
4143         This script arose back when gnulib-tool was young.
4144         Since then, it has seen improvements that render much of this
4145         script unnecessary.  In particular, it can now make symlinks
4146         to the files it uses.  Also, I no longer see as much value in
4147         marking files as read-only via comments.
4148         If you relied on the symlink-creation feature of the preceding
4149         version of this script, you can get most of that functionality
4150         by adding the --symlink option to the definition of
4151         gnulib_tool_option_extras in your bootstrap.conf file.
4152         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
4153         Run autopoint and libtoolize *before* gnulib-tool.
4154         After it, run an abbreviated autoreconf, rather than a loop around
4155         all tools.
4156         (slirp, bt_mark_as_generated): Remove functions.
4157
4158 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
4159
4160         ftoastr: fix typo
4161         * lib/ftoastr.h: Fix misspelling in comment.
4162
4163 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
4164
4165         * top/README-release: fix punctuation.
4166
4167 2011-12-17  Jim Meyering  <meyering@redhat.com>
4168
4169         bootstrap: correct the recent buildreq change
4170         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
4171         had no effect.
4172         * build-aux/bootstrap (buildreq): Bracket each search term with
4173         "*...*", so that the shell "case" statement works as intended.
4174         Add comments.
4175
4176 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
4177
4178         build: let bootstrap resort to wget when downloading .po files
4179         * build-aux/bootstrap (download_po_files): Fallback to wget when
4180         downloading the .po files via rsync fails.  This is necessary to
4181         bootstrap from behind a strict firewall.
4182
4183 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4184
4185         stdint: don't assume C++11 when compiling with g++
4186         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
4187         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
4188         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
4189         work also in C++ before C++11, as that improperly inhibits
4190         generating a substitute stdint.h for that case.
4191
4192 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4193
4194         alloca: protect comment from gnulib-tool
4195         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
4196         that gnulib-tool doesn't think it's a license, and munge it to
4197         say "GCC version 3".
4198
4199 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
4200
4201         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
4202         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
4203         $(abs_top_builddir) instead of $(top_builddir).
4204
4205 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
4206
4207         strftime-tests: also test nanoseconds
4208         * tests/test-strftime.c (T): Add a test of %N.
4209
4210 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
4211
4212         inttypes, stdint: add C++11 support
4213         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
4214         when including inttypes.h and stdint.h.  Support this change to
4215         the standard.
4216         * doc/posix-headers/inttypes.texi (inttypes.h):
4217         * doc/posix-headers/stdint.texi (stdint.h): Document this.
4218         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
4219         Define if not defined already, for the benefit of pre-C++11 hosts.
4220         Define the standard format macros (e.g., PRId8) always.
4221         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
4222         Likewise, if __cpluspus.  Define the standard constant and limit
4223         macros (e.g., INT8_C, INT8_MAX) always.
4224         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
4225         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
4226         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
4227         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
4228         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
4229         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
4230         Likewise.
4231
4232 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4233
4234         nonblocking tests: Fix test failure on Linux/PPC.
4235         Suggested by Prerna Saxena in
4236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4237         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4238         Set to 1100000.
4239
4240 2011-12-12  Jim Meyering  <meyering@redhat.com>
4241
4242         argmatch: don't hard-code `' when listing valid option arguments
4243         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4244         use the quote function to add quotes.  Use fputs rather than
4245         fprintf for the format string with no format directive.
4246
4247 2011-12-07  Eric Blake  <eblake@redhat.com>
4248
4249         bootstrap: detect tools required by gnulib-tool
4250         * build-aux/bootstrap (buildreq): Provide minimum implicit
4251         dependencies.
4252         * DEPENDENCIES: Mention patch as a prereq.
4253
4254 2011-12-04  Bruno Haible  <bruno@clisp.org>
4255
4256         sethostname: Port to Windows platforms.
4257         * lib/sethostname.c: Provide an alternate implementation for Windows
4258         platforms.
4259         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4260         (main): Skip the test if sethostname() fails with EPERM. On Windows
4261         platforms, don't check the result of gethostname().
4262
4263 2011-12-04  Bruno Haible  <bruno@clisp.org>
4264             Jim Meyering  <meyering@redhat.com>
4265
4266         tests: Avoid spurious error message on platforms without mktemp program.
4267         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4268
4269 2011-12-04  Bruno Haible  <bruno@clisp.org>
4270
4271         sethostname: Fix documentation.
4272         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4273         "not fixed" section.
4274
4275 2011-12-03  Bruno Haible  <bruno@clisp.org>
4276
4277         gnulib-tool: Verify that the License field is present and non-empty.
4278         * gnulib-tool (func_get_license_raw): New function, extracted from
4279         func_get_license.
4280         (func_get_license): Use it. Warn if the module is not a test module and
4281         has no license.
4282         Suggested by Jim Meyering.
4283
4284 2011-12-03  Bruno Haible  <bruno@clisp.org>
4285
4286         sethostname tests: Fix link error on mingw.
4287         * tests/test-sethostname1.c: New file, extracted from
4288         tests/test-sethostname.c.
4289         * tests/test-sethostname2.c: New file, extracted from
4290         tests/test-sethostname.c.
4291         * tests/test-sethostname.c: Remove file.
4292         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4293         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4294         (Depends-on): Add gethostname.
4295         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4296         Link the latter with $(GETHOSTNAME_LIB).
4297
4298         sethostname tests: Fix compilation error on mingw.
4299         * tests/test-sethostname.c: Don't include <sys/types.h>.
4300         (geteuid): Use a dummy value without uid_t.
4301         * modules/sethostname-tests (Depends-on): Remove sys_types.
4302
4303         sethostname tests: Avoid a gcc warning.
4304         * tests/test-sethostname.c (main): Remove an unused variable.
4305
4306         Tweak last commit.
4307         * modules/sethostname-tests (Files): Sort by decreasing importance.
4308         (configure.ac): Check for geteuid.
4309         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4310         the test when there's nothing to test. Drop an unnecessary cast.
4311         Improve an error message. Verify that the final sethostname() call
4312         succeeds.
4313
4314 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4315
4316         Add a test suite for the sethostname module.
4317         * modules/sethostname-tests: New file.  A test program
4318         for the sethostname module.
4319         * tests/test-sethostname.c: Likewise.
4320
4321 2011-12-03  Bruno Haible  <bruno@clisp.org>
4322
4323         Tweak last commit.
4324         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4325         Fix preprocessor directives indentation. Fix typos.
4326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4327         * modules/unistd (Makefile): Likewise.
4328
4329 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4330
4331         Integrate the sethostname module into unistd.
4332         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
4333         into the unistd.h header.
4334         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
4335         preprocessor directives.
4336         * modules/unistd: Setup the Makefile substitutions of the
4337         SETHOSTNAME preprocessor directives.
4338
4339 2011-12-03  Bruno Haible  <bruno@clisp.org>
4340
4341         Tweak last commit.
4342         * lib/sethostname.c: Don't include <string.h>.
4343         (sethostname): No need to copy the argument string to the stack. Don't
4344         call clearerr. Preserve errno when fprintf failed.
4345         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
4346         Don't invoke AC_REPLACE_FUNCS.
4347         * modules/sethostname (Link): Remove empty section.
4348         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
4349         failure problem.
4350
4351 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4352
4353         New module 'sethostname'.
4354         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4355         for systems that lack it.
4356         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4357         sethostname declaration and function.
4358         * modules/sethostname: New file.  Define the sethostname module.
4359
4360 2011-12-03  Bruno Haible  <bruno@clisp.org>
4361
4362         Tweak last commit.
4363         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4364
4365 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4366
4367         Split the HOST_NAME_MAX detection into a separate m4 macro.
4368         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4369         macro so it can be used by the pending sethostname module.
4370
4371 2011-12-03  Bruno Haible  <bruno@clisp.org>
4372
4373         Fix module descriptions syntax.
4374         * modules/argv-iter (License): Fix syntax.
4375         * modules/di-set (License): Likewise.
4376         * modules/ino-map (License): Likewise.
4377         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4378
4379 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4380
4381         stdalign: port to Clang 3.0
4382         Problem reported by Simon Josefsson in
4383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4384         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4385         which has <stdalign.h> but which does not define alignof.
4386         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4387
4388 2011-12-01  Eric Blake  <eblake@redhat.com>
4389
4390         mktempd: silence dd usage
4391         * build-aux/mktempd (rand_bytes): Silence dd.
4392
4393 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4394
4395         manywarnings: Don't mention gcc version in docstring.
4396         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4397         Jim Meyering <meyering@redhat.com>.
4398
4399 2011-11-30  Jim Meyering  <meyering@redhat.com>
4400
4401         hash: mark a few floating point constants with "f" suffix
4402         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4403         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4404         floating point constants with "f", since they're destined to be
4405         saved/used as "float"s.
4406
4407 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4408
4409         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4410         * tests/test-float.c (test_long_double): Correct and re-enable the
4411         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4412
4413 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4414
4415         Avoid subtracting two pointers that don't point into the same block.
4416         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4417         only pointers into the same memory block are subtracted. We cannot
4418         assume that sizeof (ptrdiff_t) == sizeof (void *).
4419
4420 2011-11-29  Eric Blake  <eblake@redhat.com>
4421
4422         maint.mk: add syntax check for use of compare from init.sh
4423         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4424         moved here from coreutils.
4425
4426         manywarnings: drop -Wunsuffixed-float-constants
4427         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4428         '1.0D', which is the only way to silence this warning for 'double'.
4429
4430 2011-11-29  Jim Meyering  <meyering@redhat.com>
4431
4432         hash: mark compute_bucket_size with the pure attribute
4433         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4434
4435         quotearg, propername: correct pragma guard expression
4436         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4437         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4438
4439 2011-11-28  Jim Meyering  <meyering@redhat.com>
4440
4441         propername: do not mark proper_name with the const attribute
4442         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4443         since it examines data pointed to by its parameter.
4444         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4445         the suggestion from -Wsuggest-attribute=const.
4446
4447         propername: mark one more function as const
4448         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4449
4450 2011-11-27  Jim Meyering  <meyering@redhat.com>
4451
4452         mark functions with const and pure attributes
4453
4454         Mark functions per suggestions from gcc-4.6 when using these options:
4455         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4456         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4457         Follow these guidelines: when possible, apply the attribute to
4458         an extern declaration, not to its definition.  Apply it to the
4459         definition only when the definition is static.
4460         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4461         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4462         * lib/base64.h (isbase64): Likewise.
4463         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4464         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4465         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4466         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4467         (c_tolower, c_toupper): Likewise.
4468         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4469         * lib/chdir-long.c (find_non_slash): Likewise.
4470         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4471         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4472         * lib/file-type.h (file_type): Likewise.
4473         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4474         * lib/filevercmp.c (verrevcmp): Likewise.
4475         * lib/freadahead.h (freadahead): Likewise.
4476         * lib/fts.c (fts_maxarglen): Likewise.
4477         * lib/hash-pjw.h (hash_pjw): Likewise.
4478         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4479         * lib/hash.c (is_prime, next_prime): Likewise.
4480         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4481         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4482         (hash_table_ok, hash_get_first, hash_string): Likewise.
4483         (compute_bucket_size): Likewise.
4484         * lib/i-ring.h (i_ring_empty): Likewise.
4485         * lib/isnan.c (isnanl): Likewise.
4486         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4487         * lib/memcasecmp.h (memcasecmp): Likewise.
4488         * lib/memchr2.h (memchr2): Likewise.
4489         * lib/memcmp2.h (memcmp2): Likewise.
4490         * lib/parse-datetime.y (lookup_zone): Likewise.
4491         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4492         [!WINDOWS_SOCKETS]: Likewise.
4493         * lib/strnlen1.h (strnlen1): Likewise.
4494         * lib/uniwidth.in.h (uc_width): Likewise.
4495         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4496         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4497         (quoting_options_from_style): Add a comment.
4498         * lib/propername.h (proper_name): Add a comment.
4499
4500 2011-11-27  Bruno Haible  <bruno@clisp.org>
4501
4502         Remove unused macros from !_LIBC code in glibc-borrowed files.
4503         * lib/fnmatch.c (STRCOLL): Remove macro.
4504         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4505         * lib/glob.c (__stat, __readdir64): Remove macros.
4506         * lib/tempname.c (__open64, __xstat64): Remove macros.
4507         Suggested by Paul Eggert.
4508
4509 2011-11-27  Bruno Haible  <bruno@clisp.org>
4510
4511         getcwd: Fix link error on MSVC 9.
4512         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4513
4514 2011-11-27  Bruno Haible  <bruno@clisp.org>
4515
4516         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4517         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4518         HAVE_OPENDIR is 0.
4519         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4520         HAVE_CLOSEDIR is 0.
4521         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4522         is 0.
4523         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4524
4525 2011-11-27  Bruno Haible  <bruno@clisp.org>
4526
4527         getcwd: Fix bug from 2011-08-17.
4528         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4529         platforms that need it.
4530         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4531         code of 4 to be a failure, not a success. This ensures that
4532         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4533
4534 2011-11-27  Bruno Haible  <bruno@clisp.org>
4535
4536         binary-io tests: Avoid test failure on mingw when libtool is used.
4537         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4538         Don't verify the size of t-bin-out1.tmp here.
4539         * tests/test-binary-io.sh: Verify it here.
4540         Reported by Simon Josefsson.
4541
4542 2011-11-26  Bruno Haible  <bruno@clisp.org>
4543
4544         Fix conflict between two instantiations of module 'unistd'.
4545         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4546         ${include_guard_prefix} also in the autoconf snippet.
4547         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4549         GNULIB_UNISTD_H_GETOPT.
4550         * modules/getopt-posix (configure.ac): Set the
4551         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4552         * modules/getopt-gnu (configure.ac): Likewise.
4553         * modules/unistd (Makefile.am): Change the substitution value of
4554         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4555         Reported by Simon Josefsson.
4556
4557 2011-11-25  Bruno Haible  <bruno@clisp.org>
4558
4559         pagealign_alloc: Doc and comments.
4560         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4561         module.
4562         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4563
4564 2011-11-25  Jim Meyering  <meyering@redhat.com>
4565
4566         test-update-copyright.sh: avoid false-positive failure
4567         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4568         around false positive failure on Cygwin/Windows.  The latter was
4569         matching erroneously-created files with names like
4570         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4571
4572 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4573
4574         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4575         * m4/valgrind-tests.m4: Check that the parameters that will be
4576         used works, not just a subset of them.  Reported by Bruno Haible
4577         <bruno@clisp.org>.
4578
4579 2011-11-24  Jim Meyering  <meyering@redhat.com>
4580
4581         test-stdalign.c: comment out long double tests
4582         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4583         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4584         error: '_Alignas' specifiers cannot reduce alignment of \
4585         'static_longdouble_alignas'.
4586
4587 2011-11-22  Jim Meyering  <meyering@redhat.com>
4588
4589         init.sh: make "compare /dev/null FILE" output more readable
4590         * tests/init.sh (compare_): Document the preferred order of arguments.
4591         (emit_diff_u_header_): New function.
4592         (compare_dev_null_): Emit a simulated diff, rather than just the
4593         contents of the unexpected file.  Suggestion from Bruno Haible.
4594
4595 2011-11-21  Jim Meyering  <meyering@redhat.com>
4596             Eric Blake  <eblake@redhat.com>
4597
4598         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4599         * tests/init.sh: Make our compare function slightly more portable.
4600         Reported by Bruno Haible in
4601         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4602
4603 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4604
4605         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4606         before using it, in code that ends up in config.h.
4607
4608 2011-11-20  Bruno Haible  <bruno@clisp.org>
4609
4610         getcwd: Work around getcwd bug on AIX 5..7.
4611         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4612         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4613         Use a different value for gl_cv_func_getcwd_path_max. Move the
4614         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4615         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4616         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4617         Define HAVE_MINIMALLY_WORKING_GETCWD.
4618         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4619         where it is not even minimally working, that is, on AIX.
4620         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4621         m4/getcwd-path-max.m4.
4622         (main): Update exit code computation.
4623         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4624         getcwd does not handle long file names.
4625
4626 2011-11-20  Bruno Haible  <bruno@clisp.org>
4627
4628         getcwd: Fix bug from 2009-09-10.
4629         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4630         like "no".
4631
4632 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4633
4634         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4635
4636 2011-11-20  Bruno Haible  <bruno@clisp.org>
4637
4638         fma tests: Avoid shadowing local variables.
4639         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4640         expected.
4641
4642 2011-11-20  Bruno Haible  <bruno@clisp.org>
4643
4644         copysignf tests: Fix.
4645         * tests/test-copysignf.c: Fix signature check.
4646
4647 2011-11-20  Bruno Haible  <bruno@clisp.org>
4648
4649         fma: Remove unused code.
4650         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4651         unused macros.
4652
4653 2011-11-20  Bruno Haible  <bruno@clisp.org>
4654
4655         sethostname: Fix doc about AIX.
4656         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4657         sethostname; it has it.
4658
4659         sethostname: Mention more portability problems.
4660         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4661         problem.
4662         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4663
4664 2011-11-19  Bruno Haible  <bruno@clisp.org>
4665
4666         Depend on module fcntl-h when AT_FDCWD is used.
4667         * modules/utimens (Depends-on): Add fcntl-h.
4668         * modules/areadlinkat (Depends-on): Likewise.
4669         * modules/areadlinkat-with-size (Depends-on): Likewise.
4670         * modules/faccessat (Depends-on): Likewise.
4671         * modules/fchmodat (Depends-on): Likewise.
4672         * modules/fchownat (Depends-on): Likewise.
4673         * modules/getcwd (Depends-on): Likewise.
4674         * modules/mkdirat (Depends-on): Likewise.
4675         * modules/mkfifoat (Depends-on): Likewise.
4676         * modules/readlinkat (Depends-on): Likewise.
4677         * modules/symlinkat (Depends-on): Likewise.
4678         * modules/dup2-tests (Depends-on): Likewise.
4679         * modules/fdutimensat-tests (Depends-on): Likewise.
4680         * modules/futimens-tests (Depends-on): Likewise.
4681
4682 2011-11-19  Bruno Haible  <bruno@clisp.org>
4683
4684         euidaccess: Update a comment.
4685         * lib/euidaccess.c: Update comment about platforms with faccessat.
4686
4687 2011-11-19  Bruno Haible  <bruno@clisp.org>
4688
4689         openat: Fix file list.
4690         * modules/openat (Files): Remove lib/at-func.c.
4691
4692 2011-11-19  Bruno Haible  <bruno@clisp.org>
4693
4694         fstatat: Simplify.
4695         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4696         gnulib should define rpl_fstatat, there is a
4697         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4698
4699 2011-11-19  Bruno Haible  <bruno@clisp.org>
4700
4701         Ensure 'inline' can be used in tests/test-utimens-common.h.
4702         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4703         * modules/futimens-tests (configure.ac): Likewise.
4704         * modules/utimens-tests (configure.ac): Likewise.
4705         * modules/utimensat-tests (configure.ac): Likewise.
4706
4707 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4708
4709         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4710         not hash_insert0.
4711         (hash_insert_if_absent): Doc fix.
4712
4713 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4714
4715         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4716
4717 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4718
4719         test-getcwd: disambiguate exit status
4720         * tests/test-getcwd.c (test_long_name): Return 0..7.
4721         (main): Exit with an unambiguous exit status.  The old
4722         code yielded a mysterious mixture of two failure codes.
4723
4724         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4725         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4726         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4727         rpl_fstatat or fstatat.  This should fix the other problem
4728         reported by Kai Habel in
4729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4730         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4731         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4732         and I reproduced it on a Solaris 8 host we still have in production.
4733
4734 2011-11-18  Jim Meyering  <meyering@redhat.com>
4735
4736         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4737         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4738         Add a sentence to the comment.
4739         (hash_insert0): New function that simply calls hash_insert_if_absent.
4740         * lib/hash.h (hash_insert_if_absent): Declare it.
4741         (hash_insert0): Add deprecation attribute.
4742         (_GL_ATTRIBUTE_DEPRECATED): Define.
4743         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4744         not hash_insert0.
4745         * NEWS: Mention it, even though it's not really an incompatible change.
4746
4747 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4748
4749         openat: avoid compilation failure due to lack of <errno.h> inclusion
4750         * lib/openat.c: Include <errno.h>.
4751
4752 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4753
4754         * modules/getcwd (Depends-on): Add fdopendir.
4755         This fixes one of the two problems reported by Kai Habel in
4756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4757
4758         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4759         stdalign problem reported by Ian Beckwith in
4760         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4761         * modules/crypto/gc-arcfour (Depends-on):
4762         Depend conditionally on crypto/arcfour.
4763         * modules/crypto/gc-arctwo (Depends-on):
4764         Depend conditionally on crypto/arctwo.
4765         * modules/crypto/gc-des (Depends-on):
4766         Depend conditionally on crypto/des.
4767         * modules/crypto/gc-hmac-md5 (Depends-on):
4768         Depend conditionally on crypto/hmac-md5.
4769         * modules/crypto/gc-hmac-sha1 (Depends-on):
4770         Depend conditionally on crypto/hmac-sha1.
4771         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4772         * modules/crypto/gc-md4 (Depends-on):
4773         Depend conditionally on crypto/md4.
4774         * modules/crypto/gc-md5 (Depends-on):
4775         Depend conditionally on crypto/md5.
4776         * modules/crypto/gc-rijndael (Depends-on):
4777         Depend conditionally on crypto/rijndael.
4778         * modules/crypto/gc-sha1 (Depends-on):
4779         Depend conditionally on crypto/sha1.
4780         * modules/crypto/gc-arcfour:
4781         * modules/crypto/gc-arctwo:
4782         * modules/crypto/gc-des:
4783         * modules/crypto/gc-hmac-md5:
4784         * modules/crypto/gc-hmac-sha1:
4785         * modules/crypto/gc-md2:
4786         * modules/crypto/gc-md4:
4787         * modules/crypto/gc-md5:
4788         * modules/crypto/gc-rijndael:
4789         * modules/crypto/gc-sha1:
4790         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4791         now that the conditional dependencies do the work for us.
4792
4793 2011-11-17  Jim Meyering  <meyering@redhat.com>
4794
4795         tests: factor st_ctime-comparison out of two headers
4796         * tests/test-utimens-common.h (ctime_compare): Define.
4797         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4798         * tests/test-lutimens.h (test_lutimens): Likewise.
4799         * tests/test-utimens.h (test_utimens): Likewise.
4800
4801         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4802         Invoke the test program via an init.sh-using wrapper.
4803         * tests/test-getcwd.sh: New file.
4804         * modules/getcwd-tests (Files): Add it.
4805         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4806
4807 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4808
4809         gitlog-to-changelog: support multi-author commits.
4810         The FSF cares about keeping track of all authors of patches to its
4811         projects, but Git doesn't provide obvious support for multi-author
4812         changesets. Consensus seems to be forming around the use of extra
4813         Signed-off-by inspired lines in the log message formatted as
4814         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4815         multi-author commits between version control systems.
4816         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4817         log message and output in standard ChangeLog multi-author format.
4818         Reported by Peter Rosin <peda@lysator.liu.se>
4819
4820 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4821             Bruno Haible  <bruno@clisp.org>
4822
4823         Fix some modules' file list.
4824         * modules/fstatat (Files): Add m4/lstat.m4.
4825         * modules/openat (Files): Likewise.
4826         * modules/unlinkat (Files): Likewise.
4827
4828 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4829
4830         maint.mk: fix tight-scope.mk generation in VPATH builds.
4831         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4832         reference with $(srcdir) so that the file is found correctly even
4833         when running `make syntax-check' in a VPATH build.
4834
4835 2011-11-13  Bruno Haible  <bruno@clisp.org>
4836             Jim Meyering  <meyering@redhat.com>
4837
4838         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4839         * tests/init.sh (compare): Remove "No differences encountered" or
4840         synonymous output from the 'diff' program.
4841
4842 2011-11-13  Bruno Haible  <bruno@clisp.org>
4843
4844         Makefile: Tweak indentation.
4845         * Makefile: Use tab as first character in every line that contains rule
4846         commands.
4847
4848 2011-11-13  Bruno Haible  <bruno@clisp.org>
4849
4850         Syntax check for copyright statements.
4851         * check-copyright: New file.
4852         * Makefile (sc_check_copyright): New rule.
4853
4854 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4855
4856         * build-aux/git-version-gen: Add --prefix to configure the tag
4857         match string.
4858
4859 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4860
4861         * build-aux/git-version-gen: Add --help and --version.
4862
4863 2011-11-12  Jim Meyering  <meyering@redhat.com>
4864
4865         revamp the other test-exclude?.sh scripts to use init.sh, too
4866         * tests/test-exclude1.sh: Use init.sh.
4867         * tests/test-exclude2.sh: Likewise.
4868         * tests/test-exclude3.sh: Likewise.
4869         * tests/test-exclude4.sh: Likewise.
4870         * tests/test-exclude5.sh: Likewise.
4871         * tests/test-exclude6.sh: Likewise.
4872         * tests/test-exclude7.sh: Likewise.
4873         * tests/test-exclude8.sh: Likewise.
4874         * modules/exclude-tests (Files): List init.sh.
4875
4876         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4877         These shell scripts ignored failure of the binary test-exclude,
4878         so making the latter return 77 didn't cause them to be skipped.
4879         * tests/test-exclude5.sh: Exit with test-exclude's error status
4880         when that program fails.  Revamp to use init.sh.
4881         * tests/test-exclude2.sh: Likewise.
4882
4883         test-exclude: fix a typo
4884         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4885
4886 2011-11-11  Bruno Haible  <bruno@clisp.org>
4887
4888         obstack: Fix compilation error on MSVC 9.
4889         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4890
4891 2011-11-11  Jim Meyering  <meyering@redhat.com>
4892
4893         test-exclude: skip tests rather than failing on deficient systems
4894         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4895         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4896         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4897         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4898
4899 2011-11-10  Bruno Haible  <bruno@clisp.org>
4900
4901         ptsname_r test: Avoid gcc warning on glibc systems.
4902         * tests/test-ptsname_r.c (null_ptr): New function.
4903         (test_errors): Use it.
4904
4905 2011-11-10  Bruno Haible  <bruno@clisp.org>
4906
4907         ptsname_r: Avoid compilation error on OSF/1 5.1.
4908         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4910         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4911         function is not declared or incompatibly declared.
4912         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4913         * modules/ptsname_r (Depends-on, configure.ac): Update.
4914         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4915
4916 2011-11-10  Bruno Haible  <bruno@clisp.org>
4917
4918         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4919         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4920         When cross-compiling, guess yes on all platforms except AIX.
4921         Reported by Ludovic Courtès <ludo@gnu.org>.
4922
4923 2011-11-09  Bruno Haible  <bruno@clisp.org>
4924
4925         ptsname_r tests: Fix bugs.
4926         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4927         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4928
4929 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4930
4931         fstatat: work with cross-compilation
4932         Problem reported by Ludovic Courtès in
4933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4934         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4935         "cross-compiling" and assume the bug is present.  Replace
4936         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4937         an inverted sense, to be more conservative about our assumptions.
4938         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4939
4940 2011-11-09  Bruno Haible  <bruno@clisp.org>
4941
4942         Improve MODULES.html output.
4943         * modules/mkfifoat (Description): Use the word "function".
4944         * modules/readlinkat (Description): Likewise.
4945         * modules/symlinkat (Description): Likewise.
4946
4947 2011-11-09  Eric Blake  <eblake@redhat.com>
4948
4949         ptsname_r-tests: new test module
4950         * modules/ptsname_r-tests: New module.
4951         * tests/test-ptsname_r.c: New file.
4952
4953         ptsname_r: new module
4954         * modules/ptsname_r: New module.
4955         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4956         * lib/ptsname.c (__ptsname_r): Split...
4957         * lib/ptsname_r.c: ...into new file.
4958         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4959         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4960         * modules/stdlib (Makefile.am): Substitute witnesses.
4961         * lib/stdlib.in.h (ptsname_r): Declare it.
4962         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4963         * MODULES.html.sh (Misc): Likewise.
4964         * modules/ptsname (Depends-on): Alter dependency.
4965         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4966
4967 2011-11-09  Jim Meyering  <meyering@redhat.com>
4968
4969         announce-gen: be more concise when there's only one URL+tarball
4970         * build-aux/announce-gen (get_tool_versions): When you distribute
4971         only one type of tarball, combine the first two "Here are..."
4972         sections and make the key-checking grammar independent of
4973         how many tarballs there are.
4974
4975 2011-11-09  Eric Blake  <eblake@redhat.com>
4976
4977         openpty: provide a stub on mingw
4978         * lib/pty.in.h (includes): Provide forward declarations.
4979         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4980
4981         raise: fix mingw handling of SIGPIPE
4982         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4983
4984 2011-11-08  Bruno Haible  <bruno@clisp.org>
4985
4986         More conditional dependencies.
4987         * modules/faccessat (Depends-on): Add conditions.
4988         * modules/fchmodat (Depends-on): Likewise.
4989         * modules/fchownat (Depends-on): Likewise.
4990         * modules/fstatat (Depends-on): Likewise.
4991         * modules/mkfifoat (Depends-on): Likewise.
4992         * modules/readlinkat (Depends-on): Likewise.
4993         * modules/symlinkat (Depends-on): Likewise.
4994         * modules/unlinkat (Depends-on): Likewise.
4995         * modules/utimensat (Depends-on): Likewise.
4996         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4997         * modules/linkat (Depends-on): Refine the conditions.
4998         * modules/renameat (Depends-on): Likewise.
4999
5000 2011-11-08  Bruno Haible  <bruno@clisp.org>
5001
5002         faccessat: Move AC_LIBOBJ invocation to module description.
5003         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
5004         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
5005         invocation from here...
5006         * modules/faccessat (configure.ac): ... to here. Invoke
5007         gl_PREREQ_FACCESSAT.
5008
5009 2011-11-08  Bruno Haible  <bruno@clisp.org>
5010
5011         faccessat: Simplify autoconf macro.
5012         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
5013         gl_FUNC_EUIDACCESS.
5014
5015 2011-11-08  Bruno Haible  <bruno@clisp.org>
5016
5017         renameat: Fix dependencies.
5018         * modules/renameat (Depends-on): Add stdbool.
5019
5020 2011-11-08  Bruno Haible  <bruno@clisp.org>
5021
5022         mkfifoat: Fix module description.
5023         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
5024         not gl_UNISTD_MODULE_INDICATOR.
5025
5026 2011-11-08  Bruno Haible  <bruno@clisp.org>
5027
5028         fstatat: Remove unused dependency.
5029         * modules/fstatat (Depends-on): Remove fstat.
5030
5031 2011-11-08  Simon Josefsson  <simon@josefsson.org>
5032
5033         GNUmakefile: behave when Makefile is missing.
5034         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
5035
5036 2011-11-08  Bruno Haible  <bruno@clisp.org>
5037
5038         openat: Conditionalize dependencies.
5039         * lib/openat.c: Reduce the scope of some #includes.
5040         * modules/openat (Depends-on): Add conditions.
5041
5042 2011-11-07  Jim Meyering  <meyering@redhat.com>
5043
5044         maint.mk: extract GPG key ID without using a temporary file
5045         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
5046         without using a temporary file.  Based on a suggestion from Werner Koch
5047         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
5048
5049 2011-11-07  Eric Blake  <eblake@redhat.com>
5050
5051         grantpt: fix typo
5052         * lib/stdlib.in.h (grantpt): Check correct function.
5053
5054         maint.mk: silence new syntax check
5055         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
5056
5057 2011-11-06  Bruno Haible  <bruno@clisp.org>
5058
5059         Doc about floating-point and math API.
5060         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
5061         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
5062
5063 2011-11-06  Bruno Haible  <bruno@clisp.org>
5064
5065         stdalign tests: Skip the test when compiled by Sun C.
5066         * tests/test-stdalign.c (main): Skip the test on Sun C.
5067
5068 2011-11-06  Bruno Haible  <bruno@clisp.org>
5069
5070         ansi-c++-opt: Complete the 2011-06-05 change.
5071         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
5072         does not support namespaces, set the variable to "no", not to ":".
5073
5074 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5075
5076         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
5077
5078 2011-11-06  Bruno Haible  <bruno@clisp.org>
5079
5080         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
5081         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
5082         (minus_zerol) [HP-UX]: New macro.
5083         (unary_minus) [HP-UX]: New function.
5084         (copysignl) [HP-UX]: Use unary_minus function.
5085
5086 2011-11-06  Bruno Haible  <bruno@clisp.org>
5087
5088         ldexp, ldexpf, ldexpl: Enhance tests.
5089         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
5090         and tests/test-ldexpl.c.
5091         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
5092         LDEXP, MIN_EXP, MAX_EXP): New macros.
5093         Include test-ldexp.h.
5094         (main): Just call test_function.
5095         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
5096         infinity.h, nan.h.
5097         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
5098         MAX_EXP): New macros.
5099         Include test-ldexp.h.
5100         (x, y): Remove variables.
5101         (main): Just call test_function.
5102         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
5103         infinity.h, nan.h.
5104         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
5105         MAX_EXP): New macros.
5106         Include test-ldexp.h.
5107         (x, y): Remove variables.
5108         (main): Just call test_function.
5109         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
5110         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
5111         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
5112         (Depends-on): Add isnand-nolibm, signbit, float.
5113         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
5114         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
5115         (Depends-on): Add isnanf-nolibm, signbit, float.
5116
5117 2011-11-06  Bruno Haible  <bruno@clisp.org>
5118
5119         math tests: Cosmetics.
5120         * tests/test-math-c++.cc: Reorder declarations.
5121
5122 2011-11-05  Bruno Haible  <bruno@clisp.org>
5123
5124         fma*: Simplify test.
5125         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
5126         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
5127
5128         Tests for module 'fmal'.
5129         * modules/fmal-tests: New file.
5130         * tests/test-fmal1.c: New file.
5131         * tests/test-fmal2.c: New file.
5132
5133         New module 'fmal'.
5134         * lib/math.in.h (fmal): New declaration.
5135         * lib/fmal.c: New file.
5136         * m4/fmal.m4: New file.
5137         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
5138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
5139         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
5140         REPLACE_FMAL.
5141         * modules/fmal: New file.
5142         * doc/posix-functions/fmal.texi: Mention the new module and the various
5143         bugs.
5144
5145         Tests for module 'fmaf'.
5146         * modules/fmaf-tests: New file.
5147         * tests/test-fmaf1.c: New file.
5148         * tests/test-fmaf2.c: New file.
5149
5150         New module 'fmaf'.
5151         * lib/math.in.h (fmaf): New declaration.
5152         * lib/fmaf.c: New file.
5153         * m4/fmaf.m4: New file.
5154         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
5155         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
5156         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
5157         REPLACE_FMAF.
5158         * modules/fmaf: New file.
5159         * doc/posix-functions/fmaf.texi: Mention the new module and the various
5160         bugs.
5161
5162         Tests for module 'fma'.
5163         * modules/fma-tests: New file.
5164         * tests/test-fma1.c: New file.
5165         * tests/test-fma1.h: New file.
5166         * tests/test-fma2.c: New file.
5167         * tests/test-fma2.h: New file.
5168
5169         New module 'fma'.
5170         * lib/math.in.h (fma): New declaration.
5171         * lib/fma.c: New file.
5172         * m4/fma.m4: New file.
5173         * m4/fegetround.m4: New file.
5174         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
5175         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
5176         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
5177         REPLACE_FMA.
5178         * modules/fma: New file.
5179         * doc/posix-functions/fma.texi: Mention the new module and the various
5180         bugs.
5181
5182         Extend gl_MATHFUNC.
5183         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
5184         Support 'void' as argument type.
5185         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
5186
5187 2011-11-05  Jim Meyering  <meyering@redhat.com>
5188
5189         maint.mk: also prohibit inclusion of dirent.h without use
5190         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
5191
5192 2011-11-05  Bruno Haible  <bruno@clisp.org>
5193
5194         ldexpl tests: Avoid test failure on MSVC 9.
5195         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
5196         value. Needed in order to enforce the conversion from a value greater
5197         than LDBL_MAX to Infinity.
5198
5199 2011-11-05  Bruno Haible  <bruno@clisp.org>
5200
5201         New modules 'at-internal', 'openat-h', split off from module 'openat'.
5202         * modules/at-internal: New file, extracted from modules/openat.
5203         * modules/openat-h: New file.
5204         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
5205         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
5206         * modules/openat (Description): Add reference to POSIX function.
5207         (Files): Remove lib/openat.h, lib/openat-proc.c.
5208         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
5209         intprops, unistd.
5210         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
5211         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
5212         gl_FCNTL_MODULE_INDICATOR.
5213         (Include): Remove unistd.h, openat.h.
5214         * modules/areadlinkat (Files): Add lib/at-func.c.
5215         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5216         openat-die, openat-h, save-cwd.
5217         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
5218         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5219         openat-die, openat-h, save-cwd, unistd.
5220         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
5221         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5222         openat-h, save-cwd. Remove fcntl-h, openat.
5223         * modules/fchmodat (Files): Remove lib/openat.h.
5224         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5225         openat, stdbool, unistd.
5226         * modules/fchownat (Files): Remove lib/openat.h.
5227         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5228         openat, stdbool, sys_stat.
5229         * modules/fdopendir (Files): Remove lib/openat-priv.h,
5230         lib/openat-proc.c.
5231         (Depends-on): Add at-internal.
5232         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
5233         * modules/fstatat (Files): Remove lib/openat.h.
5234         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5235         stdbool, unistd.
5236         * modules/fts (Depends-on): Add openat-h.
5237         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5238         openat.
5239         * modules/mkdirat (Files): Remove lib/openat.h.
5240         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5241         openat, stdbool, sys_stat.
5242         * modules/mkfifoat (Files): Add lib/at-func.c.
5243         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5244         openat-h, save-cwd. Remove fcntl-h, openat.
5245         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5246         * modules/readlinkat (Files): Add lib/at-func.c.
5247         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5248         openat-h, save-cwd. Remove fcntl-h, openat.
5249         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5250         openat.
5251         * modules/selinux-at (Files): Add lib/at-func.c.
5252         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5253         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5254         * modules/symlinkat (Files): Add lib/at-func.c.
5255         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5256         openat-h, save-cwd. Remove fcntl-h, openat.
5257         * modules/unlinkat (Files): Remove lib/openat.h.
5258         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5259         stdbool.
5260         * modules/utimensat (Files): Add lib/at-func.c.
5261         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5262         openat-die, openat-h, save-cwd.
5263         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5264         * modules/fdutimensat-tests (Depends-on): Add openat.
5265         * modules/fstatat-tests (Depends-on): Add openat-h.
5266         * modules/readlinkat-tests (Depends-on): Add openat.
5267         * modules/symlinkat-tests (Depends-on): Add openat.
5268
5269 2011-11-05  Bruno Haible  <bruno@clisp.org>
5270
5271         openat: Include <stdbool.h>.
5272         * lib/openat.c: Include <stdbool.h>.
5273
5274 2011-11-04  Bruno Haible  <bruno@clisp.org>
5275
5276         fchownat, renameat, unlinkat: Fix dependencies.
5277         * modules/fchownat (Depends-on): Add fstatat.
5278         * modules/renameat (Depends-on): Likewise.
5279         * modules/unlinkat (Depends-on): Likewise.
5280
5281 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5282
5283         openat: remove direct dependency on dirent
5284         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5285         and hasn't been needed ever since fdopendir was split into its own
5286         module on 2009-08-31.
5287         * modules/openat (Depends-on): Remove dirent.
5288
5289 2011-11-04  Bruno Haible  <bruno@clisp.org>
5290
5291         renameat: Optimize code size.
5292         * modules/renameat (configure.ac): Don't compile at-func2.c if
5293         REPLACE_RENAMEAT is 1.
5294
5295 2011-11-04  Bruno Haible  <bruno@clisp.org>
5296
5297         openat tests: Fix file list.
5298         * modules/openat-tests (Files): Add tests/test-open.h.
5299
5300 2011-11-04  Bruno Haible  <bruno@clisp.org>
5301
5302         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5303         * modules/fchmodat (Depends-on): Add openat-die.
5304         * modules/fchownat (Depends-on): Likewise.
5305         * modules/linkat (Depends-on): Likewise.
5306         * modules/renameat (Depends-on): Likewise.
5307         * modules/openat (Depends-on): Add dirent.
5308
5309 2011-11-04  Jim Meyering  <meyering@redhat.com>
5310
5311         at-func*.c: fix comments
5312         * lib/at-func2.c: Correct/improve first-line comment.
5313         * lib/at-func.c: Correct grammar in first-line comment.
5314
5315 2011-11-04  Bruno Haible  <bruno@clisp.org>
5316
5317         New module 'mkdirat', split off from module 'openat'.
5318         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5319         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5320         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5321         * modules/mkdirat: New file, extracted from modules/openat.
5322         * modules/openat (Files): Remove lib/mkdirat.c.
5323         (Depends-on): Remove mkdir.
5324         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5325         (Include): Remove <sys/stat.h>.
5326         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5327         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5328         tests/test-mkdir.h.
5329         (Depends-on): Remove ignore-value.
5330         (Makefile.am): Remove rules for test-mkdirat.
5331         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
5332         of module 'openat'.
5333         * NEWS: Mention the change.
5334
5335 2011-11-04  Bruno Haible  <bruno@clisp.org>
5336
5337         closedir: Avoid warning on mingw.
5338         * lib/closedir.c: Include <unistd.h>.
5339
5340 2011-11-04  Bruno Haible  <bruno@clisp.org>
5341
5342         New module 'fstatat', split off from module 'openat'.
5343         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5344         defined.
5345         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
5346         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
5347         gl_FUNC_FSTATAT.
5348         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
5349         * modules/fstatat: New file, extracted from modules/openat.
5350         * modules/openat (Files): Remove lib/fstatat.c.
5351         (Depends-on): Remove lstat.
5352         (configure.ac): Remove AC_LIBOBJ of fstatat.
5353         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5354         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5355         tests/test-lstat.h, tests/test-stat.h.
5356         (Depends-on): Remove getcwd-lgpl.
5357         (Makefile.am): Remove rules for test-fstatat.
5358         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5359         of module 'openat'.
5360         * NEWS: Mention the change.
5361         * modules/getcwd (Depends-on): Add fstatat.
5362         * modules/linkat (Depends-on): Likewise.
5363         * modules/mkfifoat-tests (Depends-on): Likewise.
5364         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5365
5366 2011-11-03  Bruno Haible  <bruno@clisp.org>
5367
5368         New module 'unlinkat', split off from module 'openat'.
5369         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5370         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5371         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5372         * modules/unlinkat: New file, extracted from modules/openat. Correct
5373         the dependency conditions.
5374         * modules/openat (Files): Remove lib/unlinkat.c.
5375         (Depends-on): Remove rmdir, unlink.
5376         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5377         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5378         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5379         tests/test-rmdir.h, tests/test-unlink.h.
5380         (Depends-on): Remove unlinkdir.
5381         (Makefile.am): Remove rules for test-unlinkat.
5382         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5383         of module 'openat'.
5384         * NEWS: Mention the change.
5385         * modules/linkat-tests (Depends-on): Add unlinkat.
5386         * modules/mkfifoat-tests (Depends-on): Likewise.
5387         * modules/readlinkat-tests (Depends-on): Likewise.
5388
5389 2011-11-02  Bruno Haible  <bruno@clisp.org>
5390
5391         New module 'fchmodat', split off from module 'openat'.
5392         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5393         defined.
5394         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5395         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5396         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5397         * modules/fchmodat: New file, extracted from modules/openat.
5398         * modules/openat (Files): Remove lib/fchmodat.c.
5399         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5400         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5401         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5402         (Makefile.am): Remove rules for test-fchmodat.
5403         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5404         of module 'openat'.
5405         * NEWS: Mention the change.
5406
5407 2011-11-02  Jim Meyering  <meyering@redhat.com>
5408
5409         putenv: indent #definition of "environ" to placate cppi
5410         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5411
5412         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5413         Git logs are often treated as immutable, because editing them
5414         changes the SHA1 checksums of all descendants.  Thus, errors in
5415         git logs tend to stay there forever.  However, when we generate
5416         a ChangeLog file -- typically for distribution -- from that git log,
5417         we can actually make corrections in the generated file.  The key
5418         lies in recording in machine-readable/applicable form the desired
5419         corrections.  See --help for description and an example.
5420         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5421         (usage): Describe it; alphabetize option descriptions.
5422         (main): Honor the new option, carefully.
5423
5424 2011-11-01  Jim Meyering  <meyering@redhat.com>
5425
5426         gitlog-to-changelog: avoid an infloop
5427         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5428         that ends up being empty.
5429
5430 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5431
5432         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5433         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5434         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5435         contains (possibly-quoted) backslashes.  This should avoid
5436         all-too-common shell bugs if COMPLICATED contains backslashes in
5437         the "wrong" places.  Reported by David Evans in
5438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5439         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5440         because we want ASCII ranges.  Is there some reason we don't use
5441         the C locale everywhere in this script?
5442         (func_module, top level): Avoid unwanted pathname expansion when
5443         $repo_url_prefix or $repo_url_suffix_repl contain shell
5444         metacharacters like '?' and '*'.
5445
5446 2011-11-01  Bruno Haible  <bruno@clisp.org>
5447
5448         fchownat: Improve description.
5449         * modules/fchownat (Description): Add link to function.
5450
5451 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5452
5453         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5454         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5455         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5456         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5457
5458 2011-11-01  Bruno Haible  <bruno@clisp.org>
5459
5460         alignof: Avoid collision with stdalign module.
5461         * lib/alignof.h (alignof): Remove macro.
5462         * NEWS: Mention the change.
5463         Reported by Paul Eggert.
5464
5465 2011-11-01  Bruno Haible  <bruno@clisp.org>
5466
5467         New module 'fchownat', split off from module 'openat'.
5468         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5469         defined.
5470         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5471         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5472         invoke gl_FUNC_FCHOWNAT.
5473         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5474         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5475         * modules/fchownat: New file, extracted from modules/openat.
5476         * modules/openat (Files): Remove lib/fchownat.c.
5477         (Depends-on): Remove lchown.
5478         (configure.ac): Remove AC_LIBOBJ of fchownat.
5479         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5480         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5481         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5482         (Depends-on): Remove mgetgroups, usleep, stat-time.
5483         (configure.ac): Remove test for getegid.
5484         (Makefile.am): Remove rules for test-fchownat.
5485         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5486         of module 'openat'.
5487         * NEWS: Mention the change.
5488
5489 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5490
5491         stdalign: port better to MSVC and to Sun C 5.11
5492         This fixes some of the problems reported by Bruno Haible in
5493         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5494         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5495         shortcomings of MSVC and of Sun C 5.11.
5496         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5497         around __declspec arg.
5498         * modules/stdalign-tests (Files): Add tests/macros.h.
5499         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5500         Include macros.h, for ASSERT.
5501         (DECLARE_ALIGNED): Remove.
5502         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5503         to catch bug), and to 1 if not (simplifies the rest of the code).
5504         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5505         (CHECK_AUTO): Remove.
5506         (CHECK_ALIGNED): Check only the alignment of the static vars,
5507         since auto var alignment isn't supported by Sun C 5.11.
5508         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5509         ASSERT failures are easier to diagnose.
5510
5511 2011-10-31  Bruno Haible  <bruno@clisp.org>
5512
5513         doc about some IRIX 5.3 problems.
5514         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5515         on IRIX 5.3.
5516         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5517         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5518         5.3.
5519         * doc/posix-functions/grantpt.texi: Likewise.
5520         * doc/posix-functions/unlockpt.texi: Likewise.
5521         * doc/posix-functions/lgamma.texi: Likewise.
5522         * doc/posix-functions/nextafter.texi: Likewise.
5523         * doc/posix-functions/remainder.texi: Likewise.
5524         * doc/posix-functions/select.texi: Mention misplaced declaration on
5525         IRIX 5.3.
5526         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5527
5528 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5529
5530         gitlog-to-changelog: fix git-log invocation.
5531         git-log mishandles date strings before 1970-01-01 UTC, and there is
5532         no use to specify --since=1970-01-01 by default anyway.
5533         * build-aux/gitlog-to-changelog: By default, when no --since option
5534         was given, do not specify explicit --since option to git-log.
5535
5536 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5537
5538         gitlog-to-changelog: new option --append-dot.
5539         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5540         first non-blank line of each commit message terminated with a dot.
5541
5542 2011-10-30  Bruno Haible  <bruno@clisp.org>
5543
5544         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5545         * lib/ffsl.h: Include <config.h>.
5546         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5547
5548 2011-10-30  Jim Meyering  <meyering@redhat.com>
5549
5550         GNUmakefile: reenable "make syntax-check" for most projects
5551         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5552         build-aux variable", "syntax-check" would do nothing but succeed with
5553         the "No version control files detected..." diagnostic (unless you
5554         happened to override _build-aux via cfg.mk).
5555         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5556         to precede inclusion of maint.mk.  Otherwise, these variables would
5557         be used undefined in any project that does not override the default.
5558
5559 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5560
5561         gitlog-to-changelog: treat a message with only blank lines as empty.
5562         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5563         trailing blank lines before the code that issues a warning about an
5564         empty commit message.
5565
5566 2011-10-30  Jim Meyering  <meyering@redhat.com>
5567
5568         test-parse-datetime.c: avoid new DST-related false positive test failure
5569         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5570         based on the time/date we'll convert, not the current time.
5571         Otherwise, the moment we cross a DST boundary like today's in
5572         Europe, (CEST to CET), that offset ends up being one hour off.
5573
5574 2011-10-27  Bruno Haible  <bruno@clisp.org>
5575
5576         fstat: Tweak documentation.
5577         * modules/fstat (Description): More precise description.
5578
5579 2011-10-27  Bruno Haible  <bruno@clisp.org>
5580
5581         Update documentation regarding 'largefile' module.
5582         * doc/posix-functions/fstat.texi: Tweak wording.
5583         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5584         problems with huge directories and/or small ino_t types.
5585         * doc/posix-functions/readdir.texi: Likewise.
5586         * doc/posix-functions/rewinddir.texi: Likewise.
5587
5588 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5589
5590         maint.mk: don't maintain a second build-aux variable.
5591         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5592         depends on GNUmakefile, which already maintains a cfg.mk
5593         overridable $(_build-aux) for projects with a non-standard
5594         build-aux directory location, although without the $(srcdir)
5595         prefix.  Use that variable consistently instead of introducing a
5596         second one.  Adjust all call sites.
5597
5598 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5599
5600         Add stdalign module and use it in other modules.
5601         This is based on a previous proposal by Bruno Haible
5602         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5603
5604         stdalign: new module
5605         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5606         * modules/stdalign: New files.
5607         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5608         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5609
5610         stdalign-tests: new module
5611         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5612
5613         argp: use stdalign
5614         * lib/argp-parse.c: Include <stdalign.h>.
5615         (alignof): Remove.
5616         * modules/argp (Depends-on): Add stdalign.
5617
5618         crypto libraries: use stdalign
5619         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5620         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5621         Do not include <stdlib.h> twice, in md4.c.
5622         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5623         because we are accessing a pointer's bit-pattern, not a size.
5624         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5625         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5626         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5627         * modules/crypto/sha512: Likewise.
5628
5629         sys_socket: use stdalign, not alignof
5630         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5631         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5632
5633 2011-10-27  Bruno Haible  <bruno@clisp.org>
5634
5635         raise test: Avoid a test failure on Linux/MIPS.
5636         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5637         because 99 is a valid signal on Linux/MIPS.
5638
5639 2011-10-27  Bruno Haible  <bruno@clisp.org>
5640
5641         nonblocking tests: Fix test failure on Linux/MIPS.
5642         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5643         Set to 270000.
5644
5645 2011-10-27  Bruno Haible  <bruno@clisp.org>
5646
5647         utimensat: Work around problem on Linux/hppa.
5648         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5649         values.
5650         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5651
5652 2011-10-25  Jim Meyering  <meyering@redhat.com>
5653
5654         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5655         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5656         after symbols like NULL, size_t, etc.
5657         Reported by Alfred M. Szmidt.
5658
5659         maint.mk: exempt ENODATA from a syntax-check rule
5660         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5661         from the sc_prohibit_always-defined_macros syntax-check rule.
5662         Add a comment.  See this for more details:
5663         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5664
5665 2011-10-23  Jim Meyering  <meyering@redhat.com>
5666
5667         fts: close parent dir FD before returning from post-traversal fts_read
5668         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5669         unlink A, even though an FD open on A remained.  This is suboptimal
5670         (holding a file descriptor open longer than needed), but otherwise not
5671         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5672         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5673         that represents a real problem: it causes the removal of A to fail
5674         with e.g., "rm: cannot remove `A': Device or resource busy"
5675
5676         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5677         directory file descriptors.  After completing the final, FTS_DP,
5678         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5679         cache, but then proceeded to add a new FD to it via the subsequent
5680         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5681         final file descriptor would be closed only via fts_close's call to
5682         fd_ring_clear.  Now, it is usually closed earlier, via the final
5683         FTS_DP-returning fts_read call.
5684         * lib/fts.c (restore_initial_cwd): New function, converted from
5685         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5686         Update callers.
5687         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5688         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5689
5690 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5691             Bruno Haible  <bruno@clisp.org>
5692             Jim Meyering  <jim@meyering.net>
5693
5694         readme-release: improve safety of release prep instructions.
5695         * README-release: Don't git pull all branches when only master
5696         is needed for the release process.
5697         Run make maintainer-clean before changing trees and merging.
5698         Don't try to run ./configure right after git pull in case files
5699         that influence the bootstrap process have changed, move the
5700         ./configure step to after running ./bootstrap.
5701         Don't bootstrap "one last time"... it's the first time!
5702
5703 2011-10-22  Bruno Haible  <bruno@clisp.org>
5704
5705         errno, strerror-override: Support for MSVC 10.
5706         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5707         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5708         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5709         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5710         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5711         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5712         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5713         Assign values compatible with MSVC 10.
5714         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5715         New macros.
5716         (GNULIB_defined_EWINSOCK): New macro.
5717         * lib/strerror-override.c (strerror_override): Update accordingly.
5718         * lib/strerror-override.h: Likewise.
5719         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5720         longer equal to the corresponding errno value.
5721         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5722
5723 2011-10-22  Bruno Haible  <bruno@clisp.org>
5724
5725         perror: Recognize when test program crashes.
5726         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5727         strerror, set gl_cv_func_perror_works to no.
5728         Reported by Daniel Richard G. <skunk@iskunk.org>.
5729
5730         perror: Fix indentation.
5731         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5732
5733 2011-10-22  Bruno Haible  <bruno@clisp.org>
5734
5735         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5736         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5737         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5738         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5739         functions, not as a macro.
5740         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5741         macros.
5742         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5743         absence of macro.
5744         Suggested by Eric Blake.
5745         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5746
5747 2011-10-21  Bruno Haible  <bruno@clisp.org>
5748
5749         relocatable-prog-wrapper: Don't leave object files behind.
5750         * build-aux/install-reloc: Re-synchronize list of .o files to be
5751         removed with list of compilation units.
5752
5753 2011-10-20  Bruno Haible  <bruno@clisp.org>
5754
5755         openpty, posix_openpt: Remove code duplication.
5756         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5757         * lib/openpty.c: Include <stdlib.h>.
5758         (openpty): Use posix_openpt on all platforms except IRIX.
5759         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5760
5761 2011-10-20  Bruno Haible  <bruno@clisp.org>
5762
5763         unlockpt: Detect invalid argument.
5764         * lib/unlockpt.c: Include <fcntl.h>.
5765         (unlockpt): Check whether fd is valid, using fcntl().
5766         * modules/unlockpt (Depends-on): Add fcntl-h.
5767
5768 2011-10-20  Bruno Haible  <bruno@clisp.org>
5769
5770         openpty: Avoid compilation error on AIX 6.1.
5771         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5772
5773 2011-10-20  Bruno Haible  <bruno@clisp.org>
5774
5775         posix_openpt: Support for OpenBSD.
5776         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5777         (posix_openpt) [OpenBSD]: New code.
5778         * lib/grantpt.c: Include <fcntl.h>.
5779         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5780         * modules/grantpt (Depends-on): Add fcntl-h.
5781
5782 2011-10-20  Bruno Haible  <bruno@clisp.org>
5783
5784         posix_openpt test: Coding style.
5785         * tests/test-posix_openpt.c: Use GNU coding style.
5786
5787 2011-10-20  Bruno Haible  <bruno@clisp.org>
5788
5789         grantpt: Support --avoid=pt_chown.
5790         * modules/grantpt (Files): Add lib/pty-private.h.
5791
5792 2011-10-20  Bruno Haible  <bruno@clisp.org>
5793
5794         posix_openpt: Fix autoconf macro.
5795         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5796         unneeded check for _getpty.
5797
5798 2011-10-20  Bruno Haible  <bruno@clisp.org>
5799
5800         openpty: Update comments.
5801         * lib/openpty.c: Add comments about Minix.
5802
5803 2011-10-19  Eric Blake  <eblake@redhat.com>
5804
5805         openpty: relax license
5806         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5807
5808         pt_chown: use configmake to simplify build
5809         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5810
5811         ptsname and others: relax license
5812         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5813         * modules/unlockpt (License): Likewise.
5814         * modules/pt_chown (License): Likewise.
5815         * modules/ptsname (License): Likewise.
5816         * modules/ttyname_r (License): Likewise.
5817
5818 2011-10-19  Jim Meyering  <meyering@redhat.com>
5819
5820         posix_openpt: remove spurious #endif
5821         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5822
5823 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5824
5825         maint.mk: Respect $(build_aux) in web-manual rule.
5826         * top/maint.mk (web-manual): Find gen-announce script in user's
5827         $(build_aux) directory instead of hard-coding 'build-aux'.
5828
5829 2011-10-19  Bruno Haible  <bruno@clisp.org>
5830
5831         posix_openpt: Fix compilation error.
5832         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5833         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5834         Mention the openpty module as an alternative.
5835
5836 2011-10-19  Bruno Haible  <bruno@clisp.org>
5837
5838         Support for old NeXTstep 3.3 frexp().
5839         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5840         execution time of the test to 5 seconds.
5841         Reported by Daniel Richard G. <skunk@iskunk.org>.
5842
5843 2011-10-19  Bruno Haible  <bruno@clisp.org>
5844
5845         Support for old NeXTstep 3.3 sed.
5846         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5847         part, use /.../, not \|...|. Escape periods in the header file name.
5848         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5849         Reported by Daniel Richard G. <skunk@iskunk.org>.
5850
5851 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5852
5853         Support for old NeXTstep 3.3 gcc.
5854         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5855         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5856         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5857         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5858         * lib/regex.h (_Restrict_arr_): Likewise.
5859         * lib/regex_internal.h (re_token_t): Likewise.
5860         * lib/regexec.c (check_node_accept_bytes): Likewise.
5861         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5862
5863 2011-10-18  Eric Blake  <eblake@redhat.com>
5864
5865         posix_openpt: new module
5866         * modules/posix_openpt: New module.
5867         * m4/posix_openpt.m4: New file.
5868         * lib/posix_openpt.c: Likewise.
5869         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5870         (gl_STDLIB_H_DEFAULTS): Set defaults.
5871         * modules/stdlib (Makefile.am): Substitute macros.
5872         * lib/stdlib.in.h (posix_openpt): Declare.
5873         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5874         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5875         * modules/posix_openpt-tests: New test module.
5876         * tests/test-posix_openpt.c: New test.
5877
5878 2011-10-15  Bruno Haible  <bruno@clisp.org>
5879
5880         xstrtoll: Fix compilation failure.
5881         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5882         from lib/strtol.c.
5883         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5884         some platforms.
5885         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5886
5887 2011-10-15  Bruno Haible  <bruno@clisp.org>
5888
5889         vasnprintf: Optimize bit search operation.
5890         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5891         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5892         gl_DOUBLE_EXPONENT_LOCATION.
5893         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5894         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5895         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5896         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5897         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5898         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5899         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5900         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5901         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5902
5903 2011-10-15  Bruno Haible  <bruno@clisp.org>
5904
5905         vasnprintf: Fix comments.
5906         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5907
5908 2011-10-14  Bruno Haible  <bruno@clisp.org>
5909
5910         Tests for module 'integer_length_ll'.
5911         * modules/integer_length_ll-tests: New file.
5912         * tests/test-integer_length_ll.c: New file.
5913
5914         New module 'integer_length_ll'.
5915         * lib/integer_length_ll.c: New file.
5916         * modules/integer_length_ll: New file.
5917
5918 2011-10-14  Bruno Haible  <bruno@clisp.org>
5919
5920         Tests for module 'integer_length_l'.
5921         * modules/integer_length_l-tests: New file.
5922         * tests/test-integer_length_l.c: New file.
5923
5924         New module 'integer_length_l'.
5925         * lib/integer_length_l.c: New file.
5926         * modules/integer_length_l: New file.
5927
5928 2011-10-14  Bruno Haible  <bruno@clisp.org>
5929
5930         Tests for module 'integer_length'.
5931         * modules/integer_length-tests: New file.
5932         * tests/test-integer_length.c: New file.
5933
5934         New module 'integer_length'.
5935         * lib/integer_length.h: New file.
5936         * lib/integer_length.c: New file.
5937         * modules/integer_length: New file.
5938
5939 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5940
5941         popen: Fix dependency conditions.
5942         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5943
5944 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5945
5946         perror: Fix autoconf test.
5947         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5948         <stdlib.h> and <string.h>.
5949
5950 2011-10-14  Bruno Haible  <bruno@clisp.org>
5951
5952         ffsl: Optimize on 64-bit platforms.
5953         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5954         unrolling.
5955
5956 2011-10-13  Bruno Haible  <bruno@clisp.org>
5957
5958         ffsl: Optimize on 32-bit platforms.
5959         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5960         use ffs() without a loop.
5961
5962         ffsl, ffsll: Optimize for GCC.
5963         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5964         * lib/ffsl.c (GCC_BUILTIN): New macro.
5965         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5966
5967 2011-10-13  Bruno Haible  <bruno@clisp.org>
5968
5969         ffs, bcopy, memset: Support symbol renaming via config.h.
5970         * lib/ffs.c: Include <config.h>.
5971         * lib/bcopy.c: Likewise.
5972         * lib/memset.c: Likewise.
5973
5974 2011-10-10  Bruno Haible  <bruno@clisp.org>
5975
5976         atanl: Simplify for platforms where 'long double' == 'double'.
5977         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5978         alternative implementation.
5979         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5980         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5981         * modules/atanl (Depends-on): Add atan. Update conditions.
5982
5983 2011-10-10  Bruno Haible  <bruno@clisp.org>
5984
5985         acosl: Simplify for platforms where 'long double' == 'double'.
5986         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5987         alternative implementation.
5988         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5989         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5990         * modules/acosl (Depends-on): Add acos. Update conditions.
5991
5992 2011-10-10  Bruno Haible  <bruno@clisp.org>
5993
5994         asinl: Simplify for platforms where 'long double' == 'double'.
5995         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5996         alternative implementation.
5997         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5998         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5999         * modules/asinl (Depends-on): Add asin. Update conditions.
6000
6001 2011-10-10  Bruno Haible  <bruno@clisp.org>
6002
6003         tanl: Simplify for platforms where 'long double' == 'double'.
6004         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6005         implementation.
6006         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6007         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6008         * modules/tanl (Depends-on): Add tan. Update conditions.
6009         (configure.ac): Don't compile trigl.c if
6010         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6011
6012 2011-10-10  Bruno Haible  <bruno@clisp.org>
6013
6014         cosl: Simplify for platforms where 'long double' == 'double'.
6015         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6016         implementation.
6017         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6018         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6019         * modules/cosl (Depends-on): Add cos. Update conditions.
6020         (configure.ac): Don't compile sincosl.c and trigl.c if
6021         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6022
6023 2011-10-10  Bruno Haible  <bruno@clisp.org>
6024
6025         sinl: Simplify for platforms where 'long double' == 'double'.
6026         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6027         implementation.
6028         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6029         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6030         * modules/sinl (Depends-on): Add sin. Update conditions.
6031         (configure.ac): Don't compile sincosl.c and trigl.c if
6032         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6033
6034 2011-10-10  Bruno Haible  <bruno@clisp.org>
6035
6036         logl: Simplify for platforms where 'long double' == 'double'.
6037         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6038         implementation.
6039         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6040         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6041         * modules/logl (Depends-on): Add log. Update conditions.
6042
6043 2011-10-10  Bruno Haible  <bruno@clisp.org>
6044
6045         expl: Simplify for platforms where 'long double' == 'double'.
6046         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
6047         implementation.
6048         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6049         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6050         * modules/expl (Depends-on): Add exp. Update conditions.
6051
6052 2011-10-10  Bruno Haible  <bruno@clisp.org>
6053
6054         sqrtl: Simplify for platforms where 'long double' == 'double'.
6055         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6056         alternative implementation.
6057         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6058         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6059         * modules/sqrtl (Depends-on): Update conditions.
6060
6061 2011-10-10  Bruno Haible  <bruno@clisp.org>
6062
6063         ldexpl: Simplify for platforms where 'long double' == 'double'.
6064         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6065         alternative implementation.
6066         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6067         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6068         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
6069
6070 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
6071
6072         ffsll: set correct witness
6073         * modules/ffsll (configure.ac): Fix typo.
6074
6075 2011-10-10  Bruno Haible  <bruno@clisp.org>
6076
6077         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
6078         * lib/printf-frexpl.c: Include <config.h>.
6079         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6080         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
6081         second time.
6082         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
6083         gl_LONG_DOUBLE_VS_DOUBLE.
6084         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
6085         conditions.
6086
6087 2011-10-10  Bruno Haible  <bruno@clisp.org>
6088
6089         frexpl: Simplify for platforms where 'long double' == 'double'.
6090         * lib/frexpl.c: Include <config.h>.
6091         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6092         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6093         time.
6094         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6095         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6096         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
6097         * modules/frexpl (Depends-on): Add frexp. Update conditions.
6098         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
6099         conditions.
6100
6101 2011-10-10  Jim Meyering  <meyering@redhat.com>
6102
6103         test-renameat: don't leave behind a temporary file
6104         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
6105           ERROR: files left in build directory after distclean:
6106           ./gltests/test-renameat.too
6107           make[1]: *** [distcleancheck] Error 1
6108         Reported by Tom G. Christensen.
6109
6110 2011-10-09  Bruno Haible  <bruno@clisp.org>
6111
6112         rint: Determine RINT_LIBM correctly on AIX 7.
6113         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
6114         directly, not only through a function pointer. Also accept an optional
6115         4th argument with extra code.
6116         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
6117         rintf() call by gcc when optimizing.
6118
6119         mathfunc.m4: Refactor.
6120         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
6121         m4 variable.
6122
6123 2011-10-09  Bruno Haible  <bruno@clisp.org>
6124
6125         rintl: Simplify for platforms where 'long double' == 'double'.
6126         * lib/rintl.c: Include <config.h>.
6127         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6128         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6129         time.
6130         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6131         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6132         * modules/rintl (Depends-on): Add rint. Update conditions.
6133
6134 2011-10-09  Bruno Haible  <bruno@clisp.org>
6135
6136         roundl: Simplify for platforms where 'long double' == 'double'.
6137         * lib/roundl.c: Include <config.h>.
6138         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6139         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6140         time.
6141         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6142         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6143         * modules/roundl (Depends-on): Add round. Update conditions.
6144
6145 2011-10-09  Bruno Haible  <bruno@clisp.org>
6146
6147         truncl: Simplify for platforms where 'long double' == 'double'.
6148         * lib/truncl.c: Include <config.h>.
6149         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6150         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6151         time.
6152         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6153         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6154         * modules/truncl (Depends-on): Add trunc. Update conditions.
6155
6156 2011-10-09  Bruno Haible  <bruno@clisp.org>
6157
6158         ceill: Simplify for platforms where 'long double' == 'double'.
6159         * lib/ceill.c: Include <config.h>.
6160         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6161         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6162         time.
6163         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6164         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6165         * modules/ceill (Depends-on): Add ceil. Update conditions.
6166
6167 2011-10-09  Bruno Haible  <bruno@clisp.org>
6168
6169         floorl: Simplify for platforms where 'long double' == 'double'.
6170         * lib/floorl.c: Include <config.h>.
6171         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6172         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6173         time.
6174         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6175         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6176         * modules/floorl (Depends-on): Add floor. Update conditions.
6177
6178 2011-10-09  Bruno Haible  <bruno@clisp.org>
6179
6180         rint: Fix ordering constraints.
6181         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
6182         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6183         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6184
6185 2011-10-09  Bruno Haible  <bruno@clisp.org>
6186
6187         copysignl: Simplify for platforms where 'long double' == 'double'.
6188         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6189         alternative.
6190         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6191         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6192         * modules/copysignl (Depends-on): Add copysign. Update conditions.
6193
6194 2011-10-09  Bruno Haible  <bruno@clisp.org>
6195
6196         Tests for module 'rintl'.
6197         * modules/rintl-tests: New file.
6198         * tests/test-rintl.c: New file.
6199
6200         New module 'rintl'.
6201         * lib/math.in.h (rintl): New declaration.
6202         * lib/rintl.c: New file.
6203         * m4/rintl.m4: New file.
6204         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
6205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
6206         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
6207         * modules/rintl: New file.
6208         * tests/test-math-c++.cc: Check the declaration of rintl.
6209         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6210         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
6211         * doc/posix-functions/rintl.texi: Mention the new module.
6212
6213 2011-10-09  Bruno Haible  <bruno@clisp.org>
6214
6215         Tests for module 'rintf'.
6216         * modules/rintf-tests: New file.
6217         * tests/test-rintf.c: New file.
6218
6219         New module 'rintf'.
6220         * lib/math.in.h (rintf): New declaration.
6221         * lib/rintf.c: New file.
6222         * m4/rintf.m4: New file.
6223         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
6224         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
6225         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
6226         * modules/rintf: New file.
6227         * tests/test-math-c++.cc: Check the declaration of rintf.
6228         * doc/posix-functions/rintf.texi: Mention the new module.
6229
6230 2011-10-09  Bruno Haible  <bruno@clisp.org>
6231
6232         rint: Support for MSVC.
6233         * lib/math.in.h (rint): New declaration.
6234         * lib/rint.c: New file.
6235         * m4/rint.m4: New file.
6236         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6237         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6238         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6239         * modules/rint (Description): Fix.
6240         (Files): Add lib/rint.c, m4/rint.m4.
6241         (Depends-on): Add math.
6242         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6243         gl_MATH_MODULE_INDICATOR.
6244         * tests/test-math-c++.cc: Check the declaration of rint.
6245         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6246         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6247         * doc/posix-functions/rint.texi: Mention the replacement provided by
6248         the module.
6249
6250         rint tests: More tests.
6251         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6252         minus-zero.h, infinity.h, nan.h.
6253         (main): Skip the test if the current rounding mode is not standard. Add
6254         tests for negative numbers, minus zero, infinity, NaN.
6255         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6256         tests/nan.h.
6257         (Depends-on): Add isnand-nolibm.
6258
6259 2011-10-09  Bruno Haible  <bruno@clisp.org>
6260
6261         Tests for module 'copysignl'.
6262         * modules/copysignl-tests: New file.
6263         * tests/test-copysignl.c: New file.
6264
6265         New module 'copysignl'.
6266         * lib/math.in.h (copysignl): New declaration.
6267         * lib/copysignl.c: New file.
6268         * m4/copysignl.m4: New file.
6269         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6270         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6271         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6272         HAVE_COPYSIGNL.
6273         * modules/copysignl: New file.
6274         * tests/test-math-c++.cc: Check the declaration of copysignl.
6275         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6276         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6277         * doc/posix-functions/copysignl.texi: Mention the new module.
6278
6279 2011-10-09  Bruno Haible  <bruno@clisp.org>
6280
6281         Tests for module 'copysignf'.
6282         * modules/copysignf-tests: New file.
6283         * tests/test-copysignf.c: New file.
6284
6285         New module 'copysignf'.
6286         * lib/math.in.h (copysignf): New declaration.
6287         * lib/copysignf.c: New file.
6288         * m4/copysignf.m4: New file.
6289         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6290         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6291         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6292         HAVE_COPYSIGNF.
6293         * modules/copysignf: New file.
6294         * tests/test-math-c++.cc: Check the declaration of copysignf.
6295         * doc/posix-functions/copysignf.texi: Mention the new module.
6296
6297 2011-10-09  Bruno Haible  <bruno@clisp.org>
6298
6299         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6300         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6301         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6302         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6303         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6304         gl_SIGNAL_H_DEFAULTS.
6305
6306 2011-10-09  Bruno Haible  <bruno@clisp.org>
6307
6308         poll: Make macro safer.
6309         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6310         ac_cv_header_poll_h is not set.
6311
6312 2011-10-09  Bruno Haible  <bruno@clisp.org>
6313
6314         copysign: Provide replacement.
6315         * lib/math.in.h (copysign): New declaration.
6316         * lib/copysign.c: New file.
6317         * m4/copysign.m4: New file.
6318         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6320         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6321         HAVE_COPYSIGN.
6322         * modules/copysign (Description): Clarify.
6323         (Files): Add lib/copysign.c, m4/copysign.m4.
6324         (Depends-on): Add math, signbit.
6325         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6326         gl_MATH_MODULE_INDICATOR.
6327         * tests/test-math-c++.cc: Check the declaration of copysign.
6328         * doc/posix-functions/copysign.texi: Mention the effects of the module
6329         on Minix and MSVC.
6330
6331 2011-10-09  Bruno Haible  <bruno@clisp.org>
6332
6333         isinf: Ensure macro on AIX 5.1.
6334         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
6335         macro.
6336         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
6337
6338 2011-10-09  Bruno Haible  <bruno@clisp.org>
6339
6340         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
6341         * modules/snprintf-posix-tests (configure.ac): Require
6342         gl_LONG_DOUBLE_VS_DOUBLE.
6343         * modules/sprintf-posix-tests (configure.ac): Likewise.
6344         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
6345         * modules/vasprintf-posix-tests (configure.ac): Likewise.
6346         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
6347         * modules/vsprintf-posix-tests (configure.ac): Likewise.
6348         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
6349         tests on platforms where 'long double' is the same as 'double'.
6350         * tests/test-sprintf-posix.h (test_function): Likewise.
6351         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6352         * tests/test-vasprintf-posix.c (test_function): Likewise.
6353
6354         *printf: Fix for platforms where 'long double' == 'double'.
6355         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6356         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6357         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6358         * modules/fprintf-posix (Files): Likewise.
6359         * modules/obstack-printf-posix (Files): Likewise.
6360         * modules/snprintf-posix (Files): Likewise.
6361         * modules/sprintf-posix (Files): Likewise.
6362         * modules/vasnprintf (Files): Likewise.
6363         * modules/vasnprintf-posix (Files): Likewise.
6364         * modules/vasprintf-posix (Files): Likewise.
6365         * modules/vdprintf-posix (Files): Likewise.
6366         * modules/vfprintf-posix (Files): Likewise.
6367         * modules/vsnprintf-posix (Files): Likewise.
6368         * modules/vsprintf-posix (Files): Likewise.
6369         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6370         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6371         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6372         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6373         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6374         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6375         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6376
6377         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6378         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6379         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6380         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6381         'long double'.
6382         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6383
6384         isinf: Fix for platforms where 'long double' == 'double'.
6385         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6386         Don't blindly assume 80-bit 'long double'.
6387
6388         isfinite: Fix for platforms where 'long double' == 'double'.
6389         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6390         Don't blindly assume 80-bit 'long double'.
6391
6392         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6393         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6394         * modules/isfinite-tests (configure.ac): Require
6395         gl_LONG_DOUBLE_VS_DOUBLE.
6396         * modules/isinf-tests (configure.ac): Likewise.
6397         * modules/isnan-tests (configure.ac): Likewise.
6398         * modules/isnanl-tests (configure.ac): Likewise.
6399         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6400         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6401         tests on platforms where 'long double' is the same as 'double'.
6402         * tests/test-isinf.c (test_isinfl): Likewise.
6403         * tests/test-isnan.c (test_long_double): Likewise.
6404         * tests/test-isnanl.h (main): Likewise.
6405
6406 2011-10-08  Bruno Haible  <bruno@clisp.org>
6407
6408         Tests for module 'tanhf'.
6409         * modules/tanhf-tests: New file.
6410         * tests/test-tanhf.c: New file.
6411
6412         New module 'tanhf'.
6413         * lib/math.in.h (tanhf): New declaration.
6414         * lib/tanhf.c: New file.
6415         * m4/tanhf.m4: New file.
6416         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6417         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6418         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6419         * modules/tanhf: New file.
6420         * tests/test-math-c++.cc: Check the declaration of tanhf.
6421         * doc/posix-functions/tanhf.texi: Mention the new module.
6422
6423         tanh: Use a .m4 file.
6424         * m4/tanh.m4: New file.
6425         * modules/tanh (Files): Add it.
6426         (configure.ac): Just invoke gl_FUNC_TANH.
6427
6428 2011-10-08  Bruno Haible  <bruno@clisp.org>
6429
6430         Tests for module 'coshf'.
6431         * modules/coshf-tests: New file.
6432         * tests/test-coshf.c: New file.
6433
6434         New module 'coshf'.
6435         * lib/math.in.h (coshf): New declaration.
6436         * lib/coshf.c: New file.
6437         * m4/coshf.m4: New file.
6438         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6439         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6440         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6441         * modules/coshf: New file.
6442         * tests/test-math-c++.cc: Check the declaration of coshf.
6443         * doc/posix-functions/coshf.texi: Mention the new module.
6444
6445         cosh: Use a .m4 file.
6446         * m4/cosh.m4: New file.
6447         * modules/cosh (Files): Add it.
6448         (configure.ac): Just invoke gl_FUNC_COSH.
6449
6450 2011-10-08  Bruno Haible  <bruno@clisp.org>
6451
6452         Tests for module 'sinhf'.
6453         * modules/sinhf-tests: New file.
6454         * tests/test-sinhf.c: New file.
6455
6456         New module 'sinhf'.
6457         * lib/math.in.h (sinhf): New declaration.
6458         * lib/sinhf.c: New file.
6459         * m4/sinhf.m4: New file.
6460         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6461         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6462         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6463         * modules/sinhf: New file.
6464         * tests/test-math-c++.cc: Check the declaration of sinhf.
6465         * doc/posix-functions/sinhf.texi: Mention the new module.
6466
6467         sinh: Use a .m4 file.
6468         * m4/sinh.m4: New file.
6469         * modules/sinh (Files): Add it.
6470         (configure.ac): Just invoke gl_FUNC_SINH.
6471
6472 2011-10-08  Bruno Haible  <bruno@clisp.org>
6473
6474         Tests for module 'atan2f'.
6475         * modules/atan2f-tests: New file.
6476         * tests/test-atan2f.c: New file.
6477
6478         New module 'atan2f'.
6479         * lib/math.in.h (atan2f): New declaration.
6480         * lib/atan2f.c: New file.
6481         * m4/atan2f.m4: New file.
6482         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6483         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6484         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6485         * modules/atan2f: New file.
6486         * tests/test-math-c++.cc: Check the declaration of atan2f.
6487         * doc/posix-functions/atan2f.texi: Mention the new module.
6488
6489         atan2: Use a .m4 file.
6490         * m4/atan2.m4: New file.
6491         * modules/atan2 (Files): Add it.
6492         (configure.ac): Just invoke gl_FUNC_ATAN2.
6493
6494 2011-10-08  Bruno Haible  <bruno@clisp.org>
6495
6496         Tests for module 'atanf'.
6497         * modules/atanf-tests: New file.
6498         * tests/test-atanf.c: New file.
6499
6500         New module 'atanf'.
6501         * lib/math.in.h (atanf): New declaration.
6502         * lib/atanf.c: New file.
6503         * m4/atanf.m4: New file.
6504         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6505         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6506         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6507         * modules/atanf: New file.
6508         * tests/test-math-c++.cc: Check the declaration of atanf.
6509         * doc/posix-functions/atanf.texi: Mention the new module.
6510
6511         atan: Use a .m4 file.
6512         * m4/atan.m4: New file.
6513         * modules/atan (Files): Add it.
6514         (configure.ac): Just invoke gl_FUNC_ATAN.
6515
6516 2011-10-08  Bruno Haible  <bruno@clisp.org>
6517
6518         Tests for module 'acosf'.
6519         * modules/acosf-tests: New file.
6520         * tests/test-acosf.c: New file.
6521
6522         New module 'acosf'.
6523         * lib/math.in.h (acosf): New declaration.
6524         * lib/acosf.c: New file.
6525         * m4/acosf.m4: New file.
6526         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6528         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6529         * modules/acosf: New file.
6530         * tests/test-math-c++.cc: Check the declaration of acosf.
6531         * doc/posix-functions/acosf.texi: Mention the new module.
6532
6533         acos: Use a .m4 file.
6534         * m4/acos.m4: New file.
6535         * modules/acos (Files): Add it.
6536         (configure.ac): Just invoke gl_FUNC_ACOS.
6537
6538 2011-10-08  Bruno Haible  <bruno@clisp.org>
6539
6540         Tests for module 'asinf'.
6541         * modules/asinf-tests: New file.
6542         * tests/test-asinf.c: New file.
6543
6544         New module 'asinf'.
6545         * lib/math.in.h (asinf): New declaration.
6546         * lib/asinf.c: New file.
6547         * m4/asinf.m4: New file.
6548         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6549         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6550         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6551         * modules/asinf: New file.
6552         * tests/test-math-c++.cc: Check the declaration of asinf.
6553         * doc/posix-functions/asinf.texi: Mention the new module.
6554
6555         asin: Use a .m4 file.
6556         * m4/asin.m4: New file.
6557         * modules/asin (Files): Add it.
6558         (configure.ac): Just invoke gl_FUNC_ASIN.
6559
6560 2011-10-08  Bruno Haible  <bruno@clisp.org>
6561
6562         Tests for module 'tanf'.
6563         * modules/tanf-tests: New file.
6564         * tests/test-tanf.c: New file.
6565
6566         New module 'tanf'.
6567         * lib/math.in.h (tanf): New declaration.
6568         * lib/tanf.c: New file.
6569         * m4/tanf.m4: New file.
6570         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6571         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6572         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6573         * modules/tanf: New file.
6574         * tests/test-math-c++.cc: Check the declaration of tanf.
6575         * doc/posix-functions/tanf.texi: Mention the new module.
6576
6577         tan: Use a .m4 file.
6578         * m4/tan.m4: New file.
6579         * modules/tan (Files): Add it.
6580         (configure.ac): Just invoke gl_FUNC_TAN.
6581
6582 2011-10-08  Bruno Haible  <bruno@clisp.org>
6583
6584         Tests for module 'cosf'.
6585         * modules/cosf-tests: New file.
6586         * tests/test-cosf.c: New file.
6587
6588         New module 'cosf'.
6589         * lib/math.in.h (cosf): New declaration.
6590         * lib/cosf.c: New file.
6591         * m4/cosf.m4: New file.
6592         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6594         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6595         * modules/cosf: New file.
6596         * tests/test-math-c++.cc: Check the declaration of cosf.
6597         * doc/posix-functions/cosf.texi: Mention the new module.
6598
6599         cos: Use a .m4 file.
6600         * m4/cos.m4: New file.
6601         * modules/cos (Files): Add it.
6602         (configure.ac): Just invoke gl_FUNC_COS.
6603
6604 2011-10-08  Bruno Haible  <bruno@clisp.org>
6605
6606         Tests for module 'sinf'.
6607         * modules/sinf-tests: New file.
6608         * tests/test-sinf.c: New file.
6609
6610         New module 'sinf'.
6611         * lib/math.in.h (sinf): New declaration.
6612         * lib/sinf.c: New file.
6613         * m4/sinf.m4: New file.
6614         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6615         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6616         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6617         * modules/sinf: New file.
6618         * tests/test-math-c++.cc: Check the declaration of sinf.
6619         * doc/posix-functions/sinf.texi: Mention the new module.
6620
6621         sin: Use a .m4 file.
6622         * m4/sin.m4: New file.
6623         * modules/sin (Files): Add it.
6624         (configure.ac): Just invoke gl_FUNC_SIN.
6625
6626 2011-10-08  Bruno Haible  <bruno@clisp.org>
6627
6628         Tests for module 'powf'.
6629         * modules/powf-tests: New file.
6630         * tests/test-powf.c: New file.
6631
6632         New module 'powf'.
6633         * lib/math.in.h (powf): New declaration.
6634         * lib/powf.c: New file.
6635         * m4/powf.m4: New file.
6636         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6638         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6639         * modules/powf: New file.
6640         * tests/test-math-c++.cc: Check the declaration of powf.
6641         * doc/posix-functions/powf.texi: Mention the new module.
6642
6643         pow: Use a .m4 file.
6644         * m4/pow.m4: New file.
6645         * modules/pow (Files): Add it.
6646         (configure.ac): Just invoke gl_FUNC_POW.
6647
6648 2011-10-08  Bruno Haible  <bruno@clisp.org>
6649
6650         Tests for module 'log10f'.
6651         * modules/log10f-tests: New file.
6652         * tests/test-log10f.c: New file.
6653
6654         New module 'log10f'.
6655         * lib/math.in.h (log10f): New declaration.
6656         * lib/log10f.c: New file.
6657         * m4/log10f.m4: New file.
6658         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6659         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6660         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6661         * modules/log10f: New file.
6662         * tests/test-math-c++.cc: Check the declaration of log10f.
6663         * doc/posix-functions/log10f.texi: Mention the new module.
6664
6665         log10: Use a .m4 file.
6666         * m4/log10.m4: New file.
6667         * modules/log10 (Files): Add it.
6668         (configure.ac): Just invoke gl_FUNC_LOG10.
6669
6670 2011-10-08  Bruno Haible  <bruno@clisp.org>
6671
6672         Tests for module 'logf'.
6673         * modules/logf-tests: New file.
6674         * tests/test-logf.c: New file.
6675
6676         New module 'logf'.
6677         * lib/math.in.h (logf): New declaration.
6678         * lib/logf.c: New file.
6679         * m4/logf.m4: New file.
6680         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6681         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6682         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6683         * modules/logf: New file.
6684         * tests/test-math-c++.cc: Check the declaration of logf.
6685         * doc/posix-functions/logf.texi: Mention the new module.
6686
6687         log: Use a .m4 file.
6688         * m4/log.m4: New file.
6689         * modules/log (Files): Add it.
6690         (configure.ac): Just invoke gl_FUNC_LOG.
6691
6692 2011-10-08  Bruno Haible  <bruno@clisp.org>
6693
6694         Tests for module 'expf'.
6695         * modules/expf-tests: New file.
6696         * tests/test-expf.c: New file.
6697
6698         New module 'expf'.
6699         * lib/math.in.h (expf): New declaration.
6700         * lib/expf.c: New file.
6701         * m4/expf.m4: New file.
6702         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6703         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6704         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6705         * modules/expf: New file.
6706         * tests/test-math-c++.cc: Check the declaration of expf.
6707         * doc/posix-functions/expf.texi: Mention the new module.
6708
6709         exp: Use a .m4 file.
6710         * m4/exp.m4: New file.
6711         * modules/exp (Files): Add it.
6712         (configure.ac): Just invoke gl_FUNC_EXP.
6713
6714 2011-10-08  Bruno Haible  <bruno@clisp.org>
6715
6716         Tests for module 'sqrtf'.
6717         * modules/sqrtf-tests: New file.
6718         * tests/test-sqrtf.c: New file.
6719
6720         New module 'sqrtf'.
6721         * lib/math.in.h (sqrtf): New declaration.
6722         * lib/sqrtf.c: New file.
6723         * m4/sqrtf.m4: New file.
6724         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6725         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6726         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6727         * modules/sqrtf: New file.
6728         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6729         * doc/posix-functions/sqrtf.texi: Mention the new module.
6730
6731 2011-10-08  Bruno Haible  <bruno@clisp.org>
6732
6733         Tests: Avoid link failures w.r.t. libintl.
6734         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6735         $(LIBINTL).
6736         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6737         $(LIBINTL).
6738         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6739         against $(LIBINTL).
6740         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6741         $(LIBINTL).
6742         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6743         $(LIBINTL).
6744         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6745
6746 2011-10-08  Bruno Haible  <bruno@clisp.org>
6747
6748         pow tests: Defeat compiler optimizations.
6749         * tests/test-pow.c (main): Assign arguments to x and y before use.
6750
6751 2011-10-08  Bruno Haible  <bruno@clisp.org>
6752
6753         gnulib-tool: Improve last commit.
6754         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6755         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6756         ignore dependencies that are not among the modules list.
6757
6758 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6759
6760         gnulib-tool: don't follow dependencies to avoided modules
6761         This fixes a bug that is related to the previous one.
6762         * gnulib-tool (func_modules_transitive_closure)
6763         (func_emit_autoconf_snippets):
6764         Check whether a dependency is acceptable before using it.
6765         (--extract-dependencies): Report an error if --avoid is also used,
6766         since this combination of options is not yet supported.
6767
6768         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6769         Problem reported by Peter Dyballa in
6770         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6771         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6772         when echoing "$condition".
6773
6774 2011-10-07  Bruno Haible  <bruno@clisp.org>
6775
6776         Fix documentation about math functions on MacOS X.
6777         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6778         MacOS X 10.5.
6779         * doc/posix-functions/fdim.texi: Likewise.
6780         * doc/posix-functions/feclearexcept.texi: Likewise.
6781         * doc/posix-functions/fegetenv.texi: Likewise.
6782         * doc/posix-functions/fegetround.texi: Likewise.
6783         * doc/posix-functions/feholdexcept.texi: Likewise.
6784         * doc/posix-functions/feraiseexcept.texi: Likewise.
6785         * doc/posix-functions/fesetenv.texi: Likewise.
6786         * doc/posix-functions/fesetround.texi: Likewise.
6787         * doc/posix-functions/fetestexcept.texi: Likewise.
6788         * doc/posix-functions/feupdateenv.texi: Likewise.
6789         * doc/posix-functions/fmax.texi: Likewise.
6790         * doc/posix-functions/fmin.texi: Likewise.
6791         * doc/posix-functions/log2.texi: Likewise.
6792         * doc/posix-functions/modff.texi: Likewise.
6793         * doc/posix-functions/nan.texi: Likewise.
6794         * doc/posix-functions/nanf.texi: Likewise.
6795         * doc/posix-functions/nextafterf.texi: Likewise.
6796         * doc/posix-functions/remquo.texi: Likewise.
6797
6798 2011-10-07  Bruno Haible  <bruno@clisp.org>
6799
6800         modff: Drop assumption about library that defines modff.
6801         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6802         AC_CHECK_FUNCS.
6803         * modules/modff (Files): Add m4/mathfunc.m4.
6804
6805 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6806
6807         raise tests: Avoid a GCC warning.
6808         * tests/test-raise.c (handler): Use _Noreturn.
6809
6810 2011-10-07  Bruno Haible  <bruno@clisp.org>
6811
6812         Tests for module 'ldexpf'.
6813         * modules/ldexpf-tests: New file.
6814         * tests/test-ldexpf.c: New file.
6815
6816         New module 'ldexpf'.
6817         * lib/math.in.h (ldexpf): New declaration.
6818         * lib/ldexpf.c: New file.
6819         * m4/ldexpf.m4: New file.
6820         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6822         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6823         * modules/ldexpf: New file.
6824         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6825         * doc/posix-functions/ldexpf.texi: Mention the new module.
6826
6827 2011-10-06  Bruno Haible  <bruno@clisp.org>
6828
6829         frexpf: Work around problems on IRIX and mingw.
6830         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6832         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6833         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6834         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6835         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6836         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6837
6838 2011-10-06  Bruno Haible  <bruno@clisp.org>
6839
6840         fabsf: Drop assumption about library that defines fabsf.
6841         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6842         AC_CHECK_FUNCS.
6843         * modules/fabsf (Files): Add m4/mathfunc.m4.
6844
6845 2011-10-06  Bruno Haible  <bruno@clisp.org>
6846
6847         frexpf: Drop assumption about library that defines frexpf.
6848         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6849         'int *', 'float *', 'long double *', 'float', 'long double'.
6850         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6851         AC_CHECK_FUNCS.
6852         * modules/frexpf (Files): Add m4/mathfunc.m4.
6853
6854         Tests for module 'frexpf'.
6855         * modules/frexpf-tests: New file.
6856         * tests/test-frexpf.c: New file.
6857
6858         New module 'frexpf'.
6859         * lib/math.in.h (frexpf): New declaration.
6860         * lib/frexpf.c: New file.
6861         * m4/frexpf.m4: New file.
6862         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6863         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6864         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6865         * modules/frexpf: New file.
6866         * tests/test-math-c++.cc: Check the declaration of frexpf.
6867         * doc/posix-functions/frexpf.texi: Mention the new module.
6868
6869 2011-10-06  Bruno Haible  <bruno@clisp.org>
6870
6871         math: Sort function declarations of math.in.h.
6872         * lib/math.in.h (frexp, logb): Move declarations.
6873
6874 2011-10-05  Bruno Haible  <bruno@clisp.org>
6875
6876         Tests for module 'modff'.
6877         * modules/modff-tests: New file.
6878         * tests/test-modff.c: New file.
6879
6880         New module 'modff'.
6881         * lib/math.in.h (modff): New declaration.
6882         * lib/modff.c: New file.
6883         * m4/modff.m4: New file.
6884         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6886         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6887         * modules/modff: New file.
6888         * tests/test-math-c++.cc: Check the declaration of modff.
6889         * doc/posix-functions/modff.texi: Mention the new module.
6890
6891         modf tests: Make test sharper.
6892         * tests/test-modf.c (main): Strengthen upper bound.
6893
6894         modf: Use a .m4 file.
6895         * m4/modf.m4: New file.
6896         * modules/modf (Files): Add it.
6897         (configure.ac): Just invoke gl_FUNC_MODF.
6898
6899 2011-10-05  Bruno Haible  <bruno@clisp.org>
6900
6901         Tests for module 'fmodf'.
6902         * modules/fmodf-tests: New file.
6903         * tests/test-fmodf.c: New file.
6904
6905         New module 'fmodf'.
6906         * lib/math.in.h (fmodf): New declaration.
6907         * lib/fmodf.c: New file.
6908         * m4/fmodf.m4: New file.
6909         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6910         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6911         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6912         * modules/fmodf: New file.
6913         * tests/test-math-c++.cc: Check the declaration of fmodf.
6914         * doc/posix-functions/fmodf.texi: Mention the new module.
6915
6916         fmod: Use a .m4 file.
6917         * m4/fmod.m4: New file.
6918         * modules/fmod (Files): Add it.
6919         (configure.ac): Just invoke gl_FUNC_FMOD.
6920
6921 2011-10-05  Bruno Haible  <bruno@clisp.org>
6922
6923         Tests for module 'fabsf'.
6924         * modules/fabsf-tests: New file.
6925         * tests/test-fabsf.c: New file.
6926
6927         New module 'fabsf'.
6928         * lib/math.in.h (fabsf): New declaration.
6929         * lib/fabsf.c: New file.
6930         * m4/fabsf.m4: New file.
6931         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6933         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6934         * modules/fabsf: New file.
6935         * tests/test-math-c++.cc: Check the declaration of fabsf.
6936         * doc/posix-functions/fabsf.texi: Mention the new module.
6937
6938         fabs: Use a .m4 file.
6939         * m4/fabs.m4: New file.
6940         * modules/fabs (Files): Add it.
6941         (configure.ac): Just invoke gl_FUNC_FABS.
6942
6943 2011-10-05  Jim Meyering  <meyering@redhat.com>
6944
6945         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6946         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6947         ls -lL regression introduced in coreutils-8.12, it does so at the
6948         cost of an additional stat call in the common case.  Besides, now
6949         that the kernel change that prompted commit 95f7c57f has been reverted
6950         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6951         we have no use for commit 95f7c57f, "file-has-acl: use
6952         acl_extended_file_nofollow if available".
6953
6954 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6955
6956         file-has-acl: revert unintended change in behavior of ls -L
6957         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6958         derived from...
6959         (file_has_acl): ...code here.  Call it.
6960         This problem was introduced with 2011-07-22 commit 95f7c57f,
6961         "file-has-acl: use acl_extended_file_nofollow if available".
6962         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6963
6964 2011-10-03  Bruno Haible  <bruno@clisp.org>
6965
6966         poll: Avoid link errors on MSVC.
6967         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6968         * modules/poll (Depends-on): Add sockets.
6969         (Link): New section.
6970         * NEWS: Mention the change.
6971         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6972         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6973         $(LIB_POLL) instead of $(LIBSOCKET).
6974
6975 2011-10-03  Bruno Haible  <bruno@clisp.org>
6976
6977         sys_select tests: Fix link error on MSVC 9.
6978         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6979         with $(LIB_SELECT) instead of $(LIBSOCKET).
6980
6981 2011-10-03  Bruno Haible  <bruno@clisp.org>
6982
6983         sys_select: Fix compilation error on mingw.
6984         * lib/sys_select.in.h: On native Windows, include <io.h>.
6985
6986 2011-10-03  Bruno Haible  <bruno@clisp.org>
6987
6988         wmemset: Support for MSVC.
6989         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6990         whether wmemset() exists.
6991
6992 2011-10-03  Bruno Haible  <bruno@clisp.org>
6993
6994         wmemmove: Support for MSVC.
6995         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6996         whether wmemmove() exists.
6997
6998 2011-10-03  Bruno Haible  <bruno@clisp.org>
6999
7000         wmemcpy: Support for MSVC.
7001         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
7002         whether wmemcpy() exists.
7003
7004 2011-10-03  Bruno Haible  <bruno@clisp.org>
7005
7006         wmemcmp: Support for MSVC.
7007         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
7008         whether wmemcmp() exists.
7009
7010 2011-10-03  Bruno Haible  <bruno@clisp.org>
7011
7012         wmemchr: Support for MSVC.
7013         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
7014         whether wmemchr() exists.
7015
7016 2011-10-03  Bruno Haible  <bruno@clisp.org>
7017
7018         glthread/*, strsignal: Support for MSVC.
7019         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
7020         including <winsock.h> on MSVC 9.
7021         * lib/glthread/lock.h: Likewise.
7022         * lib/glthread/thread.h: Likewise.
7023         * lib/glthread/tls.h: Likewise.
7024         * lib/glthread/yield.h: Likewise.
7025         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
7026         if HAVE_UNISTD_H is false.
7027         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
7028
7029 2011-10-03  Bruno Haible  <bruno@clisp.org>
7030
7031         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
7032         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
7033         Set to 100000.
7034
7035 2011-10-03  Bruno Haible  <bruno@clisp.org>
7036
7037         acl: Fix specification.
7038         * lib/file-has-acl.c (file_has_acl): Fix specification.
7039
7040 2011-10-03  Bruno Haible  <bruno@clisp.org>
7041
7042         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
7043         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
7044         (compute_curr_prefix, shared_library_fullname,
7045         find_shared_library_fullname, get_shared_library_fullname, relocate):
7046         Use it together with PIC && INSTALLDIR.
7047         Reported by <jojelino@gmail.com>
7048         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
7049
7050 2011-10-01  Jim Meyering  <meyering@redhat.com>
7051
7052         maint.mk: adjust a release-related rule not to require use of gzip
7053         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
7054         Instead, check each file in $(DIST_ARCHIVES).  This is better for
7055         projects that build only .tar.xz files.  Also fix an erroneous test.
7056
7057         test-linkat: don't leave behind a temporary file
7058         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
7059         Otherwise, coreutils' "make distcheck" would fail with this:
7060           Only in /c/cu/tests/torture/coreutils/test/\
7061             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
7062           make[2]: *** [my-distcheck] Error 1
7063
7064         float, math: add omitted file
7065         * lib/itold.c: Add file, required for yesterday's float change.
7066
7067 2011-10-01  Bruno Haible  <bruno@clisp.org>
7068
7069         isinf: Fix for OpenBSD/x86.
7070         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
7071         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
7072         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
7073
7074 2011-10-01  Bruno Haible  <bruno@clisp.org>
7075
7076         isfinite: Fix syntax error in configure test.
7077         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
7078
7079         isfinite: Fix typo.
7080         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
7081         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
7082
7083 2011-10-01  Bruno Haible  <bruno@clisp.org>
7084
7085         nonblocking tests: Fix test failure on Linux/IA-64.
7086         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
7087         Set to 270000.
7088
7089 2011-10-01  Bruno Haible  <bruno@clisp.org>
7090
7091         mkfifoat tests: Fix a test failure on mingw.
7092         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
7093         with error ENOSYS.
7094
7095 2011-09-30  Bruno Haible  <bruno@clisp.org>
7096
7097         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
7098         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
7099         'long double'. Set REPLACE_ITOLD.
7100         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
7101         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
7102         * lib/itold.c: New file.
7103         * modules/float (Files): Add lib/itold.c.
7104         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
7105         (Makefile.am): Substitute REPLACE_ITOLD.
7106         * modules/math (Depends-on): Add float.
7107         (Makefile.am): Substitute REPLACE_ITOLD.
7108         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
7109         * doc/posix-headers/math.texi: Likewise.
7110         * doc/posix-functions/logl.texi: Likewise.
7111
7112 2011-09-30  Bruno Haible  <bruno@clisp.org>
7113
7114         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
7115         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
7116         Set to 140000.
7117
7118 2011-09-30  Bruno Haible  <bruno@clisp.org>
7119
7120         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
7121         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
7122         invocation, say "right after AC_PROG_CC_STDC", not "right after
7123         AC_PROG_CC".
7124         Reported by Gary V. Vaughan <gary@gnu.org>.
7125
7126 2011-09-30  Bruno Haible  <bruno@clisp.org>
7127
7128         Centralize C99 requirement.
7129         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
7130         * modules/stdarg (configure.ac-early): Invoke it instead of
7131         AC_PROG_CC_STDC.
7132         Reported by Gary V. Vaughan and Paul Eggert.
7133
7134 2011-09-29  Bruno Haible  <bruno@clisp.org>
7135
7136         float: Fix LDBL_MAX value on Linux/PowerPC.
7137         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
7138         on Linux/PowerPC.
7139         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
7140         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
7141         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
7142         platform.
7143         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
7144
7145 2011-09-29  Bruno Haible  <bruno@clisp.org>
7146
7147         doc: Improve doc about gl_EARLY.
7148         * doc/gnulib-tool.texi (Initial import): Mention where to place an
7149         AC_PROG_CC_STDC invocation.
7150         Reported by Gary V. Vaughan <gary@gnu.org>.
7151
7152 2011-09-28  Bruno Haible  <bruno@clisp.org>
7153
7154         fgetc, fputc, fread, fwrite tests: Fix link error.
7155         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
7156         on non-MSVC platforms.
7157         * tests/test-fputc.c (main): Likewise.
7158         * tests/test-fread.c (main): Likewise.
7159         * tests/test-fwrite.c (main): Likewise.
7160         Reported by Jim Meyering.
7161
7162 2011-09-27  Bruno Haible  <bruno@clisp.org>
7163
7164         fputc, fwrite tests: Avoid test failure on MSVC.
7165         * tests/test-fgetc.c: Include msvc-inval.h.
7166         (main): Invoke gl_msvc_inval_ensure_handler.
7167         * tests/test-fputc.c: Include msvc-inval.h.
7168         (main): Invoke gl_msvc_inval_ensure_handler.
7169         * tests/test-fread.c: Include msvc-inval.h.
7170         (main): Invoke gl_msvc_inval_ensure_handler.
7171         * tests/test-fwrite.c: Include msvc-inval.h.
7172         (main): Invoke gl_msvc_inval_ensure_handler.
7173         * modules/fgetc-tests (Depends-on): Add msvc-inval.
7174         * modules/fputc-tests (Depends-on): Likewise.
7175         * modules/fread-tests (Depends-on): Likewise.
7176         * modules/fwrite-tests (Depends-on): Likewise.
7177
7178 2011-09-27  Bruno Haible  <bruno@clisp.org>
7179
7180         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
7181         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
7182         (raise): Remove older, duplicated declaration.
7183         (_gl_raise_SIGPIPE): New declaration.
7184         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
7185         (rpl_raise): Remove function.
7186         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
7187         a gnulib-defined SIGPIPE here.
7188         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
7189         'sigprocmask' has detected missing signal-blocking and the module
7190         'sigpipe' is enabled.
7191         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7192
7193 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
7194
7195         base64-tests: avoid memory leak
7196         * tests/test-base64.c (main): Plug memory leak.
7197
7198         base32: new module
7199         * modules/base32: New module.
7200         * lib/base32.c: New file.
7201         * lib/base32.h: Likewise.
7202         * m4/base32.m4: Likewise.
7203         * modules/base32-tests: New test.
7204         * tests/test-base32.c: Likewise.
7205         * MODULES.html.sh (Misc): Mention it.
7206
7207 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7208
7209         gnulib: use more-standard license notice wording
7210         * gnulib-tool (func_emit_copyright_notice): When emitting a
7211         license notice into a file, use the standard wording as suggested
7212         by the current information for GNU maintainers, except say "file"
7213         rather than "program".  The new wording gives a license version
7214         number, which addresses an issue raised by Glenn Morris in
7215         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
7216         * m4/onceonly.m4: Use that same wording here, too.
7217
7218         dup2: minor simplification
7219         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
7220         as lib/dup2.c no longer uses 'inline'.
7221
7222 2011-09-25  Bruno Haible  <bruno@clisp.org>
7223
7224         strings: Fix compilation error on MSVC.
7225         * lib/strings.in.h: Include <stddef.h> for size_t.
7226
7227 2011-09-25  Bruno Haible  <bruno@clisp.org>
7228
7229         fflush et al.: Document limitation on MSVC.
7230         * doc/posix-functions/fflush.texi: Document possible crash in handling
7231         mode other than DEFAULT_HANDLING.
7232         * doc/posix-functions/fgetc.texi: Likewise.
7233         * doc/posix-functions/fputc.texi: Likewise.
7234         * doc/posix-functions/fread.texi: Likewise.
7235         * doc/posix-functions/fwrite.texi: Likewise.
7236
7237 2011-09-25  Bruno Haible  <bruno@clisp.org>
7238
7239         msvc-inval: Allow three invalid parameter handling modes.
7240         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7241         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7242         macros.
7243         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7244         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7245         SANE_LIBRARY_HANDLING as a no-op.
7246         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7247         <stdlib.h>.
7248         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7249
7250 2011-09-25  Bruno Haible  <bruno@clisp.org>
7251
7252         msvc-inval: Make handler multithread-safe.
7253         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7254         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7255         declarations.
7256         (gl_msvc_inval_current): New declaration.
7257         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7258         Operate on the structure returned by gl_msvc_inval_current().
7259         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7260         Remove varaiables.
7261         (tls_index, tls_initialized): New variables.
7262         (not_per_thread): New variable.
7263         (gl_msvc_inval_current): New function.
7264         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7265         returned by gl_msvc_inval_current().
7266
7267 2011-09-25  Bruno Haible  <bruno@clisp.org>
7268
7269         msvc-inval: Install handler globally.
7270         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7271         !_MSC_VER.
7272         (gl_msvc_invalid_parameter_handler): Remove declaration.
7273         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7274         declarations.
7275         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7276         Install the handler globally, don't uninstall it.
7277         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7278         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7279         currently valid, call RaiseException instead.
7280         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7281         for !_MSC_VER.
7282
7283 2011-09-25  Bruno Haible  <bruno@clisp.org>
7284
7285         strerror_r-posix: Fix for MSVC 9.
7286         * lib/strerror_r.c (local_snprintf): New function.
7287         (snprintf): Define to local_snprintf, not to _snprintf.
7288
7289 2011-09-25  Bruno Haible  <bruno@clisp.org>
7290
7291         ftruncate: Support for MSVC 9.
7292         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7293         (chsize_nothrow): New function.
7294         (chsize): Redefine as a macro.
7295         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7296         * modules/ftruncate (Depends-on): Add msvc-inval.
7297
7298 2011-09-25  Bruno Haible  <bruno@clisp.org>
7299
7300         New module 'fstat'.
7301         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7302         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7303         * lib/fchdir.c (rpl_fstat): Remove function.
7304         * m4/fstat.m4: New file.
7305         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7306         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7307         declared.
7308         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7309         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7310         * modules/fstat: New file.
7311         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7312         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7313         is set.
7314         * doc/posix-functions/fstat.texi: Mention the new module and the
7315         problem on MSVC.
7316         * NEWS: Mention the change.
7317         * modules/acl (Depends-on): Add fstat.
7318         * modules/chdir-safer (Depends-on): Likewise.
7319         * modules/chown (Depends-on): Likewise.
7320         * modules/copy-file (Depends-on): Likewise.
7321         * modules/fchdir (Depends-on): Likewise.
7322         * modules/fdopendir (Depends-on): Likewise.
7323         * modules/fopen (Depends-on): Likewise.
7324         * modules/fts (Depends-on): Likewise.
7325         * modules/getcwd (Depends-on): Likewise.
7326         * modules/isapipe (Depends-on): Likewise.
7327         * modules/linkat (Depends-on): Likewise.
7328         * modules/lseek (Depends-on): Likewise.
7329         * modules/mkdir-p (Depends-on): Likewise.
7330         * modules/open (Depends-on): Likewise.
7331         * modules/openat (Depends-on): Likewise.
7332         * modules/read-file (Depends-on): Likewise.
7333         * modules/renameat (Depends-on): Likewise.
7334         * modules/utimens (Depends-on): Likewise.
7335
7336 2011-09-25  Bruno Haible  <bruno@clisp.org>
7337
7338         linkat: Fix compilation on MSVC 9.
7339         * lib/linkat.c: Don't include <stdint.h>.
7340
7341 2011-09-25  Bruno Haible  <bruno@clisp.org>
7342
7343         fclose: Support for MSVC 9.
7344         * lib/fclose.c: Include msvc-inval.h.
7345         (fclose_nothrow): New function.
7346         (rpl_fclose): Use it.
7347         * modules/fclose (Depends-on): Add msvc-inval.
7348         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
7349
7350 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7351
7352         dup2: minor simplifications
7353         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7354         that it's a performance win.
7355         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7356         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7357
7358 2011-09-24  Jim Meyering  <meyering@redhat.com>
7359
7360         test-futimens: avoid a warning from gcc -Wshadow
7361         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7362         to avoid a shadowing warning.
7363
7364 2011-09-24  Bruno Haible  <bruno@clisp.org>
7365
7366         fdopen: Support for MSVC 9.
7367         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7368         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7369         * lib/fdopen.c: Include msvc-inval.h.
7370         (fdopen_nothrow): New function.
7371         (rpl_fdopen): Use it.
7372         * modules/fdopen (Depends-on): Add msvc-inval.
7373         * modules/fclose-tests (Depends-on): Add fdopen.
7374         * modules/fflush-tests (Depends-on): Likewise.
7375         * modules/fgetc-tests (Depends-on): Likewise.
7376         * modules/fputc-tests (Depends-on): Likewise.
7377         * modules/fread-tests (Depends-on): Likewise.
7378         * modules/freopen-tests (Depends-on): Likewise.
7379         * modules/fseeko-tests (Depends-on): Likewise.
7380         * modules/ftello-tests (Depends-on): Likewise.
7381         * modules/fwrite-tests  (Depends-on): Likewise.
7382         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7383
7384 2011-09-24  Bruno Haible  <bruno@clisp.org>
7385
7386         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7387         * modules/fgetc-tests (Depends-on): Add unistd.
7388         * modules/fputc-tests (Depends-on): Likewise.
7389         * modules/fread-tests (Depends-on): Likewise.
7390         * modules/fwrite-tests (Depends-on): Likewise.
7391
7392 2011-09-24  Bruno Haible  <bruno@clisp.org>
7393
7394         dup: Simplify autoconf test.
7395         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7396         on gl_MSVC_INVAL's result.
7397
7398 2011-09-24  Bruno Haible  <bruno@clisp.org>
7399
7400         Tests for function fwrite().
7401         * modules/fwrite-tests: New file.
7402         * tests/test-fwrite.c: New file.
7403         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7404
7405         Tests for function fread().
7406         * modules/fread-tests: New file.
7407         * tests/test-fread.c: New file.
7408         * modules/stdio-tests (Depends-on): Add fread-tests.
7409
7410         Activate fputc tests.
7411         * modules/stdio-tests (Depends-on): Add fputc-tests.
7412
7413         Enhance fgetc, fputc tests.
7414         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7415         * tests/test-fputc.c (main): Likewise.
7416
7417 2011-09-24  Bruno Haible  <bruno@clisp.org>
7418
7419         write: Support for MSVC 9.
7420         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7421         is not 1.
7422         * lib/write.c (write_nothrow): New function.
7423         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7424         not 1. Use write_nothrow.
7425         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7426         invalid parameter handler.
7427         (gl_PREREQ_WRITE): New macro.
7428         * modules/write (Depends-on): Add msvc-inval.
7429         (configure.ac): Invoke gl_PREREQ_WRITE.
7430         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7431
7432 2011-09-24  Bruno Haible  <bruno@clisp.org>
7433
7434         read: Fix last commit.
7435         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7436
7437 2011-09-24  Bruno Haible  <bruno@clisp.org>
7438
7439         dup2: Fix last commit.
7440         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7441         (rpl_dup2): Disable fcntl workaround on native Windows.
7442
7443         sigprocmask: Make code safer.
7444         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7445         section that changes macro definitions for this compilation unit.
7446
7447 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7448
7449         dup2: clarify by coalescing Windows-specific material
7450         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7451         "msvc-nothrow.h"' to the Windows-specific section, so that the
7452         Emacs source need not contain these include files.
7453         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7454         Windows-specific fixes into this function rather than just the
7455         nothrow fix, as this shortens and clarifies the code.  Always
7456         define as a function, as that's a bit cleaner than having it be
7457         sometimes a function and sometimes a macro.
7458         (rpl_dup2): Move the Windows-specific stuff out of here and into
7459         ms_windows_dup2.  Don't protect the Haiku-related fix with
7460         "#if !defined __linux__", as the same code also works around
7461         a Linux kernel bug, and it doesn't add any system calls on any
7462         platform.  Add comment about FreeBSD 6.1.
7463
7464         sigprocmask: move #include directive
7465         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7466         Windows-specific section, so that the Emacs source need not
7467         contain msvc-inval.h.
7468
7469 2011-09-23  Bruno Haible  <bruno@clisp.org>
7470
7471         read: Support for MSVC 9.
7472         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7473         is not 1.
7474         * lib/read.c (read_nothrow): New function.
7475         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7476         read_nothrow.
7477         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7478         invalid parameter handler.
7479         (gl_PREREQ_READ): New macro.
7480         * modules/read (Depends-on): Add msvc-inval.
7481         (configure.ac): Invoke gl_PREREQ_READ.
7482         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7483
7484 2011-09-23  Bruno Haible  <bruno@clisp.org>
7485
7486         close: Support for MSVC 9.
7487         * lib/close.c: Include <errno.h>, msvc-inval.h.
7488         (close_nothrow): New function.
7489         (rpl_close): Use it.
7490         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7491         invalid parameter handler.
7492         * modules/close (Depends-on): Add msvc-inval.
7493         * modules/dup2-tests (Depends-on): Add close.
7494         * modules/dup3-tests (Depends-on): Likewise.
7495         * modules/fcntl-tests (Depends-on): Likewise.
7496         * modules/spawn-pipe-tests (Depends-on): Likewise.
7497         * modules/unistd-safer-tests (Depends-on): Likewise.
7498         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7499
7500 2011-09-23  Bruno Haible  <bruno@clisp.org>
7501
7502         New module 'dup'.
7503         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7504         Allow replacement.
7505         * lib/dup.c: New file.
7506         * lib/fchdir.c (rpl_dup): Remove function.
7507         * m4/dup.m4: New file.
7508         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7509         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7510         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7511         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7512         * modules/dup: New file.
7513         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7514         'dup' module is in use.
7515         * modules/fdopendir (Depends-on): Add dup.
7516         * modules/fdutimensat-tests (Depends-on): Likewise.
7517         * modules/fts (Depends-on): Likewise.
7518         * modules/futimens-tests (Depends-on): Likewise.
7519         * modules/posix_spawnp-tests (Depends-on): Likewise.
7520         * modules/unistd-safer-tests (Depends-on): Likewise.
7521         * modules/utimens-tests (Depends-on): Likewise.
7522         * doc/posix-functions/dup.texi: Mention the new module and the problem
7523         on MSVC.
7524
7525 2011-09-23  Bruno Haible  <bruno@clisp.org>
7526
7527         getdtablesize: Support for MSVC 9.
7528         * lib/getdtablesize.c: Include msvc-inval.h.
7529         (_setmaxstdio_nothrow): New function.
7530         (_setmaxstdio): Redefine it.
7531         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7532         * modules/getdtablesize (Depends-on): Add msvc-inval.
7533         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7534
7535 2011-09-23  Bruno Haible  <bruno@clisp.org>
7536
7537         signal-h: Rename from signal.
7538         * modules/signal-h: Renamed from modules/signal.
7539         * modules/pthread_sigmask (Depends-on): Update.
7540         * modules/raise (Depends-on): Likewise.
7541         * modules/sigaction (Depends-on): Likewise.
7542         * modules/sigpipe (Depends-on): Likewise.
7543         * modules/sigprocmask (Depends-on): Likewise.
7544         * modules/sys_select (Depends-on): Likewise.
7545         * modules/signal-h-tests: Renamed from modules/signal-tests.
7546         (Files, Depends-on, Makefile.am): Update.
7547         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7548         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7549         (Files, Makefile.am): Update.
7550         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7551         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7552         * modules/signal: New placeholder file.
7553         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7554         * doc/posix-headers/signal.texi: Update.
7555         * NEWS: Mention the change.
7556
7557 2011-09-23  Bruno Haible  <bruno@clisp.org>
7558
7559         sigprocmask: Avoid crashes through signal() on MSVC 9.
7560         * lib/sigprocmask.c: Include msvc-inval.h.
7561         (signal_nothrow): New function.
7562         (signal): Redefine it.
7563         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7564         * modules/sigprocmask (Depends-on): Add msvc-inval.
7565         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7566
7567 2011-09-23  Bruno Haible  <bruno@clisp.org>
7568
7569         Tests for module 'raise'.
7570         * modules/raise-tests: New file.
7571         * tests/test-raise.c: New file.
7572
7573         raise: Support for MSVC.
7574         * lib/signal.in.h (raise): New declaration.
7575         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7576         for native Windows platforms.
7577         * m4/raise.m4: New file.
7578         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7579         HAVE_RAISE, REPLACE_RAISE.
7580         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7581         REPLACE_RAISE.
7582         * modules/raise (Status, Notice): Remove fields.
7583         (Files): Add m4/raise.m4.
7584         (Depends-on): Add signal, msvc-inval.
7585         (configure.ac): Use the common idioms.
7586         (Maintainer): Add me.
7587         * tests/test-signal-c++.cc: Check the signature of raise.
7588         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7589
7590 2011-09-23  Bruno Haible  <bruno@clisp.org>
7591
7592         pipe2: Fix compilation on pre-C99 compilers.
7593         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7594
7595 2011-09-23  Bruno Haible  <bruno@clisp.org>
7596
7597         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7598         * lib/msvc-nothrow.h: New file.
7599         * lib/msvc-nothrow.c: New file.
7600         * m4/msvc-nothrow.m4: New file.
7601         * modules/msvc-nothrow: New file.
7602         * lib/dup2.c: Include msvc-nothrow.h.
7603         (rpl_dup2): No need to protect _get_osfhandle call here.
7604         * lib/accept4.c: Include msvc-nothrow.h.
7605         * lib/error.c: Likewise.
7606         * lib/fcntl.c: Likewise.
7607         * lib/lseek.c: Likewise.
7608         * lib/nonblocking.c: Likewise.
7609         * lib/poll.c: Likewise.
7610         * lib/read.c: Likewise.
7611         * lib/select.c: Likewise.
7612         * lib/sockets.h: Likewise.
7613         * lib/sockets.c: Likewise.
7614         * lib/stdio-read.c: Likewise.
7615         * lib/stdio-write.c: Likewise.
7616         * lib/write.c: Likewise.
7617         * lib/w32sock.h: Likewise.
7618         * lib/w32spawn.h: Likewise.
7619         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7620         * lib/fsync.c: Likewise.
7621         * lib/isapipe.c: Likewise.
7622         * modules/dup2 (Depends-on): Add msvc-nothrow.
7623         * modules/accept4 (Depends-on): Likewise.
7624         * modules/error (Depends-on): Likewise.
7625         * modules/fcntl (Depends-on): Likewise.
7626         * modules/lseek (Depends-on): Likewise.
7627         * modules/nonblocking (Depends-on): Likewise.
7628         * modules/poll (Depends-on): Likewise.
7629         * modules/read (Depends-on): Likewise.
7630         * modules/select (Depends-on): Likewise.
7631         * modules/sockets (Depends-on): Likewise.
7632         * modules/sigpipe (Depends-on): Likewise.
7633         * modules/write (Depends-on): Likewise.
7634         * modules/accept (Depends-on): Likewise.
7635         * modules/bind (Depends-on): Likewise.
7636         * modules/connect (Depends-on): Likewise.
7637         * modules/gethostname (Depends-on): Likewise.
7638         * modules/getpeername (Depends-on): Likewise.
7639         * modules/getsockname (Depends-on): Likewise.
7640         * modules/getsockopt (Depends-on): Likewise.
7641         * modules/ioctl (Depends-on): Likewise.
7642         * modules/listen (Depends-on): Likewise.
7643         * modules/recv (Depends-on): Likewise.
7644         * modules/recvfrom (Depends-on): Likewise.
7645         * modules/send (Depends-on): Likewise.
7646         * modules/sendto (Depends-on): Likewise.
7647         * modules/setsockopt (Depends-on): Likewise.
7648         * modules/shutdown (Depends-on): Likewise.
7649         * modules/socket (Depends-on): Likewise.
7650         * modules/execute (Depends-on): Likewise.
7651         * modules/spawn-pipe (Depends-on): Likewise.
7652         * modules/flock (Depends-on): Likewise.
7653         * modules/fsync (Depends-on): Likewise.
7654         * modules/isapipe (Depends-on): Likewise.
7655         * tests/test-cloexec.c: Include msvc-nothrow.h.
7656         * tests/test-dup-safer.c: Likewise.
7657         * tests/test-dup2.c: Likewise.
7658         * tests/test-dup3.c: Likewise.
7659         * tests/test-fcntl.c: Likewise.
7660         * tests/test-pipe.c: Likewise.
7661         * tests/test-pipe2.c: Likewise.
7662         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7663         * modules/unistd-safer-tests (Depends-on): Likewise.
7664         * modules/dup2-tests (Depends-on): Likewise.
7665         * modules/dup3-tests (Depends-on): Likewise.
7666         * modules/fcntl-tests (Depends-on): Likewise.
7667         * modules/pipe-posix-tests (Depends-on): Likewise.
7668         * modules/pipe2-tests (Depends-on): Likewise.
7669
7670 2011-09-23  Bruno Haible  <bruno@clisp.org>
7671
7672         dup2: Make code more maintainable.
7673         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7674         (rpl_dup2): Use it.
7675         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7676         * modules/dup2 (configure.ac): Invoke it.
7677         Reported by Paul Eggert.
7678
7679 2011-09-23  Bruno Haible  <bruno@clisp.org>
7680
7681         msvc-inval: Fix compilation error.
7682         * lib/msvc-inval.h: Include <excpt.h>.
7683
7684 2011-09-23  Bruno Haible  <bruno@clisp.org>
7685
7686         mkdir: Tweak for MSVC 9.
7687         * lib/sys_stat.in.h: Update comments.
7688         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7689
7690         Tests for module 'chdir'.
7691         * modules/chdir-tests: New file.
7692         * tests/test-chdir.c: New file.
7693
7694         New module 'chdir'.
7695         * modules/chdir: New file.
7696         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7697         (chdir): New declaration.
7698         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7699         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7700         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7701         * tests/test-unistd-c++.cc: Check signature of chdir.
7702         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7703         * modules/chdir-long (Depends-on): Add chdir.
7704         * modules/fchdir (Depends-on): Likewise.
7705         * modules/rename (Depends-on): Likewise.
7706         * modules/savewd (Depends-on): Likewise.
7707
7708         rmdir: Support for mingw, MSVC 9.
7709         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7710         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7711
7712         getcwd: Tweak for MSVC 9.
7713         * lib/unistd.in.h: Update comments.
7714         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7715
7716 2011-09-22  Bruno Haible  <bruno@clisp.org>
7717
7718         strerror_r-posix: Avoid a link error on MSVC.
7719         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7720         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7721
7722 2011-09-22  Bruno Haible  <bruno@clisp.org>
7723
7724         select: Avoid link errors on MSVC.
7725         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7726         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7727         * modules/pselect (Link): Likewise.
7728         * NEWS: Mention the change.
7729         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7730         test-select-stdin against $(LIB_SELECT).
7731         * modules/pselect-tests (Makefile.am): Link test-pselect against
7732         $(LIB_SELECT).
7733
7734 2011-09-22  Bruno Haible  <bruno@clisp.org>
7735
7736         select: Avoid compilation error on MSVC.
7737         * lib/select.c: Don't include <stdbool.h>.
7738
7739 2011-09-21  Bruno Haible  <bruno@clisp.org>
7740
7741         Consolidate all uses of PATH_MAX in *.m4 files.
7742         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7743         macros.
7744         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7745         and gl_PATHMAX_SNIPPET.
7746         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7747         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7748         * modules/chdir-long (Files): Add m4/pathmax.m4.
7749         * modules/getcwd (Files): Likewise.
7750
7751 2011-09-21  Bruno Haible  <bruno@clisp.org>
7752
7753         ftruncate: Un-deprecate, concentrate on Win32 support.
7754         * modules/ftruncate (Status, Notice): Remove sections.
7755         (Depends-on): Add largefile.
7756         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7757         non-mingw platforms.
7758         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7759         include <io.h>.
7760         * modules/perror-tests (Depends-on): Add ftruncate.
7761         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7762         'ftruncate' module.
7763
7764 2011-09-21  Bruno Haible  <bruno@clisp.org>
7765
7766         Add dependencies to new dirent related modules.
7767         * modules/opendir (Depends-on): Add closedir.
7768         * modules/getcwd (Depends-on): Add opendir, closedir.
7769         * modules/dirent-safer-tests (Depends-on): Likewise.
7770         * modules/fdopendir-tests (Depends-on): Likewise.
7771         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7772         * modules/renameat-tests (Depends-on): Likewise.
7773
7774 2011-09-21  Bruno Haible  <bruno@clisp.org>
7775
7776         opendir: Avoid compilation error on mingw.
7777         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7778         * modules/opendir (Depends-on): Add unistd.
7779
7780 2011-09-21  Bruno Haible  <bruno@clisp.org>
7781
7782         ftruncate tests: Avoid a test failure on mingw.
7783         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7784
7785 2011-09-21  Bruno Haible  <bruno@clisp.org>
7786
7787         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7788         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7789         native Windows.
7790
7791 2011-09-21  Bruno Haible  <bruno@clisp.org>
7792
7793         New module 'fdopen'.
7794         * lib/stdio.in.h (fdopen): New declaration.
7795         * lib/fdopen.c: New file.
7796         * m4/fdopen.m4: New file.
7797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7798         REPLACE_FDOPEN.
7799         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7800         REPLACE_FDOPEN.
7801         * modules/fdopen: New file.
7802         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7803         * tests/test-stdio-c++.cc: Check signature of fdopen.
7804         * doc/posix-functions/fdopen.texi: Mention the new module.
7805
7806 2011-09-21  Bruno Haible  <bruno@clisp.org>
7807
7808         unlockpt tests: Avoid test failure on NetBSD 5.1.
7809         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7810         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7811
7812 2011-09-21  Bruno Haible  <bruno@clisp.org>
7813
7814         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7815         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7816         * tests/test-getlogin_r.c (main): Likewise.
7817
7818 2011-09-20  Bruno Haible  <bruno@clisp.org>
7819
7820         time tests: Don't require pid_t.
7821         * doc/posix-headers/time.texi: Revert last change.
7822         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7823         * tests/test-time.c: Comment out the check for pid_t.
7824
7825 2011-09-20  Bruno Haible  <bruno@clisp.org>
7826
7827         fsync tests: Avoid a test failure on mingw.
7828         * tests/test-fsync.c (main): Allow a failure with EIO.
7829
7830 2011-09-20  Bruno Haible  <bruno@clisp.org>
7831
7832         euidaccess: Update comments.
7833         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7834
7835 2011-09-20  Bruno Haible  <bruno@clisp.org>
7836
7837         Ensure EBADF returns for socket functions on mingw.
7838         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7839         descriptor is invalid.
7840         * lib/bind.c (rpl_bind): Likewise.
7841         * lib/connect.c (rpl_connect): Likewise.
7842         * lib/getpeername.c (rpl_getpeername): Likewise.
7843         * lib/getsockname.c (rpl_getsockname): Likewise.
7844         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7845         * lib/listen.c (rpl_listen): Likewise.
7846         * lib/recv.c (rpl_recv): Likewise.
7847         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7848         * lib/send.c (rpl_send): Likewise.
7849         * lib/sendto.c (rpl_sendto): Likewise.
7850         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7851         * lib/shutdown.c (rpl_shutdown): Likewise.
7852
7853 2011-09-20  Bruno Haible  <bruno@clisp.org>
7854
7855         select tests: EBADF tests.
7856         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7857         test_bad_fd): New functions.
7858         (test_function): Invoke also test_bad_fd.
7859
7860 2011-09-20  Bruno Haible  <bruno@clisp.org>
7861
7862         Tests for module 'posix_spawn_file_actions_addopen.
7863         * modules/posix_spawn_file_actions_addopen-tests: New file.
7864         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7865
7866         Tests for module 'posix_spawn_file_actions_adddup2'.
7867         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7868         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7869
7870         Tests for module 'posix_spawn_file_actions_addclose'.
7871         * modules/posix_spawn_file_actions_addclose-tests: New file.
7872         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7873
7874 2011-09-20  Bruno Haible  <bruno@clisp.org>
7875
7876         Tests for module 'unlockpt'.
7877         * modules/unlockpt-tests: New file.
7878         * tests/test-unlockpt.c: New file.
7879         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7880
7881         Tests for module 'grantpt'.
7882         * modules/grantpt-tests: New file.
7883         * tests/test-grantpt.c: New file.
7884         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7885
7886 2011-09-20  Bruno Haible  <bruno@clisp.org>
7887
7888         freopen tests: EBADF tests.
7889         * tests/test-freopen.c: Include errno.h, unistd.h.
7890         (main): Add tests for EBADF, commented out for the moment.
7891
7892         fclose tests: EBADF tests.
7893         * tests/test-fclose.c (main): Add tests for EBADF.
7894
7895         fflush tests: EBADF tests.
7896         * tests/test-fflush.c: Include errno.h, macros.h.
7897         (main): Add tests for EBADF.
7898
7899         ftello tests: EBADF tests.
7900         * tests/test-ftello4.sh: New file.
7901         * tests/test-ftello4.c: New file.
7902         * modules/ftello-tests (Files): Add them.
7903         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7904
7905         fseeko tests: EBADF tests.
7906         * tests/test-fseeko4.sh: New file.
7907         * tests/test-fseeko4.c: New file.
7908         * modules/fseeko-tests (Files): Add them.
7909         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7910
7911         Tests for function fputc().
7912         * modules/fputc-tests: New file.
7913         * tests/test-fputc.c: New file.
7914         * modules/stdio-tests (Depends-on): Add fputc-tests.
7915
7916         Tests for function fgetc().
7917         * modules/fgetc-tests: New file.
7918         * tests/test-fgetc.c: New file.
7919         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7920
7921         Tests for function fdopen().
7922         * modules/fdopen-tests: New file.
7923         * tests/test-fdopen.c: New file.
7924         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7925
7926         Tests for module 'vdprintf'.
7927         * modules/vdprintf-tests: New file.
7928         * tests/test-vdprintf.c: New file.
7929
7930         Tests for module 'dprintf'.
7931         * modules/dprintf-tests: New file.
7932         * tests/test-dprintf.c: New file.
7933
7934 2011-09-20  Bruno Haible  <bruno@clisp.org>
7935
7936         Tests for module 'ioctl'.
7937         * modules/ioctl-tests: New file.
7938         * tests/test-ioctl.c: New file.
7939
7940 2011-09-20  Bruno Haible  <bruno@clisp.org>
7941
7942         fcntl tests: EBADF tests.
7943         * tests/test-fcntl.c (main): Add more tests for EBADF.
7944
7945 2011-09-20  Bruno Haible  <bruno@clisp.org>
7946
7947         utimensat tests: EBADF tests.
7948         * tests/test-utimensat.c (main): Add tests for EBADF.
7949
7950         renameat tests: EBADF tests.
7951         * tests/test-renameat.c (main): Add tests for EBADF.
7952
7953         mkfifoat tests: EBADF tests.
7954         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7955
7956         readlinkat tests: EBADF tests.
7957         * tests/test-readlinkat.c (main): Add tests for EBADF.
7958
7959         symlinkat tests: EBADF tests.
7960         * tests/test-symlinkat.c (main): Add tests for EBADF.
7961
7962         linkat tests: EBADF tests.
7963         * tests/test-linkat.c (main): Add tests for EBADF.
7964
7965         Tests for module 'faccessat'.
7966         * modules/faccessat-tests: New file.
7967         * tests/test-faccessat.c: New file.
7968
7969         fdopendir tests: EBADF tests.
7970         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7971
7972         openat tests: EBADF tests.
7973         * tests/test-fchownat.c (main): Add tests for EBADF.
7974         * tests/test-fstatat.c (main): Likewise.
7975         * tests/test-mkdirat.c (main): Likewise.
7976         * tests/test-openat.c (main): Likewise.
7977         * tests/test-unlinkat.c (main): Likewise.
7978         * tests/test-fchmodat.c: New file.
7979         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7980         (Makefile.am): Also run 'test-fchmodat'.
7981
7982 2011-09-20  Bruno Haible  <bruno@clisp.org>
7983
7984         utimens, futimens, fdutimensat tests: EBADF tests.
7985         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7986
7987         Tests for function fstat().
7988         * modules/fstat-tests: New file.
7989         * tests/test-fstat.c: New file.
7990         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7991
7992 2011-09-20  Bruno Haible  <bruno@clisp.org>
7993
7994         test-ttyname_r tests: EBADF tests.
7995         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7996
7997         Tests for module 'isatty'.
7998         * modules/isatty-tests: New file.
7999         * tests/test-isatty.c: New file.
8000
8001         Tests for module 'write'.
8002         * modules/write-tests: New file.
8003         * tests/test-write.c: New file.
8004
8005         Tests for module 'read'.
8006         * modules/read-tests: New file.
8007         * tests/test-read.c: New file.
8008
8009         pwrite tests: EBADF tests.
8010         * tests/test-pwrite.c (main): Add tests for EBADF.
8011
8012         pread tests: EBADF tests.
8013         * tests/test-pread.c (main): Add tests for EBADF.
8014
8015         lseek tests: EBADF tests.
8016         * tests/test-lseek.c (main): Add more tests for EBADF.
8017
8018         Tests for module 'ftruncate'.
8019         * modules/ftruncate-tests: New file.
8020         * tests/test-ftruncate.sh: New file.
8021         * tests/test-ftruncate.c: New file.
8022
8023         fsync tests: EBADF tests.
8024         * tests/test-fsync.c (main): Add more tests for EBADF.
8025
8026         fdatasync tests: EBADF tests.
8027         * tests/test-fdatasync.c (main): Add more tests for EBADF.
8028
8029         Tests for module 'fchown'.
8030         * modules/fchown-tests: New file.
8031         * tests/test-fchown.c: New file.
8032
8033         Tests for module 'fchmod'.
8034         * modules/fchmod-tests: New file.
8035         * tests/test-fchmod.c: New file.
8036
8037         fchdir tests: EBADF tests.
8038         * tests/test-fchdir.c (main): Add more tests for EBADF.
8039
8040         dup2 tests: EBADF tests.
8041         * tests/test-dup2.c (main): Add more tests for EBADF.
8042
8043         Tests for module 'dup'.
8044         * modules/dup-tests: New file.
8045         * tests/test-dup.c: New file.
8046
8047         Tests for module 'close'.
8048         * modules/close-tests: New file.
8049         * tests/test-close.c: New file.
8050
8051 2011-09-20  Bruno Haible  <bruno@clisp.org>
8052
8053         Tests for module 'shutdown'.
8054         * modules/shutdown-tests: New file.
8055         * tests/test-shutdown.c: New file.
8056
8057         Tests for module 'setsockopt'.
8058         * modules/setsockopt-tests: New file.
8059         * tests/test-setsockopt.c: New file.
8060
8061         Tests for module 'sendto'.
8062         * modules/sendto-tests: New file.
8063         * tests/test-sendto.c: New file.
8064
8065         Tests for module 'send'.
8066         * modules/send-tests: New file.
8067         * tests/test-send.c: New file.
8068
8069         Tests for module 'recvfrom'.
8070         * modules/recvfrom-tests: New file.
8071         * tests/test-recvfrom.c: New file.
8072
8073         Tests for module 'recv'.
8074         * modules/recv-tests: New file.
8075         * tests/test-recv.c: New file.
8076
8077         Tests for module 'listen'.
8078         * modules/listen-tests: New file.
8079         * tests/test-listen.c: New file.
8080
8081         Tests for module 'getsockopt'.
8082         * modules/getsockopt-tests: New file.
8083         * tests/test-getsockopt.c: New file.
8084
8085         Tests for module 'getsockname'.
8086         * modules/getsockname-tests: New file.
8087         * tests/test-getsockname.c: New file.
8088
8089         Tests for module 'getpeername'.
8090         * modules/getpeername-tests: New file.
8091         * tests/test-getpeername.c: New file.
8092
8093         Tests for module 'connect'.
8094         * modules/connect-tests: New file.
8095         * tests/test-connect.c: New file.
8096
8097         Tests for module 'bind'.
8098         * modules/bind-tests: New file.
8099         * tests/test-bind.c: New file.
8100
8101         accept4 tests: Fix for native Windows.
8102         * tests/test-accept4.c: Include sockets.h.
8103         (main): Invoke gl_sockets_startup.
8104         * modules/accept4-tests (Depends-on): Add sockets.
8105
8106         accept tests: Fix for native Windows.
8107         * tests/test-accept.c: Include sockets.h.
8108         (main): Invoke gl_sockets_startup.
8109         * modules/accept-tests (Depends-on): Add sockets.
8110
8111 2011-09-19  Bruno Haible  <bruno@clisp.org>
8112
8113         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
8114         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
8115         do...while(0).
8116         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
8117         Suggested by Paul Eggert.
8118
8119 2011-09-19  Bruno Haible  <bruno@clisp.org>
8120
8121         sched: Ensure pid_t is defined.
8122         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
8123         not define pid_t.
8124         * lib/sched.in.h: Include <sys/types.h>.
8125         * doc/posix-headers/sched.texi: Mention the pid_t problem.
8126         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8127
8128 2011-09-19  Bruno Haible  <bruno@clisp.org>
8129
8130         msvc-inval: Ensure the entire expansion is a single statement.
8131         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
8132         of braces.
8133
8134 2011-09-19  Jim Meyering  <meyering@redhat.com>
8135
8136         tests: use printf, not echo in init.sh's warn_ function
8137         * tests/init.sh (warn_): Use printf, not echo.  The latter would
8138         misbehave when given strings containing a backslash or starting
8139         with e.g., -n.  James Youngman suggested setting IFS.
8140
8141 2011-09-19  Eric Blake  <eblake@redhat.com>
8142
8143         futimens: enhance test
8144         * tests/test-futimens.h (test_futimens): Also check for EBADF on
8145         closed non-negative fd.
8146
8147         date: accept 'hence' as opposite of 'ago'
8148         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
8149         * tests/test-parse-datetime.c (main): Enhance test.
8150         Suggested by Jesse Wilson.
8151
8152 2011-09-19  Jim Meyering  <meyering@redhat.com>
8153
8154         getcwd: don't fail in a deep directory on a system without openat
8155         Before this change, getcwd would fail when called from a directory
8156         of depth PATH_MAX / 3 or greater.  That was due to the fact that
8157         the non-openat implementation used "..", "../..", "../../..", etc.
8158         to access ancestor directories.  With too many, that string would
8159         be longer than PATH_MAX.
8160         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
8161         using gnulib's openat replacement.
8162         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
8163         we're using the replacement function.
8164
8165 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
8166
8167         maint.mk: avoid warnings from perl about missing files
8168         * top/maint.mk (def_sym_regex): Ignore files listed in
8169         $(gl_other_headers_) that do not exist, say because a project
8170         does not use a corresponding module.
8171
8172 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
8173
8174         stat: use pathmax.h only if needed
8175         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
8176         This is better for Emacs, which does not have a mingw port and
8177         therefore can avoid the pathmax module.
8178
8179         utimens: remove dependency on dup2
8180         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
8181         to work around the Linux kernel bug.
8182         * modules/utimens (Depends-on): Remove dup2.
8183
8184 2011-09-18  Bruno Haible  <bruno@clisp.org>
8185
8186         inet_ntop, inet_pton: Look for it also in libresolv.
8187         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
8188         libnsl, search for it in libresolv.
8189         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8190         Needed on Solaris 7.
8191
8192 2011-09-18  Bruno Haible  <bruno@clisp.org>
8193
8194         accept, accept4 tests: Avoid link error on Solaris.
8195         * modules/accept-tests (Makefile.am): Link test-accept against
8196         $(LIBSOCKET).
8197         * modules/accept4-tests (Makefile.am): Link test-accept4 against
8198         $(LIBSOCKET).
8199
8200         accept4: Avoid link error on Solaris.
8201         * modules/accept4 (Link): New section.
8202
8203         socket functions: Avoid link errors on Solaris.
8204         * modules/accept (Depends-on): Add socketlib.
8205         (Link): New section.
8206         * modules/bind (Depends-on): Add socketlib.
8207         (Link): New section.
8208         * modules/connect (Depends-on): Add socketlib.
8209         (Link): New section.
8210         * modules/getpeername (Depends-on): Add socketlib.
8211         (Link): New section.
8212         * modules/getsockname (Depends-on): Add socketlib.
8213         (Link): New section.
8214         * modules/getsockopt (Depends-on): Add socketlib.
8215         (Link): New section.
8216         * modules/listen (Depends-on): Add socketlib.
8217         (Link): New section.
8218         * modules/recv (Depends-on): Add socketlib.
8219         (Link): New section.
8220         * modules/recvfrom (Depends-on): Add socketlib.
8221         (Link): New section.
8222         * modules/send (Depends-on): Add socketlib.
8223         (Link): New section.
8224         * modules/sendto (Depends-on): Add socketlib.
8225         (Link): New section.
8226         * modules/setsockopt (Depends-on): Add socketlib.
8227         (Link): New section.
8228         * modules/shutdown (Depends-on): Add socketlib.
8229         (Link): New section.
8230         * modules/socket (Depends-on): Add socketlib.
8231         (Link): New section.
8232
8233 2011-09-18  Bruno Haible  <bruno@clisp.org>
8234
8235         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8236         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8237         than 5 seconds.
8238         * modules/ptsname-tests (configure.ac): Test for alarm.
8239
8240 2011-09-18  Bruno Haible  <bruno@clisp.org>
8241
8242         posix_spawn_file_actions_add*: Fix module dependencies.
8243         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8244         posix_spawn_file_actions_init.
8245         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8246         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8247
8248 2011-09-18  Bruno Haible  <bruno@clisp.org>
8249
8250         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8251         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8252         * tests/test-renameat.c (main): Likewise.
8253
8254 2011-09-18  Bruno Haible  <bruno@clisp.org>
8255
8256         Tests for module 'accept4'.
8257         * modules/accept4-tests: New file.
8258         * tests/test-accept4.c: New file.
8259
8260 2011-09-18  Bruno Haible  <bruno@clisp.org>
8261
8262         Tests for module 'accept'.
8263         * modules/accept-tests: New file.
8264         * tests/test-accept.c: New file.
8265
8266 2011-09-18  Bruno Haible  <bruno@clisp.org>
8267
8268         dup2: Support for MSVC.
8269         * lib/dup2.c: Include msvc-inval.h.
8270         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8271         _get_osfhandle calls.
8272         * modules/dup2 (Depends-on): Add msvc-inval.
8273         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8274
8275         New module 'msvc-inval'.
8276         * lib/msvc-inval.h: New file.
8277         * lib/msvc-inval.c: New file.
8278         * m4/msvc-inval.m4: New file.
8279         * modules/msvc-inval: New file.
8280
8281 2011-09-17  Bruno Haible  <bruno@clisp.org>
8282
8283         Tests for module 'pclose'.
8284         * modules/pclose-tests: New file.
8285
8286         New module 'pclose'.
8287         * lib/stdio.in.h (pclose): New declaration.
8288         * lib/pclose.c: New file.
8289         * m4/pclose.m4: New file.
8290         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8291         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8292         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8293         * modules/pclose: New file.
8294         * modules/popen-tests (Depends-on): Add pclose.
8295         * modules/popen-safer-tests (Depends-on): Likewise.
8296         * doc/posix-functions/pclose.texi: Mention the new module.
8297
8298 2011-09-17  Bruno Haible  <bruno@clisp.org>
8299
8300         popen: Support for MSVC.
8301         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8302         * lib/popen.c (popen): Provide alternate definition for native Windows.
8303         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8305         * modules/popen (Depends-on, configure.ac): Update condition.
8306         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8307         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8308         fixed.
8309
8310 2011-09-17  Bruno Haible  <bruno@clisp.org>
8311
8312         isnanl, isnand, isnanf: Work around MSVC bug.
8313         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8314
8315 2011-09-17  Bruno Haible  <bruno@clisp.org>
8316
8317         sys_socket tests: Fix recent mistake.
8318         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8319
8320 2011-09-17  Bruno Haible  <bruno@clisp.org>
8321
8322         putenv: Support for MSVC.
8323         * modules/putenv (Depends-on): Add environ.
8324         * lib/putenv.c (environ): Disable declaration.
8325         * lib/unistd.in.h: Update comment.
8326
8327 2011-09-17  Bruno Haible  <bruno@clisp.org>
8328
8329         math: Avoid macro redefinition warnings on MSVC.
8330         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
8331         Undefine before redefining.
8332
8333 2011-09-17  Bruno Haible  <bruno@clisp.org>
8334
8335         doc: Mention functions which are declared as macros.
8336         * doc/posix-functions/*[fl].texi: Mention that some functions are
8337         defined as macros with arguments only.
8338
8339 2011-09-17  Bruno Haible  <bruno@clisp.org>
8340
8341         Add dependencies to new dirent related modules.
8342         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
8343         * modules/fts (Depends-on): Likewise.
8344         * modules/glob (Depends-on): Likewise.
8345         * modules/savedir (Depends-on): Likewise.
8346         * modules/scandir (Depends-on): Likewise.
8347         * modules/dirent-safer (Depends-on): Add opendir, closedir.
8348         * modules/fdopendir (Depends-on): Add opendir.
8349
8350 2011-09-17  Bruno Haible  <bruno@clisp.org>
8351
8352         inet_pton: Support for MSVC on Windows Vista or newer.
8353         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8354         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8355         HAVE_DECL_INET_PTON is defined.
8356         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8357         On platforms with <winsock2.h>, test whether inet_pton is declared in
8358         <ws2tcpip.h>. If so, arrange to replace it.
8359         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8360         REPLACE_INET_PTON.
8361         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8362         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8363         (Depends-on, configure.ac): Update condition.
8364         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8365
8366 2011-09-17  Bruno Haible  <bruno@clisp.org>
8367
8368         inet_ntop: Support for MSVC on Windows Vista or newer.
8369         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8370         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8371         HAVE_DECL_INET_NTOP is defined.
8372         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8373         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8374         <ws2tcpip.h>. If so, arrange to replace it.
8375         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8376         REPLACE_INET_NTOP.
8377         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8378         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8379         (Depends-on, configure.ac): Update condition.
8380         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8381
8382 2011-09-16  Eric Blake  <eblake@redhat.com>
8383
8384         test-fsync: yet another enhancement
8385         * tests/test-fsync.c (main): Also test behavior on read-only text
8386         file.
8387
8388 2011-09-16  Bruno Haible  <bruno@clisp.org>
8389
8390         Enhance fsync, fdatasync tests.
8391         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8392         * tests/test-fdatasync.c (main): Likewise.
8393
8394 2011-09-16  Bruno Haible  <bruno@clisp.org>
8395
8396         Support for MSVC compiler: Ensure mode_t gets defined.
8397         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8398         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8399         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8400         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8401         * tests/test-fcntl-h.c: Check that mode_t is defined.
8402         * tests/test-sys_stat.c: Likewise.
8403         * tests/test-sys_types.c: Likewise.
8404         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8405         * doc/posix-headers/sys_stat.texi: Likewise.
8406         * doc/posix-headers/sys_types.texi: Likewise.
8407
8408 2011-09-16  Bruno Haible  <bruno@clisp.org>
8409
8410         sys_stat: Support for MSVC.
8411         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8412         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8413         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8414         MSVC.
8415
8416 2011-09-16  Bruno Haible  <bruno@clisp.org>
8417
8418         Support for MSVC compiler: Ensure off_t gets defined.
8419         * lib/unistd.in.h: Include <sys/types.h>.
8420         * tests/test-fcntl-h.c: Check that off_t is defined.
8421         * tests/test-sys_stat.c: Likewise.
8422         * tests/test-sys_types.c: Likewise.
8423
8424 2011-09-16  Eric Blake  <eblake@redhat.com>
8425
8426         fdatasync: port to Solaris
8427         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8428         * modules/fdatasync (Link): Document it.
8429         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8430
8431         fdatasync: port to MacOS X 10.7
8432         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8433         declared.
8434         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8435         * modules/unistd (Makefile.am): Substitute it.
8436         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8437         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8438
8439         fdatasync: minor improvements
8440         * modules/fdatasync (Depends-on): Add condition for fsync.
8441         * lib/fdatasync.c (fdatasync): Add comment.
8442         * tests/test-unistd-c++.cc: Test fdatasync.
8443
8444         unistd: update refs to newer POSIX
8445         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8446         Suggested by Bruno Haible.
8447
8448         fdatasync: new module
8449         * modules/fsync (Description): Document difference to fdatasync.
8450         * modules/fdatasync: New module.
8451         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8452         * lib/fdatasync.c (fdatasync): Likewise.
8453         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8454         defaults.
8455         * modules/unistd (Makefile.am): Set witnesses.
8456         * lib/unistd.in.h (fdatasync): Declare.
8457         * MODULES.html.sh: Document it.
8458         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8459         * modules/fdatasync-tests: New test.
8460         * tests/test-fdatasync.c: Likewise.
8461
8462 2011-09-16  Eric Blake  <eblake@redhat.com>
8463
8464         test-fsync: enhance tests
8465         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8466         * tests/test-fsync.c (main): Enhance test.
8467
8468 2011-09-15  Bruno Haible  <bruno@clisp.org>
8469
8470         Support for MSVC compiler: Ensure ssize_t gets defined.
8471         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8472         * doc/posix-headers/stdio.texi: Likewise.
8473         * modules/stdio (Depends-on): Add ssize_t.
8474         * modules/sys_socket (Depends-on): Likewise.
8475         * modules/sys_types (Depends-on): Likewise.
8476         * modules/sys_uio (Depends-on): Likewise.
8477         * modules/unistd (Depends-on): Likewise.
8478         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8479         * tests/test-sys_types.c: Check that ssize_t is defined.
8480
8481 2011-09-14  Bruno Haible  <bruno@clisp.org>
8482
8483         Avoid using #, the m4 comment starter character, near brackets.
8484         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8485         delimiter character in sed expressions.
8486         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8487         Suggested by Eric Blake.
8488
8489         Properly quote AC_CHECK_DECLS' 4th argument.
8490         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8491         argument.
8492         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8493         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8494         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8495         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8496         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8497         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8498         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8499         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8500         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8501         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8502         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8503         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8504         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8505         * m4/isinf.m4 (gl_ISINF): Likewise.
8506         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8507         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8508         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8509         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8510         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8511         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8512         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8513         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8514         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8515         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8516         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8517         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8518         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8519         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8520         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8521         Reported by Eric Blake.
8522
8523         Properly quote AC_CHECK_DECL's 4th argument.
8524         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8525         argument.
8526         * m4/argp.m4 (gl_ARGP): Likewise.
8527         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8528         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8529         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8530         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8531         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8532         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8533         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8534         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8535         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8536         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8537         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8538         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8539         Reported by Eric Blake.
8540
8541 2011-09-14  Eric Blake  <eblake@redhat.com>
8542
8543         opendir: avoid compile warning
8544         * lib/opendir.c (includes): Always include errno.h.
8545         Reported by Tatsuro MATSUOKA.
8546
8547 2011-09-14  Jim Meyering  <meyering@redhat.com>
8548
8549         maint.mk: sc_tight_scope: propagate failure from sub-make
8550         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8551         Reported by Martin von Gagern.
8552
8553 2011-09-13  Bruno Haible  <bruno@clisp.org>
8554
8555         tempname: Support for MSVC.
8556         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8557         MSVC.
8558         * modules/tempname (Depends-on): Add fcntl-h.
8559
8560 2011-09-13  Bruno Haible  <bruno@clisp.org>
8561
8562         sys_time: Support for MSVC.
8563         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8564         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8565         include <winsock2.h>.
8566         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8567         function declarations that collide with POSIX.
8568         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8569         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8570
8571 2011-09-13  Bruno Haible  <bruno@clisp.org>
8572
8573         stat: Support for MSVC.
8574         * lib/stat.c: Include pathmax.h.
8575         * modules/stat (Depends-on): Add pathmax.
8576
8577         pathmax: Support for native Windows.
8578         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8579
8580 2011-09-12  Bruno Haible  <bruno@clisp.org>
8581
8582         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8583         * lib/dirent.in.h (struct dirent): New type.
8584         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8585         DT_WHT): New macros.
8586         (DIR): New type.
8587         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8588         (readdir, rewinddir): New declarations.
8589         * lib/dirent-private.h: New file.
8590         * lib/opendir.c: New file.
8591         * lib/readdir.c: New file.
8592         * lib/rewinddir.c: New file.
8593         * lib/closedir.c: New file.
8594         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8595         * m4/opendir.m4: New file.
8596         * m4/readdir.m4: New file.
8597         * m4/rewinddir.m4: New file.
8598         * m4/closedir.m4: New file.
8599         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8600         REPLACE_CLOSEDIR here.
8601         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8602         readdir, rewinddir are declared.
8603         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8604         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8605         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8606         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8607         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8608         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8609         * modules/opendir: New file.
8610         * modules/readdir: New file.
8611         * modules/rewinddir: New file.
8612         * modules/closedir: New file.
8613         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8614         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8615         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8616         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8617         * NEWS: Mention the 'fchdir' change.
8618
8619 2011-09-11  Bruno Haible  <bruno@clisp.org>
8620
8621         asm-underscore.m4: Support for MSVC.
8622         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8623         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8624
8625 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8626
8627         Doc about crypt functions.
8628         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8629         needing for _GNU_SOURCE to get crypt.
8630         * doc/posix-functions/encrypt.texi: Likewise.
8631         * doc/posix-functions/setkey.texi: Likewise.
8632
8633 2011-09-11  Bruno Haible  <bruno@clisp.org>
8634
8635         doc: Update regarding MSVC 9.
8636         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8637         tested".
8638         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8639         * doc/posix-headers/*.texi: Likewise.
8640         * doc/pastposix-functions/*.texi: Likewise.
8641         * doc/glibc-functions/*.texi: Likewise.
8642         * doc/glibc-headers/*.texi: Likewise.
8643
8644 2011-09-11  Bruno Haible  <bruno@clisp.org>
8645
8646         unistd et al.: Don't assume <unistd.h> exists.
8647         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8648         does not exist.
8649         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8650         exist. But include <stdlib.h>.
8651         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8652         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8653         symlink() does not exist.
8654         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8655         include <io.h> instead.
8656         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8657         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8658         include <direct.h> instead.
8659         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8660         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8661         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8662         <io.h> instead.
8663         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8664         correctly if the system does not have hard links.
8665         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8666         <direct.h> instead.
8667         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8668         it when looking for function declarations.
8669         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8670         <direct.h> and <io.h> instead.
8671         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8672
8673 2011-09-11  Bruno Haible  <bruno@clisp.org>
8674
8675         strcase: Support for MSVC.
8676         * modules/strcase (Status, Notice): Remove obsoletion mark.
8677         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8678         * doc/posix-functions/strncasecmp.texi: Likewise.
8679
8680         strings: Don't assume <strings.h> exists.
8681         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8682         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8683         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8684         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8685
8686 2011-09-11  Bruno Haible  <bruno@clisp.org>
8687
8688         dirent: Don't assume <dirent.h> exists.
8689         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8690         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8691         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8692         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8693
8694 2011-09-11  Bruno Haible  <bruno@clisp.org>
8695
8696         Fix wint_t on MSVC.
8697         * lib/wchar.in.h (wint_t): On MSVC, override it.
8698         * lib/wctype.in.h (wint_t): Likewise.
8699         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8700         MSVC.
8701         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8702         * doc/posix-headers/wctype.texi: Likewise.
8703
8704 2011-09-11  Bruno Haible  <bruno@clisp.org>
8705
8706         sys_types: Fix typo.
8707         * lib/sys_types.in.h: Fix typo in comment.
8708         Reported by Paul Eggert.
8709
8710         Support for MSVC compiler: Ensure size_t gets defined.
8711         * modules/strings (Depends-on): Add 'sys_types'.
8712         * modules/sys_uio (Depends-on): Likewise.
8713         * lib/sys_uio.in.h: Update comment.
8714
8715         C++ tests for module 'sys_types'.
8716         * modules/sys_types-c++-tests: New file.
8717         * tests/test-sys_types-c++.cc: New file.
8718
8719         Tests for module 'sys_types'.
8720         * modules/sys_types-tests: New file.
8721         * tests/test-sys_types.c: New file.
8722
8723         New module 'sys_types'.
8724         * lib/sys_types.in.h: New file.
8725         * m4/sys_types_h.m4: New file.
8726         * modules/sys_types: New file.
8727         * doc/posix-headers/sys_types.texi: Mention the new module and the
8728         size_t problem on MSVC 9.
8729
8730 2011-09-11  Bruno Haible  <bruno@clisp.org>
8731
8732         Support for MSVC compiler: Avoid division by a literal 0.
8733         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8734         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8735         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8736         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8737         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8738         * tests/infinity.h: New file.
8739         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8740         on MSVC.
8741         * tests/test-ceilf1.c: Include infinity.h.
8742         (main): Use Infinityf.
8743         * tests/test-ceil1.c: Include infinity.h.
8744         (main): Use Infinityd.
8745         * tests/test-ceill.c: Include infinity.h.
8746         (main): Use Infinityl.
8747         * tests/test-dprintf-posix.c: Include infinity.h.
8748         (test_function): Use Infinityd.
8749         * tests/test-floorf1.c: Include infinity.h.
8750         (main): Use Infinityf.
8751         * tests/test-floor1.c: Include infinity.h.
8752         (main): Use Infinityd.
8753         * tests/test-floorl.c: Include infinity.h.
8754         (main): Use Infinityl.
8755         * tests/test-fprintf-posix.c: Include infinity.h.
8756         (test_function): Use Infinityd.
8757         * tests/test-frexp.c: Include infinity.h.
8758         (main): Use Infinityd.
8759         * tests/test-frexpl.c: Include infinity.h.
8760         (main): Use Infinityl.
8761         * tests/test-isfinite.c: Include infinity.h.
8762         (test_isfinitef): Use Infinityf.
8763         (test_isfinited): Use Infinityd.
8764         (test_isfinitel): Use Infinityl.
8765         * tests/test-isinf.c: Include infinity.h.
8766         (test_isinff): Use Infinityf.
8767         (test_isinfd): Use Infinityd.
8768         (test_isinfl): Use Infinityl.
8769         * tests/test-isnan.c: Include infinity.h.
8770         (test_float): Use Infinityf.
8771         (test_double): Use Infinityd.
8772         (test_long_double): Use Infinityl.
8773         * tests/test-isnanf.h: Include infinity.h.
8774         (main): Use Infinityf.
8775         * tests/test-isnand.h: Include infinity.h.
8776         (main): Use Infinityd.
8777         * tests/test-isnanl.h: Include infinity.h.
8778         (main): Use Infinityl.
8779         * tests/test-ldexpl.c: Include infinity.h.
8780         (main): Use Infinityl.
8781         * tests/test-printf-posix.h: Include infinity.h.
8782         (test_function): Use Infinityd.
8783         * tests/test-roundf1.c: Include infinity.h.
8784         (main): Use Infinityf.
8785         * tests/test-round1.c: Include infinity.h.
8786         (main): Use Infinityd.
8787         * tests/test-roundl.c: Include infinity.h.
8788         (main): Use Infinityl.
8789         * tests/test-signbit.c: Include infinity.h.
8790         (test_signbitf): Use Infinityf.
8791         (test_signbitd): Use Infinityd.
8792         (test_signbitl): Use Infinityl.
8793         * tests/test-snprintf-posix.h: Include infinity.h.
8794         (test_function): Use Infinityd, Infinityl.
8795         * tests/test-sprintf-posix.h: Include infinity.h.
8796         (test_function): Use Infinityd, Infinityl.
8797         * tests/test-truncf1.c: Include infinity.h.
8798         (main): Use Infinityf.
8799         * tests/test-trunc1.c: Include infinity.h.
8800         (main): Use Infinityd.
8801         * tests/test-truncl.c: Include infinity.h.
8802         (main): Use Infinityl.
8803         * tests/test-vasnprintf-posix.c: Include infinity.h.
8804         (test_function): Use Infinityd, Infinityl.
8805         * tests/test-vasprintf-posix.c: Include infinity.h.
8806         (test_function): Use Infinityd, Infinityl.
8807         * modules/ceilf-tests (Files): Add tests/infinity.h.
8808         * modules/ceil-tests (Files): Likewise.
8809         * modules/ceill-tests (Files): Likewise.
8810         * modules/dprintf-posix-tests (Files): Likewise.
8811         * modules/floorf-tests (Files): Likewise.
8812         * modules/floor-tests (Files): Likewise.
8813         * modules/floorl-tests (Files): Likewise.
8814         * modules/fprintf-posix-tests (Files): Likewise.
8815         * modules/frexp-tests (Files): Likewise.
8816         * modules/frexp-nolibm-tests (Files): Likewise.
8817         * modules/frexpl-tests (Files): Likewise.
8818         * modules/frexpl-nolibm-tests (Files): Likewise.
8819         * modules/isfinite-tests (Files): Likewise.
8820         * modules/isinf-tests (Files): Likewise.
8821         * modules/isnan-tests (Files): Likewise.
8822         * modules/isnanf-tests (Files): Likewise.
8823         * modules/isnanf-nolibm-tests (Files): Likewise.
8824         * modules/isnand-tests (Files): Likewise.
8825         * modules/isnand-nolibm-tests (Files): Likewise.
8826         * modules/isnanl-tests (Files): Likewise.
8827         * modules/isnanl-nolibm-tests (Files): Likewise.
8828         * modules/ldexpl-tests (Files): Likewise.
8829         * modules/printf-posix-tests (Files): Likewise.
8830         * modules/roundf-tests (Files): Likewise.
8831         * modules/round-tests (Files): Likewise.
8832         * modules/roundl-tests (Files): Likewise.
8833         * modules/signbit-tests (Files): Likewise.
8834         * modules/snprintf-posix-tests (Files): Likewise.
8835         * modules/sprintf-posix-tests (Files): Likewise.
8836         * modules/truncf-tests (Files): Likewise.
8837         * modules/trunc-tests (Files): Likewise.
8838         * modules/truncl-tests (Files): Likewise.
8839         * modules/vasnprintf-posix-tests (Files): Likewise.
8840         * modules/vasprintf-posix-tests (Files): Likewise.
8841         * modules/vdprintf-posix-tests (Files): Likewise.
8842         * modules/vfprintf-posix-tests (Files): Likewise.
8843         * modules/vprintf-posix-tests (Files): Likewise.
8844         * modules/vsnprintf-posix-tests (Files): Likewise.
8845         * modules/vsprintf-posix-tests (Files): Likewise.
8846         * modules/xprintf-posix-tests (Files): Likewise.
8847
8848 2011-09-11  Bruno Haible  <bruno@clisp.org>
8849
8850         Ensure pid_t gets defined.
8851         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8852         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8853         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8854         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8855         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8856         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8857         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8858         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8859         * tests/test-fcntl-h.c: Check that pid_t is defined.
8860         * tests/test-sched.c: Likewise.
8861         * tests/test-termios.c: Likewise.
8862         * tests/test-time.c: Likewise.
8863         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8864         * doc/posix-headers/signal.texi: Likewise.
8865         * doc/posix-headers/sys_types.texi: Likewise.
8866         * doc/posix-headers/time.texi: Likewise.
8867
8868 2011-09-11  Bruno Haible  <bruno@clisp.org>
8869
8870         acl: Fix compilation on Solaris 10 (older version).
8871         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8872         of ACE_EVERYONE.
8873         * lib/set-mode-acl.c (qset_acl): Likewise.
8874         Reported by Christian Jullien <eligis@orange.fr>.
8875
8876 2011-09-10  Bruno Haible  <bruno@clisp.org>
8877
8878         iconv, unsetenv: Add support for MSVC compiler.
8879         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8880         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8881
8882 2011-09-10  Bruno Haible  <bruno@clisp.org>
8883
8884         *printf: Add support for MSVC compiler.
8885         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8886         handles the exception caused by the %n directive. When cross-compiling,
8887         guess no on native Windows.
8888         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8889         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8890         emulate it through vsnprintf.
8891         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8892         * doc/posix-functions/dprintf.texi: Update documentation regarding
8893         MSVC 9.
8894         * doc/posix-functions/fprintf.texi: Likewise.
8895         * doc/posix-functions/printf.texi: Likewise.
8896         * doc/posix-functions/snprintf.texi: Likewise.
8897         * doc/posix-functions/sprintf.texi: Likewise.
8898         * doc/posix-functions/swprintf.texi: Likewise.
8899         * doc/posix-functions/vdprintf.texi: Likewise.
8900         * doc/posix-functions/vfprintf.texi: Likewise.
8901         * doc/posix-functions/vprintf.texi: Likewise.
8902         * doc/posix-functions/vsnprintf.texi: Likewise.
8903         * doc/posix-functions/vsprintf.texi: Likewise.
8904         * doc/glibc-functions/asprintf.texi: Likewise.
8905         * doc/glibc-functions/obstack_printf.texi: Likewise.
8906         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8907         * doc/glibc-functions/vasprintf.texi: Likewise.
8908
8909 2011-09-10  Bruno Haible  <bruno@clisp.org>
8910
8911         nocrash: Add support for native Windows.
8912         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8913
8914 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8915             Bruno Haible  <bruno@clisp.org>
8916
8917         absolute-header, include-next: Add support for MSVC compiler.
8918         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8919         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8920         directory separator in #line directives.
8921         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8922         recognize also backslash as directory separator in #line directives.
8923
8924 2011-09-08  Jim Meyering  <meyering@redhat.com>
8925
8926         maint.mk: mark the post-release commit log with "maint: " prefix
8927         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8928         one-line commit-log summary.
8929
8930 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8931             Bruno Haible  <bruno@clisp.org>
8932
8933         Doc about crypt functions.
8934         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8935         systems.
8936         * doc/posix-functions/encrypt.texi: Likewise.
8937         * doc/posix-functions/setkey.texi: Likewise.
8938
8939 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8940
8941         * lib/gc.h: Fix copyright header.
8942
8943 2011-09-07  Bruno Haible  <bruno@clisp.org>
8944
8945         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8946         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8947         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8948
8949 2011-09-07  Bruno Haible  <bruno@clisp.org>
8950
8951         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8952         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8953         * lib/freopen.c: Likewise.
8954         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8955         * lib/lstat.c: Likewise.
8956         * lib/stat.c: Likewise.
8957         * lib/open.c: Use different syntax for include of <fcntl.h>.
8958         * lib/openat.c: Include fcntl.h again, explicitly.
8959
8960 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8961
8962         parse-datetime: document the newly accepted format
8963         * doc/parse-datetime.texi (Combined date and time of day items):
8964         New section.
8965
8966 2011-09-06  Bruno Haible  <bruno@clisp.org>
8967
8968         acl: Fix a test failure on newer Solaris 10 with ZFS.
8969         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8970         ENOSYS as no ACL.
8971         Reported by Jim Meyering.
8972
8973 2011-09-06  Bruno Haible  <bruno@clisp.org>
8974
8975         acl: Update for AIX >= 5.3 with NFS.
8976         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8977         ENOSYS as no ACL.
8978
8979         acl: Fix a test failure on AIX >= 5.3 with NFS.
8980         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8981         as no ACL.
8982
8983 2011-09-06  Bruno Haible  <bruno@clisp.org>
8984
8985         acl: Fix a test failure on IRIX 6.5 with NFS.
8986         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8987         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8988         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8989         * lib/copy-acl.c (qcopy_acl): Likewise.
8990
8991 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8992
8993         openat: port to AIX 7.1 with large files
8994         AIX 7.1 does a "#define openat open64at" if large files are in use,
8995         so we can't simply #undef openat.  Use the orig_openat trick (similar
8996         to orig_open in lib/open.c) to work around the problem.  Problem
8997         reported by Kevin Brott for GNU tar, in the thread containing
8998         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8999         * lib/openat.c (__need_system_fcntl_h): Define first.
9000         Include <fcntl.h> and <sys/types.h> before undefining.
9001         (orig_openat) [HAVE_OPENAT]: New inline function.
9002         (openat) [HAVE_OPENAT]: Do not undef.
9003         (rpl_openat): Use orig_openat, not openat.
9004
9005 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9006             Bruno Haible  <bruno@clisp.org>
9007
9008         acl: Avoid errors on NonStop Kernel.
9009         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
9010         ENOTSUP errors.
9011
9012 2011-09-05  Bruno Haible  <bruno@clisp.org>
9013
9014         acl: Clean up Solaris code.
9015         * lib/acl-internal.h: Remove no-op #if.
9016         * lib/file-has-acl.c: Likewise.
9017         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
9018         * lib/copy-acl.c (qcopy_acl): Likewise.
9019
9020 2011-09-05  Bruno Haible  <bruno@clisp.org>
9021
9022         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
9023         binaries built on the original Solaris 10.
9024         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
9025         trivial.
9026
9027 2011-09-05  Bruno Haible  <bruno@clisp.org>
9028
9029         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
9030         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
9031         10.
9032         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
9033         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
9034         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
9035         instead of acl_get, facl_get, acl_set, facl_set.
9036
9037 2011-09-05  Bruno Haible  <bruno@clisp.org>
9038
9039         copy-file: Try unit tests on more file systems.
9040         * tests/test-copy-file-1.sh: New file.
9041         * tests/test-copy-file-2.sh: New file.
9042         * modules/copy-file-tests (Files): Add them.
9043         (Makefile.am): Add them to TESTS.
9044
9045         acl: Try unit tests on more file systems.
9046         * tests/test-file-has-acl-1.sh: New file.
9047         * tests/test-file-has-acl-2.sh: New file.
9048         * tests/test-set-mode-acl-1.sh: New file.
9049         * tests/test-set-mode-acl-2.sh: New file.
9050         * tests/test-copy-acl-1.sh: New file.
9051         * tests/test-copy-acl-2.sh: New file.
9052         * modules/acl-tests (Files): Add them.
9053         (Makefile.am): Add them to TESTS.
9054
9055 2011-09-04  Bruno Haible  <bruno@clisp.org>
9056
9057         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
9058         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
9059         10.
9060         (OLD_ALLOW, OLD_DENY): New macros.
9061         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
9062         ACE_ACCESS_ALLOWED_ACE_TYPE.
9063         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
9064         ACE_ACCESS_DENIED_ACE_TYPE.
9065         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
9066         (NEW_ACE_EXECUTE): Fix value.
9067         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
9068         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
9069         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
9070         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
9071         NEW_ACE_SYNCHRONIZE): New macros.
9072         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
9073         instead of acl_fromtext, acl_set, facl_set.
9074         Fixes a coreutils/tests/cp/perm failure.
9075
9076 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
9077
9078         openat: test for fstatat (..., 0) bug
9079         Further testing with tar suggests that fstatat (..., 0)
9080         does not work in general, on AIX 7.1; see
9081         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
9082         So, give up entirely on AIX 7.1's fstatat, and fall back on our
9083         replacement fstatat (which is what older AIX releases were using
9084         anyway).
9085         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
9086         use is now changed to orig_fstatat.  This was probably the right
9087         thing to do anyway.
9088         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
9089         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
9090         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
9091         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
9092         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
9093         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
9094         if the bug is found.
9095
9096         openat: test for fstatat (AT_FDCWD, ..., 0) bug
9097         This tests for another fstatat bug on AIX 7.1:
9098         fstatat (AT_FDCWD, ..., 0) does not work.  See
9099         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
9100         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
9101         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
9102         (rpl_fstatat): Adjust so that it works around either (or both)
9103         bugs if present.
9104         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
9105
9106 2011-09-03  Karl Berry  <karl@gnu.org>
9107
9108         * doc/regex.texi (Character Class Operators): Avoid literal ":"
9109         in index entries.
9110
9111 2011-09-02  Bruno Haible  <bruno@clisp.org>
9112
9113         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
9114         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
9115         values of AR, ARFLAGS, RANLIB.
9116         Reported by John W. Eaton <jwe@gnu.org> for Octave.
9117
9118 2011-09-02  Bruno Haible  <bruno@clisp.org>
9119
9120         Find 'ar' program that fits with --host argument.
9121         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
9122
9123 2011-09-02  Bruno Haible  <bruno@clisp.org>
9124
9125         tests: init.sh: Support any non-GNU diff.
9126         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
9127         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
9128         Solaris 8.
9129
9130 2011-09-02  Bruno Haible  <bruno@clisp.org>
9131
9132         tests: init.sh: work also with any non-GNU diff that supports -u
9133         * tests/init.sh: Relax check for diff -u support.
9134         Rather than checking for GNU diff via --version, simply check
9135         for support for -u itself.  Useful at least on OpenBSD 4.9,
9136         AIX 7.1, IRIX 6.5, and Solaris 10.
9137
9138 2011-09-01  Bruno Haible  <bruno@clisp.org>
9139
9140         strtoimax, strtoumax: Document problem on HP-UX 11.
9141         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
9142         * doc/posix-functions/strtoumax.texi: Likewise.
9143
9144 2011-09-01  Bruno Haible  <bruno@clisp.org>
9145
9146         strtoumax: Avoid link error on OSF/1 with DTK cc.
9147         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
9148         defined as a function.
9149         * modules/strtoumax (Depends-on, configure.ac): Test only whether
9150         strtoumax is defined, not whether it is declared.
9151
9152 2011-09-01  Bruno Haible  <bruno@clisp.org>
9153
9154         strtoimax: Avoid link error on OSF/1 with DTK cc.
9155         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
9156         defined as a function.
9157         * modules/strtoimax (Depends-on, configure.ac): Test only whether
9158         strtoimax is defined, not whether it is declared.
9159
9160 2011-09-01  Bruno Haible  <bruno@clisp.org>
9161
9162         imaxdiv: Avoid link error on OSF/1 with DTK cc.
9163         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
9164         as a function.
9165         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
9166         whether it is declared.
9167
9168 2011-09-01  Bruno Haible  <bruno@clisp.org>
9169
9170         imaxabs: Avoid link error on OSF/1 with DTK cc.
9171         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
9172         as a function.
9173         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
9174         whether it is declared.
9175
9176 2011-09-01  Bruno Haible  <bruno@clisp.org>
9177
9178         Tests for module 'strtoumax'.
9179         * modules/strtoumax-tests: New file.
9180         * tests/test-strtoumax.c: New file.
9181
9182         Tests for module 'strtoimax'.
9183         * modules/strtoimax-tests: New file.
9184         * tests/test-strtoimax.c: New file.
9185
9186         Tests for module 'imaxdiv'.
9187         * modules/imaxdiv-tests: New file.
9188         * tests/test-imaxdiv.c: New file.
9189
9190         Tests for module 'imaxabs'.
9191         * modules/imaxabs-tests: New file.
9192         * tests/test-imaxabs.c: New file.
9193
9194 2011-09-01  Bruno Haible  <bruno@clisp.org>
9195
9196         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
9197         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
9198         pthread_create.
9199
9200 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9201
9202         openat: work around AIX 7.1 fstatat issue
9203         This should fix the problem that was not properly fixed
9204         in the previous change, dated 2011-08-30.
9205         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
9206         __need_system_stat_h defined.
9207         (orig_fstatat) [HAVE_FSTATAT]: New function.
9208         (rpl_fstatat): Go back to the old way of doing things,
9209         except call orig_fstatat instead of fstatat.
9210         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
9211         Remove unnecessary check whether fstatat fills in st_size etc.
9212
9213 2011-09-01  Bruno Haible  <bruno@clisp.org>
9214
9215         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
9216         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
9217         just include the system's header.
9218
9219 2011-08-31  Jim Meyering  <meyering@redhat.com>
9220
9221         tests: avoid spurious assertion failure in test-float.c on ppc64
9222         * tests/test-float.c (test_long_double): Comment out an assertion,
9223         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
9224         with gcc-4.4.4.
9225
9226         maint: indent with spaces, not TABs
9227         I need to get in the habit of running gnulib's "make check".
9228         Both of these would have been caught.
9229         * m4/largefile.m4: Indent with spaces, not TABs.
9230         * lib/parse-datetime.y (iso_8601_time): Likewise.
9231         Spotted by Pádraig Brady.
9232
9233         test-parse-datetime.c: accommodate a relatively strict gcc warning
9234         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9235         to avoid a warning from gcc's -Werror=missing-declarations.
9236         Insert a few spaces-before-funcall-parenthesis.
9237
9238 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9239
9240         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9241         The parser now accepts ISO 8601 date-time strings with "T" as the
9242         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9243         with a space between the date and time strings.  Now it also parses
9244         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9245         variants like "2004-02-29T16:21:42.333-07:00"
9246         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9247         of day representation using the 'T' separator character.
9248         * doc/parse-datetime.texi (General date syntax): replace use of
9249         deprecated --iso-8601 option with --rfc-3339 in example of date
9250         command output formats that can be parsed.
9251         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9252         lib/parse-datetime.y.
9253         (gmt_offset): New function.
9254         (main): Add additional test cases to validate ISO8601 extended
9255         date and time of day parsing.
9256
9257 2011-08-31  Bruno Haible  <bruno@clisp.org>
9258
9259         freopen: Documentation.
9260         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9261         name.
9262         Reported by Claudio Bley <claudio.bley@gmail.com>.
9263
9264 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9265
9266         freopen: Don't crash if the filename argument is NULL.
9267         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9268         NULL.
9269
9270 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9271
9272         openat: work around AIX 7.1 fstatat bug
9273         Problem reported by Kevin Brott for GNU tar, in the thread containing
9274         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9275         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9276         FSTATAT_ST_SIZE_ETC_BROKEN.
9277         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9278         rpl_fstatat.
9279         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9280         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9281         AC_CHECK_FUNCS_ONCE for fstatat.
9282         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9283         fchmodat, mkdirat, openat and unlinkat.
9284
9285 2011-08-30  Bruno Haible  <bruno@clisp.org>
9286
9287         Avoid endless recursions if config.h includes some header files.
9288         * lib/fopen.c (__need_FILE): Define already before including config.h.
9289         * lib/freopen.c (__need_FILE): Likewise.
9290         * lib/open.c (__need_system_fcntl_h): Likewise.
9291         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9292         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9293         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9294
9295 2011-08-25  Karl Berry  <karl@gnu.org>
9296
9297         * config/srclist.txt (ylwrap): new try.
9298         * build-aux/ylwrap: new file.
9299
9300 2011-08-23  Bruno Haible  <bruno@clisp.org>
9301
9302         tmpdir: Use a good default directory on native Windows.
9303         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9304         (P_tmpdir): Default to _P_tmpdir on native Windows.
9305         (path_search): On native Windows, try the value returned by GetTempPath
9306         before trying P_tmpdir.
9307         * modules/tmpdir (Depends-on): Add pathmax.
9308         Suggested by John Darrington <john@darrington.wattle.id.au>.
9309
9310 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9311
9312         doc: fix typo in README-release
9313         * top/README-release: Capitalize first word of a sentence.
9314
9315 2011-08-19  Jim Meyering  <meyering@redhat.com>
9316
9317         fts: do not exhaust memory when processing million-entry directories
9318         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9319         directory would require about 256*N bytes of memory.  Thus, it was
9320         easy to construct a directory too large to be processed by any of
9321         those tools.  With this change, fts' maximum memory utilization is
9322         now limited to around 30MB.
9323         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9324         (fts_read): When we've processed the final entry (i.e., when
9325         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9326         using the parent entry to read any remaining entries.  Dispatch
9327         depending on what fts_build returns:
9328         - NULL+stop, aka failure: stop
9329         - NULL otherwise: move up in the dir hierarchy
9330         - non-NULL: handle this new entry
9331         (fts_build): Declare and use new local, continue_readdir.
9332         Prepare to be called from fts_read, when the entries
9333         from a partially-read directory have just been exhausted.
9334         In that case, we'll skip the opendir and instead use the parent's
9335         fts_dirp and derive dir_fd from that.
9336         Finally, in the readdir loop, if we read max_entries entries,
9337         exit the loop ensuring *not* to call closedir.  This is required
9338         so that fts_dirp can be reused on a subsequent call.
9339         Prompted by Ben England's report of memory exhaustion in find
9340         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
9341
9342         maint: fts: move decl of `dp' down into while loop; split a long line
9343         * lib/fts.c (fts_build): No semantic change.
9344
9345         fts: add/use new struct member, fts_dirp
9346         We are about to use this to manage any directory with
9347         too many entries to read all of them into memory at once.
9348         To do that, we'll need to save the DIR* pointer in each
9349         affected FTSENT struct.
9350         * lib/fts_.h: Include <dirent.h>.
9351         (struct FTSENT) [fts_dirp]: New member.
9352         * lib/fts.c (closedir_and_clear): Define.
9353         Use it in place of closedir so that we are sure to
9354         clear the new fts_dirp member when done with it.
9355         (fts_alloc): Initialize the new member.
9356         (fts_lfree): Free, if needed.
9357
9358         maint: fts: give __opendir2 a new parameter and rename
9359         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9360         than surreptitiously using sole caller's "dir_fd".
9361         (fts_opendir): Rename from __opendir2.
9362
9363         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9364         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9365
9366         maint: fts.c: correct off-by-one indentation
9367         * lib/fts.c (fts_build): Correct indentation, change style
9368         of a couple of block comments, and bracing style.
9369
9370         maint: fts.c: move __opendir2 #define "up" out of function body
9371         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9372
9373         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9374         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9375         out for a long time and besides was useful only on BSD systems.
9376
9377 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9378
9379         regex: port to Stratus OpenVOS
9380         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9381         define to empty, rather than attempting nonportable optimizations.
9382         Problem reported by Paul Green in:
9383         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9384         and fix suggested by Eric Blake in:
9385         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9386
9387 2011-08-17  Eric Blake  <eblake@redhat.com>
9388
9389         getcwd: fix test failures on mingw
9390         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9391         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9392         test if long directory cannot be created, and allow mingw errno.
9393
9394         getcwd-lgpl: fix m4 to match relaxed test for BSD
9395         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9396         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9397         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9398         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9399         signature problem.
9400
9401         getcwd: fix compilation on mingw64
9402         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9403         getcwd.
9404         Reported by Marc-André Lureau.
9405
9406         pipe2: silence compiler warning
9407         * lib/pipe2.c (pipe2): Hide label if it is not used.
9408
9409 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9410
9411         relocatable-prog: fix link error
9412         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9413         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9414         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9415         into modules/relocatable-lib without noticing that
9416         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9417         also needs to build relocatable.c.
9418
9419 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9420
9421         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9422         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9423         shell code: it contained a 'break' that was not in a loop.
9424         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9425         via a shell-language loop; this may have been true in old Autoconf
9426         versions, but it's not true in Autoconf 2.68.  I found this bug
9427         when testing coreutils git on Solaris 8, whose shell complains
9428         about the syntax error.
9429
9430 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9431
9432         * lib/base64.c: Fix comment to reference RFC 4648.
9433         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9434         <gvtulder@gmail.com>.
9435
9436 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9437
9438         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9439
9440         po/Makefile.in.in: fix make -q problem
9441         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9442         rule, since there's no file named 'check-macro-version' and its
9443         use as a file breaks make -q.
9444         (all): Don't depend on check-macro-version.
9445         (CHECK_MACRO_VERSION): New macro.
9446         (stamp-po): Use it.
9447
9448         configmake: fix make -q problem
9449         * modules/configmake (configmake.h): Update configmake.h's time stamp
9450         even if the file does not change.  Otherwise, 'make -q' fails.
9451         Problem reported by Simon Josefsson in
9452         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9453
9454 2011-08-11  Jim Meyering  <meyering@redhat.com>
9455
9456         git-version-gen: correct the advice in a comment
9457         * build-aux/git-version-gen: Correct comment.
9458         Don't recommend to list .tarball-version in .gitignore.
9459
9460 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9461
9462         base64: fix off-by-one buffer size bug
9463         Problem and (trivial) fix reported by Gijs van Tulder in
9464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9465         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9466         * tests/test-base64.c (main): Catch the bug.
9467
9468 2011-08-10  Eric Blake  <eblake@redhat.com>
9469
9470         closein: correct comments
9471         * lib/closein.c (close_stdin): Improve comments.
9472
9473 2011-08-09  Bruno Haible  <bruno@clisp.org>
9474
9475         More tests for 'fseeko'.
9476         * tests/test-fseeko3.c: New file, from Eric Blake.
9477         * tests/test-fseeko3.sh: New file.
9478         * modules/fseeko-tests (Files): Add them.
9479         (TESTS): Add test-fseeko3.sh.
9480         (check_PROGRAMS): Add test-fseeko3.
9481
9482 2011-08-09  Eric Blake  <eblake@redhat.com>
9483
9484         fseeko: remove unneeded hack
9485         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9486
9487         fseeko: fix bug on glibc
9488         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9489         Reported by John W. Eaton.
9490
9491 2011-08-08  Bruno Haible  <bruno@clisp.org>
9492
9493         unictype/base: Fix interoperability with preinstalled libunistring.
9494         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9495         Reported by Simon Josefsson.
9496
9497 2011-08-08  Bruno Haible  <bruno@clisp.org>
9498
9499         iswblank: Detect declaration correctly.
9500         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9501         AC_CHECK_DECLS invocation.
9502
9503 2011-08-08  Bruno Haible  <bruno@clisp.org>
9504
9505         tcgetsid: Detect declaration correctly.
9506         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9507         AC_CHECK_DECLS invocation.
9508         Reported by Simon Josefsson.
9509
9510 2011-08-08  Eric Blake  <eblake@redhat.com>
9511
9512         largefile: fix typo that regressed large file support
9513         * modules/largefile (configure.ac-early): Fix section name.
9514
9515 2011-08-06  Karl Berry  <karl@gnu.org>
9516
9517         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9518         a separate module.
9519
9520 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9521
9522         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9523         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9524         get prototype for free.
9525
9526 2011-08-04  Bruno Haible  <bruno@clisp.org>
9527
9528         Tests for module 'pathmax'.
9529         * modules/pathmax-tests: New file.
9530         * tests/test-pathmax.c: New file.
9531
9532         canonicalize-lgpl: Support larger filenames on the Hurd.
9533         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9534         Reported by Paul Eggert.
9535
9536         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9537         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9538         * lib/chdir-long.h: Include pathmax.h.
9539         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9540         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9541         (PATH_MAX): Remove code that is done by pathmax.h.
9542         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9543         * lib/tmpfile.c: Add a comment.
9544         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9545         * modules/chdir-long (Depends-on): Add pathmax.
9546         * modules/getcwd (Depends-on): Add pathmax.
9547         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9548         is not defined.
9549         * doc/posix-headers/limits.texi: Mention the pathmax module.
9550         * NEWS: Mention the change.
9551
9552 2011-08-02  Bruno Haible  <bruno@clisp.org>
9553
9554         pthread_sigmask: Actually use results of gl_THREADLIB.
9555         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9556         gl_THREADLIB, not gl_[]THREADLIB.
9557         Reported by Eric Blake.
9558
9559 2011-08-02  Jim Meyering  <meyering@redhat.com>
9560
9561         maint.mk: relax the default _gl_TS_function_match regexp
9562         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9563         space between function name and "(" in an "extern" declaration.
9564         That would fail to match a decl with no space there: extern void foo();
9565
9566 2011-07-31  Iain Nicol  <iain@thenicols.net>
9567
9568         git-version-gen: document that EXTRA_DIST must include .version
9569         * build-aux/git-version-gen: In the how-to-use comment, document
9570         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9571         will fail when run from an unpacked distribution tarball.
9572
9573 2011-08-01  Bruno Haible  <bruno@clisp.org>
9574
9575         wctype-h: Fix last change.
9576         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9577         REPLACE_TOWLOWER to 0.
9578         Reported by Sam Steingold <sds@gnu.org>.
9579
9580 2011-07-31  Bruno Haible  <bruno@clisp.org>
9581
9582         frexpl: Update autoconf test.
9583         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9584         according to changes of 2011-06-20.
9585
9586 2011-07-31  Bruno Haible  <bruno@clisp.org>
9587
9588         sys_utsname: Add support for Minix.
9589         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9590         <sys/utsname.h>.
9591         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9592         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9593
9594 2011-07-31  Bruno Haible  <bruno@clisp.org>
9595
9596         strings: Add support for Minix.
9597         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9598         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9599         * doc/posix-headers/strings.texi: Document the Minix problem.
9600
9601 2011-07-31  Bruno Haible  <bruno@clisp.org>
9602
9603         wctype-h: Add support for Minix.
9604         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9605         REPLACE_TOWLOWER.
9606         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9607         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9608         REPLACE_ISWCNTRL.
9609
9610 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9611
9612         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9613         This is a performance improvement for 64-bit hosts: it causes the
9614         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9615
9616 2011-07-31  Bruno Haible  <bruno@clisp.org>
9617
9618         stdioext: Add support for Minix.
9619         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9620         * lib/fpurge.c (fpurge): Likewise.
9621         * lib/freadahead.c (freadahead): Likewise.
9622         * lib/freadable.c (freadable): Likewise.
9623         * lib/freading.c (freading): Likewise.
9624         * lib/freadptr.c (freadptr): Likewise.
9625         * lib/freadseek.c (freadptrinc): Likewise.
9626         * lib/fseeko.c (rpl_fseeko): Likewise.
9627         * lib/fseterr.c (fseterr): Likewise.
9628         * lib/fwritable.c (fwritable): Likewise.
9629         * lib/fwriting.c (fwriting): Likewise.
9630         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9631         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9632
9633 2011-07-31  Bruno Haible  <bruno@clisp.org>
9634
9635         errno: Port to Minix.
9636         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9637         ECONNABORTED are defined.
9638         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9639         GNULIB_defined_ECONNABORTED): New macros.
9640         * lib/strerror-override.h (strerror_override): Test also
9641         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9642         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9643         ECONNABORTED.
9644         * doc/posix-headers/errno.texi: Mention the Minix problem.
9645
9646 2011-07-31  Bruno Haible  <bruno@clisp.org>
9647
9648         Work around declaration collisions on Minix.
9649         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9650         defined, set REPLACE_MBSINIT.
9651         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9652         defined, set REPLACE_MBRTOWC.
9653         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9654         set REPLACE_MBRLEN.
9655         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9656         defined, set REPLACE_MBSRTOWCS.
9657         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9658         defined, set REPLACE_WCRTOMB.
9659         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9660         defined, set REPLACE_WCSRTOMBS.
9661
9662 2011-07-31  Bruno Haible  <bruno@clisp.org>
9663
9664         Add support for Minix with ACK compiler.
9665         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9666         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9667         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9668
9669 2011-07-31  Bruno Haible  <bruno@clisp.org>
9670
9671         Documentation about Minix.
9672         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9673         * doc/glibc-headers/*.texi: Likewise.
9674         * doc/posix-functions/*.texi: Likewise.
9675         * doc/glibc-functions/*.texi: Likewise.
9676
9677 2011-07-31  Bruno Haible  <bruno@clisp.org>
9678
9679         snippet/warn-on-use: Fix indentation.
9680         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9681
9682 2011-07-25  Jim Meyering  <meyering@redhat.com>
9683
9684         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9685         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9686         commands.
9687
9688 2011-07-27  Jim Meyering  <meyering@redhat.com>
9689
9690         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9691         * top/maint.mk (gl_extract_significant_defines_): Now that
9692         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9693         gnulib/lib/signal.in.h, and now that we recommend to
9694         define-if-undefined those two symbols in application code,
9695         we must filter them out of the "significant" list.
9696         This avoids a "make syntax-check" failure in coreutils.
9697
9698 2011-07-26  Eric Blake  <eblake@redhat.com>
9699
9700         warnings: add comments about previous patch
9701         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9702         * m4/include_next.m4: Likewise.
9703         * m4/warn-on-use.m4: Likewise.
9704         * m4/warnings.m4: Likewise, and simplify use.
9705         Suggested by Stefano Lattarini.
9706
9707         include-next, warnings: support older autoconf
9708         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9709         AS_VAR_PUSHDEF in a way that works with older autoconf.
9710         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9711         Reported by Daniel P. Berrange.
9712
9713 2011-07-25  Bruno Haible  <bruno@clisp.org>
9714
9715         fseek, ftell: Fix doc.
9716         * doc/posix-functions/fseek.texi: Reword statement about
9717         AC_SYS_LARGEFILE.
9718         * doc/posix-functions/ftell.texi: Likewise.
9719
9720 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9721             Bruno Haible  <bruno@clisp.org>
9722
9723         Add dependencies to the 'largefile' module.
9724         * modules/fopen (Depends-on): Add 'largefile'.
9725         * modules/freopen (Depends-on): Likewise.
9726         * modules/fseeko (Depends-on): Likewise.
9727         * modules/ftello (Depends-on): Likewise.
9728         * modules/glob (Depends-on): Likewise.
9729         * modules/lseek (Depends-on): Likewise.
9730         * modules/lstat (Depends-on): Likewise.
9731         * modules/mkostemp (Depends-on): Likewise.
9732         * modules/mkostemps (Depends-on): Likewise.
9733         * modules/mkstemp (Depends-on): Likewise.
9734         * modules/mkstemps (Depends-on): Likewise.
9735         * modules/open (Depends-on): Likewise.
9736         * modules/openat (Depends-on): Likewise.
9737         * modules/pread (Depends-on): Likewise.
9738         * modules/pwrite (Depends-on): Likewise.
9739         * modules/scandir (Depends-on): Likewise.
9740         * modules/stat (Depends-on): Likewise.
9741         * modules/tmpfile (Depends-on): Likewise.
9742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9743         since the containing module now depends on the largefile module.
9744         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9745         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9746         off_t is fixed by gnulib.
9747         * doc/posix-functions/freopen.texi: Likewise.
9748         * doc/posix-functions/fseeko.texi: Likewise.
9749         * doc/posix-functions/fstatat.texi: Likewise.
9750         * doc/posix-functions/ftello.texi: Likewise.
9751         * doc/posix-functions/glob.texi: Likewise.
9752         * doc/posix-functions/lseek.texi: Likewise.
9753         * doc/posix-functions/lstat.texi: Likewise.
9754         * doc/posix-functions/mkstemp.texi: Likewise.
9755         * doc/posix-functions/open.texi: Likewise.
9756         * doc/posix-functions/openat.texi: Likewise.
9757         * doc/posix-functions/pread.texi: Likewise.
9758         * doc/posix-functions/pwrite.texi: Likewise.
9759         * doc/posix-functions/scandir.texi: Likewise.
9760         * doc/posix-functions/stat.texi: Likewise.
9761         * doc/posix-functions/tmpfile.texi: Likewise.
9762         * doc/glibc-functions/mkostemp.texi: Likewise.
9763         * doc/glibc-functions/mkostemps.texi: Likewise.
9764         * doc/glibc-functions/mkstemps.texi: Likewise.
9765
9766 2011-07-25  Bruno Haible  <bruno@clisp.org>
9767
9768         fcntl: Move AC_LIBOBJ invocation to module description.
9769         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9770         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9771
9772         fcntl: Remove call-in from fchdir.m4.
9773         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9774         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9775
9776         dup3: Remove potential call-in from fchdir.m4.
9777         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9778         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9779
9780         dup2: Move AC_LIBOBJ invocation to module description.
9781         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9782         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9783         Don't invoke AC_LIBOBJ.
9784         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9785
9786         dup2: Remove call-in from fchdir.m4.
9787         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9788         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9789
9790         fclose: Move AC_LIBOBJ invocation to module description.
9791         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9792         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9793         to 1.
9794         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9795
9796         fclose: Remove call-in from close.m4.
9797         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9798         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9799
9800         close: Move AC_LIBOBJ invocation to module description.
9801         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9802         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9803         1.
9804         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9805
9806         close: Remove call-in from fchdir.m4.
9807         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9808         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9809
9810         open: Move AC_LIBOBJ invocation to module description.
9811         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9812         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9813         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9814
9815         open: Remove call-in from fchdir.m4.
9816         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9817         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9818
9819         fchdir: Start to remove gl_REPLACE_* idiom.
9820         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9821         (gl_FUNC_FCHDIR): Invoke it.
9822
9823 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9824
9825         * lib/ftell.c (ftell): Comment out cast.
9826
9827         close: use gl_REPLACE_FCLOSE only if defined
9828         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9829         is defined.  The close module doesn't depend on the fclose module
9830         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9832         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9833
9834 2011-07-24  Jim Meyering  <meyering@redhat.com>
9835
9836         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9837         * tests/test-select.h (test_function): Declare as "static".
9838
9839 2011-07-24  Bruno Haible  <bruno@clisp.org>
9840
9841         doc: Mention the effects of AC_SYS_LARGEFILE.
9842         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9843         on this function.
9844         * doc/posix-functions/aio_error.texi: Likewise.
9845         * doc/posix-functions/aio_fsync.texi: Likewise.
9846         * doc/posix-functions/aio_read.texi: Likewise.
9847         * doc/posix-functions/aio_return.texi: Likewise.
9848         * doc/posix-functions/aio_suspend.texi: Likewise.
9849         * doc/posix-functions/aio_write.texi: Likewise.
9850         * doc/posix-functions/fgetpos.texi: Likewise.
9851         * doc/posix-functions/fopen.texi: Likewise.
9852         * doc/posix-functions/freopen.texi: Likewise.
9853         * doc/posix-functions/fsetpos.texi: Likewise.
9854         * doc/posix-functions/fstatvfs.texi: Likewise.
9855         * doc/posix-functions/ftruncate.texi: Likewise.
9856         * doc/posix-functions/ftw.texi: Likewise.
9857         * doc/posix-functions/getrlimit.texi: Likewise.
9858         * doc/posix-functions/glob.texi: Likewise.
9859         * doc/posix-functions/lio_listio.texi: Likewise.
9860         * doc/posix-functions/lockf.texi: Likewise.
9861         * doc/posix-functions/mkstemp.texi: Likewise.
9862         * doc/posix-functions/mmap.texi: Likewise.
9863         * doc/posix-functions/nftw.texi: Likewise.
9864         * doc/posix-functions/openat.texi: Likewise.
9865         * doc/posix-functions/opendir.texi: Likewise.
9866         * doc/posix-functions/posix_fadvise.texi: Likewise.
9867         * doc/posix-functions/posix_fallocate.texi: Likewise.
9868         * doc/posix-functions/pread.texi: Likewise.
9869         * doc/posix-functions/pwrite.texi: Likewise.
9870         * doc/posix-functions/readdir.texi: Likewise.
9871         * doc/posix-functions/readdir_r.texi: Likewise.
9872         * doc/posix-functions/rewinddir.texi: Likewise.
9873         * doc/posix-functions/scandir.texi: Likewise.
9874         * doc/posix-functions/seekdir.texi: Likewise.
9875         * doc/posix-functions/setrlimit.texi: Likewise.
9876         * doc/posix-functions/statvfs.texi: Likewise.
9877         * doc/posix-functions/telldir.texi: Likewise.
9878         * doc/posix-functions/tmpfile.texi: Likewise.
9879         * doc/posix-functions/truncate.texi: Likewise.
9880         * doc/glibc-functions/fallocate.texi: Likewise.
9881         * doc/glibc-functions/fstatfs.texi: Likewise.
9882         * doc/glibc-functions/fts_children.texi: Likewise.
9883         * doc/glibc-functions/fts_read.texi: Likewise.
9884         * doc/glibc-functions/getdirentries.texi: Likewise.
9885         * doc/glibc-functions/mkostemp.texi: Likewise.
9886         * doc/glibc-functions/mkostemps.texi: Likewise.
9887         * doc/glibc-functions/mkstemps.texi: Likewise.
9888         * doc/glibc-functions/preadv.texi: Likewise.
9889         * doc/glibc-functions/pwritev.texi: Likewise.
9890         * doc/glibc-functions/sendfile.texi: Likewise.
9891         * doc/glibc-functions/statfs.texi: Likewise.
9892
9893 2011-07-24  Bruno Haible  <bruno@clisp.org>
9894
9895         doc: Fix typo.
9896         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9897
9898 2011-07-24  Bruno Haible  <bruno@clisp.org>
9899
9900         doc: Mention fsusage.
9901         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9902
9903 2011-07-24  Bruno Haible  <bruno@clisp.org>
9904
9905         doc: Mention new glibc headers and functions.
9906         * doc/glibc-headers/gshadow.texi: New file.
9907         * doc/glibc-functions/endsgent.texi: New file.
9908         * doc/glibc-functions/fgetsgent.texi: New file.
9909         * doc/glibc-functions/fgetsgent_r.texi: New file.
9910         * doc/glibc-functions/getsgent.texi: New file.
9911         * doc/glibc-functions/getsgent_r.texi: New file.
9912         * doc/glibc-functions/getsgnam.texi: New file.
9913         * doc/glibc-functions/getsgnam_r.texi: New file.
9914         * doc/glibc-functions/putsgent.texi: New file.
9915         * doc/glibc-functions/setsgent.texi: New file.
9916         * doc/glibc-functions/sgetsgent.texi: New file.
9917         * doc/glibc-functions/sgetsgent_r.texi: New file.
9918         * doc/glibc-functions/malloc_info.texi: New file.
9919         * doc/glibc-functions/preadv.texi: New file.
9920         * doc/glibc-functions/pwritev.texi: New file.
9921         * doc/glibc-functions/register_printf_modifier.texi: New file.
9922         * doc/glibc-functions/register_printf_specifier.texi: New file.
9923         * doc/glibc-functions/register_printf_type.texi: New file.
9924         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9925         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9926         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9927         * doc/glibc-functions/pthread_getname_np.texi: New file.
9928         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9929         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9930         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9931         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9932         * doc/glibc-functions/pthread_setname_np.texi: New file.
9933         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9934         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9935         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9936         * doc/glibc-functions/qsort_r.texi: New file.
9937         * doc/glibc-functions/quick_exit.texi: New file.
9938         * doc/glibc-functions/syncfs.texi: New file.
9939         * doc/gnulib.texi: Include them.
9940         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9941         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9942         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9943         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9944         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9945         * doc/glibc-functions/execvpe.texi: Likewise.
9946
9947 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9948
9949         ftell: don't include <unistd.h>
9950         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9951         guaranteed to define off_t, and the ftell module depends on the
9952         stdio module.
9953
9954         ftell: do not assume wraparound signed arithmetic
9955         * lib/ftell.c: Include <limits.h>.
9956         (ftell): Don't assume wraparound signed arithmetic.
9957
9958 2011-07-24  Bruno Haible  <bruno@clisp.org>
9959
9960         close: No longer depend on module 'fclose'.
9961         * modules/close (Depends-on): Remove fclose.
9962         * NEWS: Mention the change.
9963         Suggested by Sam Steingold <sds@gnu.org>.
9964
9965 2011-07-24  Bruno Haible  <bruno@clisp.org>
9966
9967         fsusage: Enable large volume support on AIX >= 5.2.
9968         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9969         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9970         instead of STAT_STATVFS.
9971         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9972
9973         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9974         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9975         f_blocks field only on MacOS X.
9976
9977         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9978         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9979         * modules/fsusage (Depends-on): Add largefile.
9980
9981 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9982
9983         * README: Modernize discussion of signed integers.
9984         Assuming overflow wraparound is no longer safe.
9985         Mention ones' complement and signed magnitude.
9986
9987 2011-07-22  Bruno Haible  <bruno@clisp.org>
9988
9989         select tests, pselect tests: Refactor.
9990         * tests/test-select.h: New file, extracted from tests/test-select.c.
9991         (select_fn): New type.
9992         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9993         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9994         test_pipe): Add my_select argument.
9995         (test_function): Renamed from main. Add my_select argument.
9996         * tests/test-select.c: Move most code to tests/test-select.h. Include
9997         test-select.h.
9998         * modules/select-tests (Files): Add tests/test-select.h.
9999         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
10000         (my_select, main): New functions.
10001         * modules/pselect-tests (Files): Add tests/test-select.h,
10002         tests/macros.h, tests/signature.h.
10003         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
10004         (configure.ac): Check for <sys/wait.h>.
10005
10006 2011-07-22  Bruno Haible  <bruno@clisp.org>
10007
10008         sys_select tests: Check the signature of FD_*.
10009         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
10010         signature tests from here...
10011         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
10012         here.
10013         * modules/sys_select-tests (Files): Add tests/signature.h.
10014
10015 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
10016
10017         largefile: new module, replacing large-inode
10018         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
10019         * MODULES.html.sh: Add largefile, remove large-inode.
10020         * modules/largefile, m4/largefile.m4: New files.
10021         * modules/large-inode, m4/large-inode.m4: Remove.
10022
10023         fsusage: port to MacOS X 10.7 with 4 TiB file systems
10024         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
10025         implementations that use only 32 bits to count blocks.
10026         On typical hosts with 1024-byte blocks, this fails with file
10027         systems as small as 4 TiB.  Problem reported by Herb Wartens
10028         <http://debbugs.gnu.org/9140> and this should also fix a similar
10029         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
10030
10031         large-inode: New module
10032         * MODULES.html.sh: Add it.
10033         * modules/large-inode, m4/large-inode.m4: New files.
10034
10035         extensions: Enable extensions on MacOS X 10.5 and later.
10036         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
10037
10038 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
10039
10040         file-has-acl: use acl_extended_file_nofollow if available
10041         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
10042         (acl_extended_file): New macro.
10043         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
10044         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
10045
10046 2011-07-21  Bruno Haible  <bruno@clisp.org>
10047
10048         Declare system functions in a way that works with C++.
10049         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
10050         declare fdopendir as extern "C".
10051         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
10052         declare frexpl as extern "C".
10053         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
10054         declare gai_strerror as extern "C".
10055         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
10056         programs, declare gai_strerror as extern "C".
10057         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
10058         declare getlogin_r as extern "C".
10059         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
10060         as extern "C".
10061         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
10062         declare ldexpl as extern "C".
10063         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
10064         as extern "C".
10065         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
10066         program, declare getmntinfo as extern "C".
10067         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
10068         stpncpy as extern "C".
10069         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
10070         program, declare __xpg_strerror_r as extern "C".
10071         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
10072         strndup as extern "C".
10073         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
10074         declare memset and bzero as extern "C".
10075         Reported by Sam Steingold <sds@gnu.org>.
10076
10077 2011-07-12  Jim Meyering  <meyering@redhat.com>
10078
10079         maint.mk: prohibit inclusion of "verify.h" without use
10080         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
10081
10082 2011-07-19  Pádraig Brady  <P@draigBrady.com>
10083
10084         timer-time: A new module to check for timer_settime()
10085         * m4/timer_time.m4: Check for the posix function.
10086         * modules/timer-time: Add the new module.
10087         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
10088         Mention it.
10089
10090 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
10091             Bruno Haible  <bruno@clisp.org>
10092
10093         pthread_sigmask: assume POSIX threads if --avoid=threadlib
10094         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
10095         not defined, assume POSIX threads and look for pthread_sigmask in
10096         $LIBS, without changing $CPPFLAGS.
10097
10098 2011-07-19  Bruno Haible  <bruno@clisp.org>
10099
10100         strstr: Update cross-compilation guess.
10101         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
10102         CPUs, guess no, in view of glibc
10103         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
10104         Suggested by Eric Blake. Reported by Reuben Thomas.
10105
10106 2011-07-19  Pádraig Brady  <P@draigBrady.com>
10107
10108         getopt-gnu: suppress core dumps from detection code
10109         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
10110         to suppress core dumps that may well occur on glibc systems.
10111         * modules/getopt-gnu: Depend on nocrash.
10112
10113 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
10114
10115         pthread_sigmask: ensure usleep is declared
10116         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
10117         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
10118
10119 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10120
10121         doc: Document NonStop portability issues.
10122         * doc/posix-functions/sigaction.texi (sigaction):
10123         * doc/posix-headers/signal.texi (signal.h):
10124         Document NonStop.  See Joachim Schmitz in
10125         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
10126
10127 2011-07-15  Bruno Haible  <bruno@clisp.org>
10128
10129         ffsl, ffsll: Avoid unportable behaviour.
10130         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
10131
10132 2011-07-15  Bruno Haible  <bruno@clisp.org>
10133
10134         ffs: More tests.
10135         * tests/test-ffs.c (NBITS): New macro.
10136         (main): Add more tests.
10137         * tests/test-ffsl.c (NBITS): New macro.
10138         (main): Add more tests.
10139         * tests/test-ffsll.c (NBITS): New macro.
10140         (main): Add more tests.
10141
10142 2011-07-15  Eric Blake  <eblake@redhat.com>
10143
10144         ffsl, ffsll: new modules
10145         * modules/ffsl: New file.
10146         * modules/ffsll: Likewise.
10147         * m4/ffsl.m4: Likewise.
10148         * m4/ffsll.m4: Likewise.
10149         * lib/ffsl.c: Likewise.
10150         * lib/ffsl.h: Likewise.
10151         * lib/ffsll.c: Likewise.
10152         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
10153         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
10154         * modules/string (Makefile.am): Substitute witnesses.
10155         * lib/strings.in.h (ffsl, ffsll): Declare.
10156         * modules/ffsl-tests: New test file.
10157         * modules/ffsll-tests: Likewise.
10158         * tests/test-ffsl.c: Likewise.
10159         * tests/test-ffsll.c: Likewise.
10160         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10161         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
10162         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
10163
10164         ffs: fix m4 prerequisite
10165         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
10166
10167         ffs: avoid undefined behavior
10168         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
10169         * tests/test-ffs.c (naive, main): Avoid signed shifts.
10170         Reported by Bruno Haible.
10171
10172 2011-07-12  Bruno Haible  <bruno@clisp.org>
10173
10174         pthread_sigmask: Rely on module 'threadlib'.
10175         * modules/pthread_sigmask (Depends-on): Add threadlib.
10176         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
10177         is defined.
10178
10179 2011-07-12  Bruno Haible  <bruno@clisp.org>
10180
10181         regex: Depend on module 'strcase'.
10182         * modules/regex (Depends-on): Add strcase, for strcasecmp().
10183
10184 2011-07-12  Jim Meyering  <meyering@redhat.com>
10185
10186         warn-on-use: fix typo in file name
10187         * modules/snippet/warn-on-use (Files): Correct file name:
10188         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
10189
10190 2011-07-12  Bruno Haible  <bruno@clisp.org>
10191
10192         strings: Document module.
10193         * doc/posix-headers/strings.texi: Mention module 'strings'.
10194
10195 2011-07-12  Bruno Haible  <bruno@clisp.org>
10196
10197         Rename module '_Noreturn' to 'snippet/_Noreturn'.
10198         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
10199         (Files, Makefile.am): Update.
10200         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
10201         * modules/stdlib (Depends-on): Update.
10202
10203 2011-07-12  Bruno Haible  <bruno@clisp.org>
10204
10205         * NEWS: Mention the changes.
10206
10207         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
10208         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
10209         (Files, Makefile.am): Update.
10210         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
10211         * modules/arpa_inet (Depends-on): Update.
10212         * modules/ctype (Depends-on): Update.
10213         * modules/dirent (Depends-on): Update.
10214         * modules/fcntl-h (Depends-on): Update.
10215         * modules/glob (Depends-on): Update.
10216         * modules/iconv-h (Depends-on): Update.
10217         * modules/inttypes-incomplete (Depends-on): Update.
10218         * modules/langinfo (Depends-on): Update.
10219         * modules/locale (Depends-on): Update.
10220         * modules/math (Depends-on): Update.
10221         * modules/netdb (Depends-on): Update.
10222         * modules/poll-h (Depends-on): Update.
10223         * modules/pty (Depends-on): Update.
10224         * modules/search (Depends-on): Update.
10225         * modules/signal (Depends-on): Update.
10226         * modules/spawn (Depends-on): Update.
10227         * modules/stdio (Depends-on): Update.
10228         * modules/stdlib (Depends-on): Update.
10229         * modules/string (Depends-on): Update.
10230         * modules/strings (Depends-on): Update.
10231         * modules/sys_file (Depends-on): Update.
10232         * modules/sys_ioctl (Depends-on): Update.
10233         * modules/sys_select (Depends-on): Update.
10234         * modules/sys_socket (Depends-on): Update.
10235         * modules/sys_stat (Depends-on): Update.
10236         * modules/sys_time (Depends-on): Update.
10237         * modules/sys_times (Depends-on): Update.
10238         * modules/sys_utsname (Depends-on): Update.
10239         * modules/sys_wait (Depends-on): Update.
10240         * modules/termios (Depends-on): Update.
10241         * modules/time (Depends-on): Update.
10242         * modules/unistd (Depends-on): Update.
10243         * modules/wchar (Depends-on): Update.
10244         * modules/wctype-h (Depends-on): Update.
10245         * MODULES.html.sh (Support for building libraries and executables):
10246         Update.
10247
10248         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10249         * modules/snippet/unused-parameter: Renamed from
10250         modules/unused-parameter.
10251         (Files, Makefile.am): Update.
10252         * build-aux/snippet/unused-parameter.h: Renamed from
10253         build-aux/unused-parameter.h.
10254         * modules/selinux-h (Depends-on): Update.
10255         * modules/unistr/base (Depends-on): Update.
10256         * MODULES.html.sh (Core language properties): Update.
10257
10258         Rename module 'link-warning' to 'snippet/link-warning'.
10259         * modules/snippet/link-warning: Renamed from modules/link-warning.
10260         (Files, Makefile.am): Update.
10261         * build-aux/snippet/link-warning.h: Renamed from
10262         build-aux/link-warning.h.
10263         * MODULES.html.sh (Support for building libraries and executables):
10264         Update.
10265
10266         Rename module 'c++defs' to 'snippet/c++defs'.
10267         * modules/snippet/c++defs: Renamed from modules/c++defs.
10268         (Files, Makefile.am): Update.
10269         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10270         * modules/arpa_inet (Depends-on): Update.
10271         * modules/ctype (Depends-on): Update.
10272         * modules/dirent (Depends-on): Update.
10273         * modules/fcntl-h (Depends-on): Update.
10274         * modules/glob (Depends-on): Update.
10275         * modules/iconv-h (Depends-on): Update.
10276         * modules/langinfo (Depends-on): Update.
10277         * modules/locale (Depends-on): Update.
10278         * modules/math (Depends-on): Update.
10279         * modules/netdb (Depends-on): Update.
10280         * modules/poll-h (Depends-on): Update.
10281         * modules/pty (Depends-on): Update.
10282         * modules/search (Depends-on): Update.
10283         * modules/signal (Depends-on): Update.
10284         * modules/spawn (Depends-on): Update.
10285         * modules/stdio (Depends-on): Update.
10286         * modules/stdlib (Depends-on): Update.
10287         * modules/string (Depends-on): Update.
10288         * modules/strings (Depends-on): Update.
10289         * modules/sys_ioctl (Depends-on): Update.
10290         * modules/sys_select (Depends-on): Update.
10291         * modules/sys_socket (Depends-on): Update.
10292         * modules/sys_stat (Depends-on): Update.
10293         * modules/sys_time (Depends-on): Update.
10294         * modules/sys_wait (Depends-on): Update.
10295         * modules/termios (Depends-on): Update.
10296         * modules/time (Depends-on): Update.
10297         * modules/unistd (Depends-on): Update.
10298         * modules/wchar (Depends-on): Update.
10299         * modules/wctype-h (Depends-on): Update.
10300
10301         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10302         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10303         (Files, Makefile.am): Update.
10304         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10305         * modules/argv-iter (Depends-on): Update.
10306         * modules/arpa_inet (Depends-on): Update.
10307         * modules/dirent (Depends-on): Update.
10308         * modules/fcntl-h (Depends-on): Update.
10309         * modules/fnmatch (Depends-on): Update.
10310         * modules/getopt-posix (Depends-on): Update.
10311         * modules/glob (Depends-on): Update.
10312         * modules/iconv-h (Depends-on): Update.
10313         * modules/inttypes-incomplete (Depends-on): Update.
10314         * modules/locale (Depends-on): Update.
10315         * modules/math (Depends-on): Update.
10316         * modules/netdb (Depends-on): Update.
10317         * modules/search (Depends-on): Update.
10318         * modules/signal (Depends-on): Update.
10319         * modules/spawn (Depends-on): Update.
10320         * modules/stdio (Depends-on): Update.
10321         * modules/stdlib (Depends-on): Update.
10322         * modules/string (Depends-on): Update.
10323         * modules/strings (Depends-on): Update.
10324         * modules/sys_socket (Depends-on): Update.
10325         * modules/sys_stat (Depends-on): Update.
10326         * modules/sys_time (Depends-on): Update.
10327         * modules/sys_times (Depends-on): Update.
10328         * modules/sys_utsname (Depends-on): Update.
10329         * modules/time (Depends-on): Update.
10330         * modules/unistd (Depends-on): Update.
10331         * modules/wchar (Depends-on): Update.
10332         * MODULES.html.sh (Support for building libraries and executables):
10333         Update.
10334
10335 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10336
10337         Improvements on _Noreturn and related modules.
10338
10339         modules/_Exit-tests: test _Noreturn too
10340         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
10341         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
10342         (main): Use them.
10343
10344         stdnoreturn, stdnoreturn-tests: remove modules
10345         They're not needed here and a bit premature for use elsewhere.  See
10346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
10347         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
10348         * tests/test-stdnoreturn.c: Remove files.
10349         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
10350         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
10351         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
10352         and using noreturn.
10353         * modules/openat, modules/sigpipe-die, modules/xalloc:
10354         * modules/xmemdup0, modules/xstrtol:
10355         Remove dependency on stdnoreturn.
10356
10357         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10358         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10359         Reparenthesize to avoid GCC warning.
10360         Support Microsoft's syntax.
10361         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10362
10363         _Noreturn-tests: remove module
10364         * modules/_Noreturn-tests: Remove.
10365         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10366         * tests/test-_Noreturn.c: Remove.
10367         * tests/test-stdnoreturn.c: Merge from the old
10368         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10369
10370 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10371
10372         _Noreturn, stdnoreturn, and related modules.
10373
10374         * top/maint.mk: Adjust to new noreturn support.
10375         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10376         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10377
10378         xalloc: use stdnoreturn.h
10379         * lib/xalloc.h: Include <stdnoreturn.h>.
10380         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10381         * modules/xalloc (Depends-on): Add stdnoreturn.
10382
10383         xstrtol: use stdnoreturn.h
10384         * lib/xstrtol.h: Include <stdnoreturn.h>.
10385         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10386         * modules/xstrtol (Depends-on): Add stdnoreturn.
10387
10388         xmemdup0: use stdnoreturn.h
10389         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10390         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10391         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10392
10393         sigpipe-die: use stdnoreturn.h
10394         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10395         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10396         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10397
10398         openat: use stdnoreturn.h
10399         * lib/openat.h: Include <stdnoreturn.h>.
10400         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10401         * modules/openat (Depends-on): Add stdnoreturn.
10402
10403         * lib/openat-die.c (openat_save_fail): Modernize comment.
10404
10405         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10406
10407         * lib/glthread/thread.h: Modernize comment.
10408
10409         obstack: use _Noreturn
10410         * lib/obstack.c (__attribute__): Remove macro.
10411         (print_and_abort): Use _Noreturn.
10412
10413         c-stack: use _Noreturn
10414         * lib/c-stack.c (die, overflow_handler, segv_handler):
10415         Use _Noreturn rather than __attribute__((noreturn)).
10416
10417         argmatch-tests, exclude_tests: use _Noreturn
10418         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10419         Remove.
10420         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10421
10422         stdlib: use _Noreturn
10423         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10424         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10425         * modules/stdlib (Depends-on): Add _Noreturn.
10426         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10427
10428         stdnoreturn-tests: new module
10429         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10430
10431         stdnoreturn: new module
10432         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10433         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10434
10435         _Noreturn-tests: new module
10436         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10437
10438         _Noreturn: new module
10439         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10440         New section, mentioning it.
10441         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10442
10443         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10444
10445 2011-07-11  Eric Blake  <eblake@redhat.com>
10446
10447         ffs: new module
10448         * modules/ffs: New file.
10449         * m4/ffs.m4: Likewise.
10450         * lib/ffs.c: Likewise.
10451         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10452         * modules/strings (Makefile.am): Substitute witness.
10453         (Depends-on): Add c++defs.
10454         * lib/strings.in.h (ffs): Declare.
10455         * modules/ffs-tests: New test file.
10456         * tests/test-ffs.c: Test new module.
10457         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10458         * doc/posix-functions/ffs.texi (ffs): Likewise.
10459
10460         regex: avoid compiler warning
10461         * lib/regex.c (includes): Include <strings.h>, for use of
10462         strcasecmp in regcomp.c.
10463         Reported by Joachim Schmitz.
10464
10465 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10466
10467         stdint: respect system's intmax_t if INTMAX_MAX
10468         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10469         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10470         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10471         long but int64_t is long long, and where we will clash with the
10472         system intmax_t if we override it.  See
10473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10474         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10475         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10476         similarly for UINTMAX_C.
10477
10478 2011-07-08  Bruno Haible  <bruno@clisp.org>
10479
10480         pthread_sigmask tests: Avoid a compiler warning.
10481         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10482         non-zero.
10483
10484         sigprocmask tests: A better way to avoid a compiler warning.
10485         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10486         (main): Complain if system() returns non-zero.
10487         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10488
10489 2011-07-08  Bruno Haible  <bruno@clisp.org>
10490
10491         pthread_sigmask: Work around IRIX bug.
10492         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10493         bug.
10494         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10495         there may be unblocked pending signals.
10496         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10497
10498 2011-07-08  Bruno Haible  <bruno@clisp.org>
10499
10500         pthread_sigmask: Work around Cygwin bug.
10501         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10502         bug.
10503         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10504         the system's pthread_sigmask function.
10505         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10506
10507 2011-07-08  Bruno Haible  <bruno@clisp.org>
10508
10509         pthread_sigmask: Work around bug in single-threaded implementation.
10510         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10511         FreeBSD, HP-UX, Solaris bug.
10512         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10513         * lib/pthread_sigmask.c: Include <stddef.h>.
10514         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10515         the system's pthread_sigmask function.
10516         * modules/pthread_sigmask (configure.ac): Invoke
10517         gl_PREREQ_PTHREAD_SIGMASK.
10518         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10519         HP-UX, Solaris.
10520
10521 2011-07-08  Eric Blake  <eblake@redhat.com>
10522
10523         test-sigprocmask: avoid compiler warning
10524         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10525         * tests/test-sigprocmask.c (main): Use it to silence warning.
10526         Reported by Jim Meyering.
10527
10528         test-snprintf: avoid compiler warning
10529         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10530         * tests/test-vsnprintf.c (main): Likewise.
10531         Reported by Jim Meyering.
10532
10533 2011-07-08  Bruno Haible  <bruno@clisp.org>
10534
10535         Tests for module 'pthread_sigmask'.
10536         * modules/pthread_sigmask-tests: New file.
10537         * tests/test-pthread_sigmask1.c: New file, based on
10538         tests/test-sigprocmask.c.
10539         * tests/test-pthread_sigmask2.c: New file.
10540
10541 2011-07-08  Jim Meyering  <meyering@redhat.com>
10542
10543         test-getopt.h: avoid warning about an unused variable
10544         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10545
10546 2011-07-07  Jim Meyering  <meyering@redhat.com>
10547
10548         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10549         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10550         now that it no longer contains leading TABs.
10551         Remove unused "url=FIXME" statement.
10552
10553 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10554
10555         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10556         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10557         When gl_THREADLIB is not in use, assume that the POSIX sematics
10558         are desired.  This is better for Emacs, which uses POSIX semantics
10559         on GNUish and/or POSIXish platforms, and does not use threads at
10560         all otherwise.
10561
10562         pthread_sigmask: fix typo when testing for libraries
10563         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10564         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10565
10566 2011-07-08  Eric Blake  <eblake@redhat.com>
10567
10568         fts: introduce FTS_NOATIME
10569         * lib/fts_.h (FTS_NOATIME): New bit flag.
10570         (FTS_OPTIONMASK): Adjust.
10571         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10572         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10573
10574 2011-07-08  Bruno Haible  <bruno@clisp.org>
10575
10576         Tests for module 'thread'.
10577         * modules/thread-tests: New file.
10578         * tests/test-thread_self.c: New file.
10579         * tests/test-thread_create.cc: New file.
10580
10581 2011-07-08  Bruno Haible  <bruno@clisp.org>
10582
10583         thread: Avoid gcc warnings when using gl_thread_self().
10584         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10585         'void *'.
10586         (gl_thread_self_pointer): Update.
10587
10588 2011-07-07  Bruno Haible  <bruno@clisp.org>
10589
10590         signal-c++-tests: Check declaration of pthread_sigmask.
10591         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10592         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10593         $(LIB_PTHREAD_SIGMASK).
10594
10595 2011-07-07  Bruno Haible  <bruno@clisp.org>
10596
10597         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10598         * lib/signal.in.h (pthread_sigmask): Override if
10599         REPLACE_PTHREAD_SIGMASK is 1.
10600         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10601         REPLACE_PTHREAD_SIGMASK.
10602         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10603         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10604         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10605         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10606         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10607
10608 2011-07-07  Bruno Haible  <bruno@clisp.org>
10609
10610         pthread_sigmask: Ensure declaration in <signal.h>.
10611         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10612         include <pthread.h>.
10613         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10614         problem.
10615
10616 2011-07-07  Bruno Haible  <bruno@clisp.org>
10617
10618         pthread_sigmask: Document the module.
10619         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10620
10621 2011-07-07  Bruno Haible  <bruno@clisp.org>
10622
10623         pthread_sigmask: Follow gnulib conventions.
10624         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10625         gl_PTHREAD_SIGMASK.
10626         * modules/pthread_sigmask (configure.ac): Update.
10627
10628 2011-07-07  Bruno Haible  <bruno@clisp.org>
10629
10630         pthread_sigmask: Make declaration C++ safe.
10631         * lib/signal.in.h: In two special conditions, just do an #include_next.
10632         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10633         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10634         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10635         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10636         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10637         not REPLACE_PTHREAD_MASK.
10638         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10639         not REPLACE_PTHREAD_MASK.
10640         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10641
10642 2011-07-07  Bruno Haible  <bruno@clisp.org>
10643
10644         pthread_sigmask: Fix return value.
10645         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10646         * lib/pthread_sigmask.c: New file.
10647         * modules/pthread_sigmask (Files): Add it.
10648         (configure.ac): Invoke AC_LIBOBJ.
10649
10650 2011-07-07  Eric Blake  <eblake@redhat.com>
10651
10652         getopt: more portable argv creation
10653         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10654         const, use char arrays rather than strings.
10655         Suggested by Paul Eggert.
10656
10657 2011-07-07  Bruno Haible  <bruno@clisp.org>
10658
10659         Tests for module 'sigprocmask'.
10660         * modules/sigprocmask-tests: New file.
10661         * tests/test-sigprocmask.c: New file.
10662
10663 2011-07-07  Bruno Haible  <bruno@clisp.org>
10664
10665         float tests: Tweak.
10666         * tests/test-float.c (main): Tweak skip message.
10667
10668 2011-07-07  Eric Blake  <eblake@redhat.com>
10669
10670         getopt: avoid compiler warning during configure
10671         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10672         assigning string literals to non-const pointer.
10673
10674         getopt-gnu: avoid crash in glibc getopt
10675         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10676         * tests/test-getopt.h (test_getopt): Enhance test.
10677         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10678         * doc/posix-functions/getopt.texi (getopt): Document it.
10679         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10680         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10681         Likewise.
10682
10683 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10684
10685         getopt: handle W; without long options in getopt [BZ #12922]
10686         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10687         but no long options are defined, just return 'W'.
10688
10689 2011-07-07  Bruno Haible  <bruno@clisp.org>
10690
10691         Avoid literal tabs.
10692         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10693         variable containing a tab instead of a literal tab.
10694         Reported by Jim Meyering.
10695
10696 2011-07-07  Bruno Haible  <bruno@clisp.org>
10697
10698         Comments.
10699         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10700
10701 2011-07-06  Bruno Haible  <bruno@clisp.org>
10702
10703         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10704         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10705         <winsock2.h>.
10706         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10707         lib/sys_socket.in.h.
10708         (close, gethostname): Hide declarations from <winsock2.h>.
10709         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10710         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10711         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10712         (select): Don't override if gnulib's <sys/select.h> was already
10713         included.
10714         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10715         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10716         setsockopt, shutdown, select): Tweak indentation.
10717
10718 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10719
10720         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10721         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10722         in an application that does not use the sys_select module.
10723
10724 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10725
10726         poll: do not return 0 on timeout=-1
10727         * lib/poll.c: Loop with yield if no events occured
10728
10729 2011-07-06  Eric Blake  <eblake@redhat.com>
10730
10731         pthread_sigmask: always replace when not using pthread
10732         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10733         replacement when using some threading other than pthread.  Fix
10734         logic bug.
10735
10736 2011-07-06  Bruno Haible  <bruno@clisp.org>
10737
10738         Comments.
10739         * m4/printf.m4: Update comments about mingw.
10740
10741 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10742
10743         sys_select: define sigset_t more portably
10744         * lib/sys_select.in.h: Always include <sys/types.h>, since
10745         we now need sigset_t and mingw defines it there.
10746         Include <signal.h> before split inclusion guard, to avoid
10747         mishaps on Solaris, whose <signal.h> eventually includes us.
10748         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10749         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10750         which come from ...
10751         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10752         gl_CHECK_TYPE_SIGSET_T.
10753         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10754         does the real work.
10755         * modules/sys_select (Depends-on): Add 'signal'.
10756
10757         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10758         Suggested by Bruno Haible.
10759
10760         pselect: Use pthread_sigmask, not sigprocmask.
10761         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10762         multithreaded apps better than sigprocmask does.
10763         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10764         sigprocmask directly.
10765
10766 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10767
10768         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10769         Don't #undef,  since we don't need any underlying pselect.
10770         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10771         (Depends-on): Add select.
10772         (Link): Add $(LIBSOCKET).
10773         These changes suggested by Bruno Haible.
10774
10775         pselect: document better
10776         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10777         * doc/posix-functions/pselect.texi (pselect): Document new module.
10778
10779         pthread_sigmask: new module
10780         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10781         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10782         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10783         This is done only as a macro; I don't know how well that'll
10784         work for C++.  Move <sys/types.h> include before the include_next,
10785         to avoid mishap on Solaris.
10786         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10787         * modules/signal (Makefile.am): Substitute the check's results.
10788         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10789
10790         test-pselect: new module
10791         * modules/pselect-tests, tests/test-pselect.c: New files.
10792         * tests/test-select.c, tests/test-sys_select-c++.cc:
10793         If TEST_PSELECT is defined, test pselect instead of testing select.
10794
10795         * tests/test-sys_select.c (sigset_t): Test for it, too.
10796         Suggested by Bruno Haible.
10797
10798 2011-07-05  Eric Blake  <eblake@redhat.com>
10799
10800         snprintf: guarantee %1$d, for libintl
10801         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10802         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10803         * doc/posix-functions/snprintf.texi (snprintf): Update.
10804         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10805         * tests/test-snprintf.c (main): Enhance test.
10806         * tests/test-vsnprintf.c (main): Likewise.
10807
10808 2011-07-05  Jim Meyering  <meyering@redhat.com>
10809
10810         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10811         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10812         per Bruno's request, to accommodate this idiom (no space after "#")
10813         even when the function is inside an #if block:
10814         char *
10815         gets (char *s)
10816         #undef gets
10817         {
10818           ...
10819         }
10820
10821 2011-07-04  Jim Meyering  <meyering@redhat.com>
10822
10823         maint: indent with spaces, not TABs, and add a rule to check this
10824         * tests/test-userspec.c: Indent with spaces, not TABs.
10825         * tests/test-argp.c: Likewise.
10826         * tests/test-c-stack2.sh: Likewise.
10827         * tests/test-parse-duration.sh: Likewise
10828         * m4/strtod.m4: Likewise.
10829         * m4/alloca.m4: Likewise.
10830         * m4/pselect.m4: Likewise.
10831         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10832
10833 2011-07-03  Jim Meyering  <meyering@redhat.com>
10834
10835         maint.mk: correct omissions in prohibit_argmatch_without_use check
10836         This rule would mistakenly report that argmatch.h is included without
10837         use even when both the argmatch and invalid_arg macro were used.
10838         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10839         of argmatch and invalid_arg.
10840
10841 2011-07-03  Bruno Haible  <bruno@clisp.org>
10842
10843         Comments about EINTR.
10844         * lib/safe-read.h: Explain the purpose of this module.
10845         * lib/safe-write.h: Likewise.
10846         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10847         module.
10848         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10849         module.
10850         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10851
10852 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10853
10854         xnanosleep: Rewrite to use new dtotimespec module.
10855         It has the conversion code that used to be in xnanosleep.
10856         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10857         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10858         (TIME_T_MAX): Remove.
10859         (xnanosleep): Rewrite in terms of dtotimespec.
10860         * modules/xnanosleep (Depends-on): Add dtotimespec.
10861         Remove intprops, stdbool.
10862
10863         timespec-add, timespec-sub: new modules
10864         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10865         * lib/timespec-add.c, lib/timespec-sub.c:
10866         * modules/timespec-add, modules/timespec-sub: New files.
10867
10868         dtotimespec: new module
10869         * lib/timespec.h (dtotimespec): New decl.
10870         * lib/dtotimespec.c, modules/dtotimespec: New files.
10871
10872         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10873
10874         pselect: new module
10875         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10876         (pselect): New decls.
10877         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10878         since the standard pselect decl uses 'restrict'.
10879         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10880         HAVE_PSELECT, REPLACE_PSELECT.
10881         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10882         HAVE_PSELECT, REPLACE_PSELECT.
10883         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10884
10885         sys_select: don't depend on sys_socket
10886         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10888         This fix works on GNU and GNU-like platforms, but has not been tested
10889         on native Windows.
10890         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10891         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10892         gl_HEADER_SYS_SOCKET.
10893         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10894         gl_PREREQ_SYS_H_WINSOCK2.
10895
10896 2011-06-29  Eric Blake  <eblake@redhat.com>
10897
10898         pipe2: fix C89 compile problem
10899         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10900         Reported by Bruno Haible.
10901
10902         pipe, pipe2: don't corrupt fd on error
10903         * lib/pipe.c (pipe): Leave fd unchanged on error.
10904         * lib/pipe2.c (pipe2): Likewise.
10905         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10906         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10907
10908 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10909
10910         mmap-anon: do not use regular expressions inadvertently
10911         * m4/mmap-anon.m4: Remove trailing period from strings sought
10912         in the output.
10913
10914 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10915
10916         nanosleep: fix integer overflow problem
10917         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10918         arithmetic wraps around on overflow.
10919
10920         nanosleep: simplify carrying
10921         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10922         first call to the underyling nanosleep, not for the last one.
10923         This doesn't fix any bugs, but it simplifies the computation of
10924         the remaining delay.  Found while auditing integer overflow issues.
10925
10926         dup2: remove test for existence of fcntl
10927         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10928         "#if HAVE_FCNTL", in the configure-time test program.
10929         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10930         and therefore speeds up "configure" a bit.  Found while
10931         adding the dup2 module to Emacs.
10932
10933 2011-06-24  Eric Blake  <eblake@redhat.com>
10934
10935         maint.mk: enhance useless header checks
10936         * top/maint.mk (_sc_header_without_use): Check both include
10937         styles.
10938         (sc_prohibit_assert_without_use)
10939         (sc_prohibit_close_stream_without_use)
10940         (sc_prohibit_getopt_without_use)
10941         (sc_prohibit_quotearg_without_use)
10942         (sc_prohibit_quote_without_use)
10943         (sc_prohibit_long_options_without_use)
10944         (sc_prohibit_inttostr_without_use)
10945         (sc_prohibit_ignore_value_without_use)
10946         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10947         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10948         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10949         (sc_prohibit_hash_pjw_without_use)
10950         (sc_prohibit_safe_read_without_use)
10951         (sc_prohibit_argmatch_without_use)
10952         (sc_prohibit_canonicalize_without_use)
10953         (sc_prohibit_root_dev_ino_without_use)
10954         (sc_prohibit_openat_without_use)
10955         (sc_prohibit_c_ctype_without_use)
10956         (sc_prohibit_signal_without_use)
10957         (sc_prohibit_stdio--_without_use)
10958         (sc_prohibit_stdio-safer_without_use)
10959         (sc_prohibit_strings_without_use)
10960         (sc_prohibit_intprops_without_use)
10961         (sc_prohibit_stddef_without_use)
10962         (sc_prohibit_xfreopen_without_use): Update clients.
10963
10964 2011-06-24  Jim Meyering  <meyering@redhat.com>
10965
10966         syntax-check: keep one maint.mk rule in sync with its header
10967         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10968         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10969         I prefer to avoid temporary files here, so use <(...), but that
10970         is not supported by /bin/sh, so...
10971         (SHELL): Define to /bin/bash.
10972
10973 2011-06-24  Eric Blake  <eblake@redhat.com>
10974
10975         maint.mk: update sc_prohibit_intprops_without_use
10976         * top/maint.mk (_intprops_names): Match recent changes.
10977
10978 2011-06-24  Bruno Haible  <bruno@clisp.org>
10979
10980         strerror-override: No-op tweak.
10981         * lib/strerror-override.h (strerror_override): Reorder conditions,
10982         for consistency with lib/strerror-override.c.
10983
10984 2011-06-23  Eric Blake  <eblake@redhat.com>
10985
10986         maint.mk: test further PATH_MAX issues
10987         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10988         (sc_prohibit_path_max_allocation): ...and also test alloca.
10989         Suggested by Jim Meyering.
10990
10991 2011-06-22  Eric Blake  <eblake@redhat.com>
10992
10993         maint.mk: add syntax-check to avoid char[PATH_MAX]
10994         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10995
10996         stat: be robust to PATH_MAX definition
10997         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10998         * modules/stat (Depends-on): Add verify.
10999
11000         link: work around IRIX bug
11001         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
11002         * lib/link.c (rpl_link): Work around it.
11003         * tests/test-link.h (test_link): Enhance test.
11004         * doc/posix-functions/link.texi (link): Document the bug.
11005
11006         getopt: silence clang warning
11007         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
11008         dereference.
11009         Reported by Gustavo Martin Domato.
11010
11011 2011-06-22  Jim Meyering  <meyering@redhat.com>
11012
11013         bootstrap: do not insert a blank line into each .gitignore file
11014         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
11015
11016 2011-06-21  Eric Blake  <eblake@redhat.com>
11017
11018         perror: test for output mismatch
11019         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
11020         perror on IRIX.
11021
11022         strerror_r: fix OpenBSD behavior on out-of-range
11023         * lib/strerror_r.c (strerror_r): Always use maximal string.
11024         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
11025
11026         strerror_r: fix OpenBSD behavior on 0
11027         * lib/strerror-override.c (strerror_override): Also override 0
11028         when needed.
11029         * lib/strerror-override.h (strerror_override): Likewise.
11030         * lib/strerror.c (strerror): Simplify, now that 0 override is done
11031         earlier.
11032         * lib/strerror_r.c (strerror_r): Likewise.
11033         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
11034         behavior...
11035         (gl_FUNC_STRERROR_0): ...into new macro.
11036         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
11037         is overridden.
11038         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
11039         * modules/strerror-override (Files): Add strerror.m4.
11040         (configure.ac): Also provide override for 0 when needed.
11041         * doc/posix-functions/strerror.texi (strerror): Document this.
11042         * doc/posix-functions/perror.texi (perror): Likewise.
11043
11044         perror: adjust array size
11045         * modules/perror (Depends-on): Add strerror-override.
11046         * lib/perror.c (perror): Use it to avoid magic number.
11047
11048         strerror-override: reduce size
11049         * lib/strerror-override.c (strerror_override): Use fewer lines.
11050
11051 2011-06-20  Bruno Haible  <bruno@clisp.org>
11052
11053         pathmax: Ensure correct value for PATH_MAX on HP-UX.
11054         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
11055
11056 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11057
11058         alloca: port to compilers that can optimize like GCC 4.6.0
11059         * lib/alloca.c (find_stack_direction): New signature, taken from
11060         Autoconf git.  This works with GCC 4.6.0.  This code should never
11061         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
11062         be used with other compilers that optimize as well as GCC 4.6.0 does.
11063         (alloca): Adjust to new signature.
11064         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
11065         New macro, which patches Autoconf in a similar way.
11066
11067         c-stack: stop worrying about stack direction
11068         * lib/c-stack.c (find_stack_direction): Remove.
11069         (segv_handler): Don't worry about stack direction growth, as it's
11070         too much of a pain to configure this correctly, given how compilers
11071         are optimizing-away our stack-growth detection code.  Instead, assume
11072         that any access to just before or just after the stack is OK.
11073         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
11074         Don't require AC_FUNC_ALLOCA; no longer needed.
11075
11076 2011-06-20  Eric Blake  <eblake@redhat.com>
11077
11078         test-stat: don't allocate PATH_MAX bytes
11079         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
11080         PATH_MAX-sized buffer.
11081         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
11082         * modules/stat-tests (Depends-on): Likewise.
11083         * tests/test-fstatat.c (includes): Drop pathmax.h.
11084         * tests/test-stat.c (includes): Likewise.
11085         Reported by Bruno Haible.
11086
11087 2011-06-20  Bruno Haible  <bruno@clisp.org>
11088
11089         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
11090         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
11091         * lib/float.c: New file.
11092         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
11093         REPLACE_FLOAT_LDBL.
11094         * modules/float (Files): Add lib/float.c.
11095         (configure.ac): Invoke AC_LIBOBJ.
11096         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
11097
11098 2011-06-20  Bruno Haible  <bruno@clisp.org>
11099
11100         Tests for module 'float'.
11101         * modules/float-tests: New file.
11102         * tests/test-float.c: New file.
11103
11104 2011-06-19  Bruno Haible  <bruno@clisp.org>
11105
11106         isinf: Coding style.
11107         * lib/isinf.c: Use GNU coding style.
11108
11109 2011-06-19  Bruno Haible  <bruno@clisp.org>
11110
11111         linkat test: Avoid test failure on AIX 7.1.
11112         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
11113         * tests/test-link.h (test_link): Likewise.
11114
11115 2011-06-19  Bruno Haible  <bruno@clisp.org>
11116
11117         pread test: Avoid test failure on OpenBSD 4.9.
11118         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
11119
11120 2011-06-19  Bruno Haible  <bruno@clisp.org>
11121
11122         sprintf-posix: Fix test failure on AIX 7.1.
11123         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
11124         * doc/posix-functions/dprintf.texi: Mention limited precision problem
11125         on AIX.
11126         * doc/posix-functions/fprintf.texi: Likewise.
11127         * doc/posix-functions/printf.texi: Likewise.
11128         * doc/posix-functions/snprintf.texi: Likewise.
11129         * doc/posix-functions/sprintf.texi: Likewise.
11130         * doc/posix-functions/vdprintf.texi: Likewise.
11131         * doc/posix-functions/vfprintf.texi: Likewise.
11132         * doc/posix-functions/vprintf.texi: Likewise.
11133         * doc/posix-functions/vsnprintf.texi: Likewise.
11134         * doc/posix-functions/vsprintf.texi: Likewise.
11135
11136 2011-06-19  Bruno Haible  <bruno@clisp.org>
11137
11138         roundl-ieee: Fix test failure on AIX 7.1.
11139         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
11140         * doc/posix-functions/roundl.texi: Mention problem with negative
11141         arguments.
11142
11143 2011-06-19  Bruno Haible  <bruno@clisp.org>
11144
11145         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11146         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
11147         * doc/posix-functions/round.texi: Mention problem with negative
11148         arguments.
11149         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
11150
11151 2011-06-19  Bruno Haible  <bruno@clisp.org>
11152
11153         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11154         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
11155         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
11156         * doc/posix-functions/roundf.texi: Mention problem with negative
11157         arguments.
11158         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
11159
11160 2011-06-19  Bruno Haible  <bruno@clisp.org>
11161
11162         ceilf-ieee: Work around bug on MacOS X 10.5.
11163         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
11164
11165         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
11166         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
11167         IEEE compliant, avoid compiler optimizations.
11168         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
11169         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11170         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
11171         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11172         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11173         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11174         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11175         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11176         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11177         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11178
11179 2011-06-19  Bruno Haible  <bruno@clisp.org>
11180
11181         ceilf-ieee: Work around bug on AIX 7.1.
11182         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
11183         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
11184
11185 2011-06-19  Bruno Haible  <bruno@clisp.org>
11186
11187         ceil-ieee: Work around bug on AIX 7.1.
11188         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
11189         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
11190
11191 2011-06-18  Bruno Haible  <bruno@clisp.org>
11192
11193         fsync test: Avoid test failure on MacOS X and AIX.
11194         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
11195         EINVAL.
11196
11197 2011-06-18  Bruno Haible  <bruno@clisp.org>
11198
11199         openat, fdopendir tests: Fix link errors.
11200         * modules/openat-tests (Depends-on): Add progname.
11201         * modules/fdopendir-tests (Depends-on): Likewise.
11202         * tests/test-fchownat.c: Include progname.h.
11203         (main): Call set_program_name.
11204         * tests/test-fstatat.c: Include progname.h.
11205         (main): Call set_program_name.
11206         * tests/test-mkdirat.c: Include progname.h.
11207         (main): Call set_program_name.
11208         * tests/test-openat.c: Include progname.h.
11209         (main): Call set_program_name.
11210         * tests/test-unlinkat.c: Include progname.h.
11211         (main): Call set_program_name.
11212         * tests/test-fdopendir.c: Include progname.h.
11213         (main): Call set_program_name.
11214
11215 2011-06-18  Bruno Haible  <bruno@clisp.org>
11216
11217         Doc update.
11218         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
11219         HP-UX.
11220         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
11221
11222 2011-06-18  Bruno Haible  <bruno@clisp.org>
11223
11224         getcwd tests: Avoid compilation error on HP-UX 11.31.
11225         * modules/getcwd-tests (Depends-on): Add pathmax.
11226         * tests/test-getcwd.c: Include pathmax.h.
11227
11228 2011-06-18  Bruno Haible  <bruno@clisp.org>
11229
11230         isfinite, isinf: Fix link error on AIX 6 and 7.
11231         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
11232         needed, also test the macro with a 'float' argument.
11233         * m4/isinf.m4 (gl_ISINF): Likewise.
11234
11235 2011-06-18  Bruno Haible  <bruno@clisp.org>
11236
11237         getloadavg: Don't clobber LIBS. Regression from previous commit.
11238         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11239         AC_CHECK_LIB from here...
11240         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11241         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11242         gl_func_getloadavg_done.
11243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11244
11245 2011-06-18  Bruno Haible  <bruno@clisp.org>
11246
11247         clean-temp: Improve documentation.
11248         * lib/clean-temp.h: Explain better how to use this module.
11249         Reported by John Darrington <john@darrington.wattle.id.au>.
11250
11251 2011-06-17  Bruno Haible  <bruno@clisp.org>
11252
11253         pread, pwrite: Avoid cc warning on AIX.
11254         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11255         (pwrite): Likewise.
11256
11257 2011-06-17  Bruno Haible  <bruno@clisp.org>
11258
11259         spawn-pipe tests: Fix link error.
11260         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11261         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11262
11263 2011-06-17  Bruno Haible  <bruno@clisp.org>
11264
11265         Tests: Remove unnecessary dependency.
11266         * modules/canonicalize-tests (Depends-on): Remove progname.
11267         * modules/chown-tests (Depends-on): Likewise.
11268         * modules/dirname-tests (Depends-on): Likewise.
11269         * modules/fdopendir-tests (Depends-on): Likewise.
11270         * modules/fdutimensat-tests (Depends-on): Likewise.
11271         * modules/hash-tests (Depends-on): Likewise.
11272         * modules/lchown-tests (Depends-on): Likewise.
11273         * modules/linkat-tests (Depends-on): Likewise.
11274         * modules/renameat-tests (Depends-on): Likewise.
11275         * modules/spawn-pipe-tests (Depends-on): Likewise.
11276         * modules/utimensat-tests (Depends-on): Likewise.
11277
11278 2011-06-17  Bruno Haible  <bruno@clisp.org>
11279
11280         spawn-pipe tests: Fix link error.
11281         * tests/test-spawn-pipe-child.c: Undefine fflush.
11282
11283 2011-06-17  Bruno Haible  <bruno@clisp.org>
11284
11285         Fix tests link errors.
11286         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11287         * modules/chown-tests (Makefile.am): Don't link test-chown with
11288         LIBINTL.
11289         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11290         LIBINTL.
11291         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11292         LIBINTL.
11293         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11294         LIBINTL.
11295
11296 2011-06-16  Bruno Haible  <bruno@clisp.org>
11297
11298         crypto/gc-sha1: Fix recent regression.
11299         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11300         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11301
11302         crypto/gc-md5: Fix recent regression.
11303         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11304
11305         crypto/gc-md4: Fix recent regression.
11306         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11307         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11308
11309         crypto/gc-arctwo: Fix recent regression.
11310         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11311         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11312
11313         crypto/gc-rijndael: Fix recent regression.
11314         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11315         (configure.ac): Invoke AC_LIBOBJ here.
11316         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11317         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11318
11319         crypto/gc-hmac-sha1: Fix recent regression.
11320         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11321         (configure.ac): Invoke AC_LIBOBJ here.
11322         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11323         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11324
11325         crypto/gc-hmac-md5: Fix recent regression.
11326         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11327         (configure.ac): Invoke AC_LIBOBJ here.
11328         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11329         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11330
11331         crypto/gc-des: Fix recent regression.
11332         * modules/crypto/gc-des (Files): Remove m4/des.m4.
11333         (configure.ac): Invoke AC_LIBOBJ here.
11334         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
11335         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11336
11337         crypto/gc-arcfour: Fix recent regression.
11338         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
11339         (configure.ac): Invoke AC_LIBOBJ here.
11340         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
11341         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11342
11343 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
11344
11345         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
11346         After the 2011-05-21 change, this macro requires
11347         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
11348         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11349
11350 2011-06-16  Bruno Haible  <bruno@clisp.org>
11351
11352         fprintftime: Move AC_LIBOBJ invocations to module description.
11353         * m4/fprintftime.m4: Remove file.
11354         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11355         (configure.ac): Remove gl_FPRINTFTIME call.
11356         (Makefile.am): Augment lib_SOURCES.
11357         Reported by Jim Meyering.
11358
11359 2011-06-16  Bruno Haible  <bruno@clisp.org>
11360
11361         tmpfile-safer: Finish 2011-05-23 commit.
11362         * m4/stdio-safer.m4: Really remove file.
11363         Reported by Jim Meyering.
11364
11365 2011-06-16  Bruno Haible  <bruno@clisp.org>
11366
11367         syntax-check: Fix typo.
11368         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11369         printf-posix.m4.
11370         Reported by Jim Meyering.
11371
11372 2011-06-13  Jim Meyering  <meyering@redhat.com>
11373
11374         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11375         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11376
11377 2011-05-23  Bruno Haible  <bruno@clisp.org>
11378
11379         yesno: Move AC_LIBOBJ invocations to module description.
11380         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11381         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11382
11383 2011-05-23  Bruno Haible  <bruno@clisp.org>
11384
11385         xstrtol: Move AC_LIBOBJ invocations to module description.
11386         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11387         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11388
11389 2011-05-23  Bruno Haible  <bruno@clisp.org>
11390
11391         xstrtold: Move AC_LIBOBJ invocations to module description.
11392         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11393         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11394
11395 2011-05-23  Bruno Haible  <bruno@clisp.org>
11396
11397         xstrtod: Move AC_LIBOBJ invocations to module description.
11398         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11399         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11400
11401 2011-05-23  Bruno Haible  <bruno@clisp.org>
11402
11403         xnanosleep: Move AC_LIBOBJ invocations to module description.
11404         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11405         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11406
11407 2011-05-23  Bruno Haible  <bruno@clisp.org>
11408
11409         xgetcwd: Move AC_LIBOBJ invocations to module description.
11410         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11411         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11412
11413 2011-05-23  Bruno Haible  <bruno@clisp.org>
11414
11415         xalloc: Move AC_LIBOBJ invocations to module description.
11416         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11417         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11418
11419 2011-05-23  Bruno Haible  <bruno@clisp.org>
11420
11421         write-any-file: Move AC_LIBOBJ invocations to module description.
11422         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11423         invocation.
11424         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11425
11426 2011-05-23  Bruno Haible  <bruno@clisp.org>
11427
11428         utimens: Move AC_LIBOBJ invocations to module description.
11429         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11430         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11431
11432 2011-05-23  Bruno Haible  <bruno@clisp.org>
11433
11434         utimecmp: Move AC_LIBOBJ invocations to module description.
11435         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11436         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11437
11438 2011-05-23  Bruno Haible  <bruno@clisp.org>
11439
11440         userspec: Move AC_LIBOBJ invocations to module description.
11441         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11442         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11443
11444 2011-05-23  Bruno Haible  <bruno@clisp.org>
11445
11446         unlinkdir: Move AC_LIBOBJ invocations to module description.
11447         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11448         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11449
11450 2011-05-23  Bruno Haible  <bruno@clisp.org>
11451
11452         unistd-safer: Move AC_LIBOBJ invocations to module description.
11453         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11454         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11455
11456 2011-05-23  Bruno Haible  <bruno@clisp.org>
11457
11458         tempname: Move AC_LIBOBJ invocations to module description.
11459         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11460         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11461
11462 2011-05-23  Bruno Haible  <bruno@clisp.org>
11463
11464         strftime: Move AC_LIBOBJ invocations to module description.
11465         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11466         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11467
11468 2011-05-23  Bruno Haible  <bruno@clisp.org>
11469
11470         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11471         * m4/stdlib-safer.m4: Remove file.
11472         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11473         (configure.ac): Remove gl_STDLIB_SAFER call.
11474         (Makefile.am): Augment lib_SOURCES.
11475
11476 2011-05-23  Bruno Haible  <bruno@clisp.org>
11477
11478         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11479         * m4/stdio-safer.m4: Remove file.
11480         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11481         (configure.ac): Remove gl_TMPFILE_SAFER call.
11482         (Makefile.am): Augment lib_SOURCES.
11483
11484 2011-05-23  Bruno Haible  <bruno@clisp.org>
11485
11486         popen-safer: Move AC_LIBOBJ invocations to module description.
11487         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11488         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11489         (configure.ac): Remove gl_POPEN_SAFER call.
11490         (Makefile.am): Augment lib_SOURCES.
11491
11492 2011-05-23  Bruno Haible  <bruno@clisp.org>
11493
11494         freopen-safer: Move AC_LIBOBJ invocations to module description.
11495         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11496         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11497         (configure.ac): Remove gl_FREOPEN_SAFER call.
11498         (Makefile.am): Augment lib_SOURCES.
11499
11500 2011-05-23  Bruno Haible  <bruno@clisp.org>
11501
11502         fopen-safer: Move AC_LIBOBJ invocations to module description.
11503         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11504         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11505         (configure.ac): Remove gl_FOPEN_SAFER call.
11506         (Makefile.am): Augment lib_SOURCES.
11507
11508 2011-05-23  Bruno Haible  <bruno@clisp.org>
11509
11510         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11511         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11512         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11513
11514 2011-05-23  Bruno Haible  <bruno@clisp.org>
11515
11516         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11517         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11518         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11519
11520 2011-05-23  Bruno Haible  <bruno@clisp.org>
11521
11522         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11523         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11524         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11525
11526 2011-05-23  Bruno Haible  <bruno@clisp.org>
11527
11528         settime: Move AC_LIBOBJ invocations to module description.
11529         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11530         * modules/settime (Makefile.am): Augment lib_SOURCES.
11531
11532 2011-05-23  Bruno Haible  <bruno@clisp.org>
11533
11534         savedir: Move AC_LIBOBJ invocations to module description.
11535         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11536         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11537
11538 2011-05-23  Bruno Haible  <bruno@clisp.org>
11539
11540         save-cwd: Move AC_LIBOBJ invocations to module description.
11541         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11542         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11543
11544 2011-05-23  Bruno Haible  <bruno@clisp.org>
11545
11546         same: Move AC_LIBOBJ invocations to module description.
11547         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11548         * modules/same (Makefile.am): Augment lib_SOURCES.
11549
11550 2011-05-23  Bruno Haible  <bruno@clisp.org>
11551
11552         safe-write: Move AC_LIBOBJ invocations to module description.
11553         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11554         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11555         instead of gl_SAFE_WRITE.
11556         (Makefile.am): Augment lib_SOURCES.
11557
11558 2011-05-23  Bruno Haible  <bruno@clisp.org>
11559
11560         safe-read: Move AC_LIBOBJ invocations to module description.
11561         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11562         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11563         of gl_SAFE_READ.
11564         (Makefile.am): Augment lib_SOURCES.
11565
11566 2011-05-23  Bruno Haible  <bruno@clisp.org>
11567
11568         safe-alloc: Move AC_LIBOBJ invocations to module description.
11569         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11570         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11571
11572 2011-05-23  Bruno Haible  <bruno@clisp.org>
11573
11574         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11575         * m4/rijndael.m4: Remove file.
11576         * modules/crypto/rijndael (Files): Remove it.
11577         (configure.ac): Remove gl_RIJNDAEL call.
11578         (Makefile.am): Augment lib_SOURCES.
11579
11580 2011-05-23  Bruno Haible  <bruno@clisp.org>
11581
11582         readtokens: Move AC_LIBOBJ invocations to module description.
11583         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11584         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11585
11586 2011-05-23  Bruno Haible  <bruno@clisp.org>
11587
11588         read-file: Move AC_LIBOBJ invocations to module description.
11589         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11590         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11591         of gl_FUNC_READ_FILE.
11592         (Makefile.am): Augment lib_SOURCES.
11593
11594 2011-05-23  Bruno Haible  <bruno@clisp.org>
11595
11596         quotearg: Move AC_LIBOBJ invocations to module description.
11597         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11598         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11599
11600 2011-05-23  Bruno Haible  <bruno@clisp.org>
11601
11602         quote: Move AC_LIBOBJ invocations to module description.
11603         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11604         * modules/quote (Makefile.am): Augment lib_SOURCES.
11605
11606 2011-05-23  Bruno Haible  <bruno@clisp.org>
11607
11608         posixver: Move AC_LIBOBJ invocations to module description.
11609         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11610         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11611
11612 2011-05-23  Bruno Haible  <bruno@clisp.org>
11613
11614         posixtm: Move AC_LIBOBJ invocations to module description.
11615         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11616         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11617
11618 2011-05-23  Bruno Haible  <bruno@clisp.org>
11619
11620         physmem: Move AC_LIBOBJ invocations to module description.
11621         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11622         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11623
11624 2011-05-23  Bruno Haible  <bruno@clisp.org>
11625
11626         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11627         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11628         invocation.
11629         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11630
11631 2011-05-23  Bruno Haible  <bruno@clisp.org>
11632
11633         mpsort: Move AC_LIBOBJ invocations to module description.
11634         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11635         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11636
11637 2011-05-23  Bruno Haible  <bruno@clisp.org>
11638
11639         modechange: Move AC_LIBOBJ invocations to module description.
11640         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11641         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11642
11643 2011-05-23  Bruno Haible  <bruno@clisp.org>
11644
11645         mkdir-p: Move AC_LIBOBJ invocations to module description.
11646         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11647         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11648
11649 2011-05-23  Bruno Haible  <bruno@clisp.org>
11650
11651         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11652         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11653         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11654
11655 2011-05-23  Bruno Haible  <bruno@clisp.org>
11656
11657         mgetgroups: Move AC_LIBOBJ invocations to module description.
11658         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11659         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11660
11661 2011-05-23  Bruno Haible  <bruno@clisp.org>
11662
11663         memxor: Move AC_LIBOBJ invocations to module description.
11664         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11665         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11666
11667 2011-05-23  Bruno Haible  <bruno@clisp.org>
11668
11669         memcoll: Move AC_LIBOBJ invocations to module description.
11670         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11671         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11672
11673 2011-05-23  Bruno Haible  <bruno@clisp.org>
11674
11675         memcasecmp: Move AC_LIBOBJ invocations to module description.
11676         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11677         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11678
11679 2011-05-23  Bruno Haible  <bruno@clisp.org>
11680
11681         crypto/md5: Move AC_LIBOBJ invocations to module description.
11682         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11683         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11684
11685 2011-05-23  Bruno Haible  <bruno@clisp.org>
11686
11687         crypto/md4: Move AC_LIBOBJ invocations to module description.
11688         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11689         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11690
11691 2011-05-23  Bruno Haible  <bruno@clisp.org>
11692
11693         crypto/md2: Move AC_LIBOBJ invocations to module description.
11694         * m4/md2.m4: Remove file.
11695         * modules/crypto/md2 (Files): Remove it.
11696         (configure.ac): Remove gl_MD2 call.
11697         (Makefile.am): Augment lib_SOURCES.
11698
11699 2011-05-23  Bruno Haible  <bruno@clisp.org>
11700
11701         long-options: Move AC_LIBOBJ invocations to module description.
11702         * m4/long-options.m4: Remove file.
11703         * modules/long-options (Files): Remove it.
11704         (configure.ac): Remove gl_LONG_OPTIONS call.
11705         (Makefile.am): Augment lib_SOURCES.
11706
11707 2011-05-23  Bruno Haible  <bruno@clisp.org>
11708
11709         i-ring: Move AC_LIBOBJ invocations to module description.
11710         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11711         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11712
11713 2011-05-23  Bruno Haible  <bruno@clisp.org>
11714
11715         idcache: Move AC_LIBOBJ invocations to module description.
11716         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11717         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11718
11719 2011-05-23  Bruno Haible  <bruno@clisp.org>
11720
11721         human: Move AC_LIBOBJ invocations to module description.
11722         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11723         * modules/human (Makefile.am): Augment lib_SOURCES.
11724
11725 2011-05-23  Bruno Haible  <bruno@clisp.org>
11726
11727         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11728         * m4/hmac-sha1.m4: Remove file.
11729         * modules/crypto/hmac-sha1 (Files): Remove it.
11730         (configure.ac): Remove gl_HMAC_SHA1 call.
11731         (Makefile.am): Augment lib_SOURCES.
11732
11733 2011-05-23  Bruno Haible  <bruno@clisp.org>
11734
11735         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11736         * m4/hmac-md5.m4: Remove file.
11737         * modules/crypto/hmac-md5 (Files): Remove it.
11738         (configure.ac): Remove gl_HMAC_MD5 call.
11739         (Makefile.am): Augment lib_SOURCES.
11740
11741 2011-05-23  Bruno Haible  <bruno@clisp.org>
11742
11743         hash: Move AC_LIBOBJ invocations to module description.
11744         * m4/hash.m4: Remove file.
11745         * modules/hash (Files): Remove it.
11746         (configure.ac): Remove gl_HASH call.
11747         (Makefile.am): Augment lib_SOURCES.
11748
11749 2011-05-23  Bruno Haible  <bruno@clisp.org>
11750
11751         hard-locale: Move AC_LIBOBJ invocations to module description.
11752         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11753         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11754
11755 2011-05-23  Bruno Haible  <bruno@clisp.org>
11756
11757         getugroups: Move AC_LIBOBJ invocations to module description.
11758         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11759         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11760
11761 2011-05-23  Bruno Haible  <bruno@clisp.org>
11762
11763         gettime: Move AC_LIBOBJ invocations to module description.
11764         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11765         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11766
11767 2011-05-23  Bruno Haible  <bruno@clisp.org>
11768
11769         getndelim2: Move AC_LIBOBJ invocations to module description.
11770         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11771         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11772
11773 2011-05-23  Bruno Haible  <bruno@clisp.org>
11774
11775         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11776         * m4/gc-pbkdf2-sha1.m4: Remove file.
11777         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11778         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11779         (Makefile.am): Augment lib_SOURCES.
11780
11781 2011-05-23  Bruno Haible  <bruno@clisp.org>
11782
11783         fts: Move AC_LIBOBJ invocations to module description.
11784         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11785         * modules/fts (configure.ac): ... to here.
11786
11787 2011-05-23  Bruno Haible  <bruno@clisp.org>
11788
11789         file-type: Move AC_LIBOBJ invocations to module description.
11790         * m4/file-type.m4: Remove file.
11791         * modules/file-type (Files): Remove it.
11792         (configure.ac): Remove gl_FILE_TYPE call.
11793         (Makefile.am): Augment lib_SOURCES.
11794
11795 2011-05-23  Bruno Haible  <bruno@clisp.org>
11796
11797         filenamecat*: Respect rules for use of AC_LIBOBJ.
11798         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11799         Remove AC_LIBOBJ invocation.
11800         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11801         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11802
11803 2011-05-23  Bruno Haible  <bruno@clisp.org>
11804
11805         filemode: Move AC_LIBOBJ invocations to module description.
11806         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11807         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11808
11809 2011-05-23  Bruno Haible  <bruno@clisp.org>
11810
11811         openat-safer: Move AC_LIBOBJ invocations to module description.
11812         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11813         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11814
11815 2011-05-23  Bruno Haible  <bruno@clisp.org>
11816
11817         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11818         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11819         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11820
11821 2011-05-23  Bruno Haible  <bruno@clisp.org>
11822
11823         exclude: Move AC_LIBOBJ invocations to module description.
11824         * m4/exclude.m4: Remove file.
11825         * modules/exclude (Files): Remove it.
11826         (configure.ac): Remove gl_EXCLUDE call.
11827         (Makefile.am): Augment lib_SOURCES.
11828
11829 2011-05-23  Bruno Haible  <bruno@clisp.org>
11830
11831         dirname*: Respect rules for use of AC_LIBOBJ.
11832         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11833         invocations.
11834         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11835         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11836
11837 2011-05-23  Bruno Haible  <bruno@clisp.org>
11838
11839         dirent-safer: Move AC_LIBOBJ invocations to module description.
11840         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11841         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11842
11843 2011-05-23  Bruno Haible  <bruno@clisp.org>
11844
11845         crypto/des: Move AC_LIBOBJ invocations to module description.
11846         * m4/des.m4: Remove file.
11847         * modules/crypto/des (Files): Remove it.
11848         (configure.ac): Remove gl_DES call.
11849         (Makefile.am): Augment lib_SOURCES.
11850
11851 2011-05-23  Bruno Haible  <bruno@clisp.org>
11852
11853         cycle-check: Move AC_LIBOBJ invocations to module description.
11854         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11855         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11856
11857 2011-05-23  Bruno Haible  <bruno@clisp.org>
11858
11859         c-strtold: Move AC_LIBOBJ invocations to module description.
11860         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11861         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11862
11863 2011-05-23  Bruno Haible  <bruno@clisp.org>
11864
11865         c-strtod: Move AC_LIBOBJ invocations to module description.
11866         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11867         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11868
11869 2011-05-23  Bruno Haible  <bruno@clisp.org>
11870
11871         crc: Move AC_LIBOBJ invocations to module description.
11872         * m4/crc.m4: Remove file.
11873         * modules/crc (Files): Remove it.
11874         (configure.ac): Remove gl_CRC call.
11875         (Makefile.am): Augment lib_SOURCES.
11876
11877 2011-05-23  Bruno Haible  <bruno@clisp.org>
11878
11879         close-stream: Move AC_LIBOBJ invocations to module description.
11880         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11881         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11882
11883 2011-05-23  Bruno Haible  <bruno@clisp.org>
11884
11885         closeout: Move AC_LIBOBJ invocations to module description.
11886         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11887         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11888
11889 2011-05-23  Bruno Haible  <bruno@clisp.org>
11890
11891         closein: Move AC_LIBOBJ invocations to module description.
11892         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11893         * modules/closein (Makefile.am): Augment lib_SOURCES.
11894
11895 2011-05-23  Bruno Haible  <bruno@clisp.org>
11896
11897         cloexec: Move AC_LIBOBJ invocations to module description.
11898         * m4/cloexec.m4: Remove file.
11899         * modules/cloexec (Files): Remove it.
11900         (configure.ac): Remove gl_CLOEXEC call.
11901         (Makefile.am): Augment lib_SOURCES.
11902
11903 2011-05-23  Bruno Haible  <bruno@clisp.org>
11904
11905         check-version: Move AC_LIBOBJ invocations to module description.
11906         * m4/check-version.m4: Remove file.
11907         * modules/check-version (Files): Remove it.
11908         (configure.ac): Remove gl_CHECK_VERSION call.
11909         (Makefile.am): Augment lib_SOURCES.
11910
11911 2011-05-23  Bruno Haible  <bruno@clisp.org>
11912
11913         chdir-safer: Move AC_LIBOBJ invocations to module description.
11914         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11915         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11916
11917 2011-05-23  Bruno Haible  <bruno@clisp.org>
11918
11919         canonicalize: Move AC_LIBOBJ invocations to module description.
11920         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11921         AC_LIBOBJ invocation.
11922         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11923
11924 2011-05-23  Bruno Haible  <bruno@clisp.org>
11925
11926         canon-host: Move AC_LIBOBJ invocations to module description.
11927         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11928         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11929         instead of gl_CANON_HOST.
11930         (Makefile.am): Augment lib_SOURCES.
11931
11932 2011-05-23  Bruno Haible  <bruno@clisp.org>
11933
11934         backupfile: Move AC_LIBOBJ invocations to module description.
11935         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11936         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11937
11938 2011-05-23  Bruno Haible  <bruno@clisp.org>
11939
11940         argmatch: Move AC_LIBOBJ invocations to module description.
11941         * m4/argmatch.m4: Remove file.
11942         * modules/argmatch (Files): Remove it.
11943         (configure.ac): Remove gl_ARGMATCH call.
11944         (Makefile.am): Augment lib_SOURCES.
11945
11946 2011-05-23  Bruno Haible  <bruno@clisp.org>
11947
11948         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11949         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11950         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11951
11952 2011-05-23  Bruno Haible  <bruno@clisp.org>
11953
11954         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11955         * m4/arcfour.m4: Remove file.
11956         * modules/crypto/arcfour (Files): Remove it.
11957         (configure.ac): Remove gl_ARCFOUR call.
11958         (Makefile.am): Augment lib_SOURCES.
11959
11960 2011-05-22  Bruno Haible  <bruno@clisp.org>
11961
11962         write: Move AC_LIBOBJ invocations to module description.
11963         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11964         * modules/write (configure.ac): ... to here.
11965
11966 2011-05-22  Bruno Haible  <bruno@clisp.org>
11967
11968         wmemset: Move AC_LIBOBJ invocations to module description.
11969         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11970         here...
11971         * modules/wmemset (configure.ac): ... to here.
11972
11973 2011-05-22  Bruno Haible  <bruno@clisp.org>
11974
11975         wmemmove: Move AC_LIBOBJ invocations to module description.
11976         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11977         here...
11978         * modules/wmemmove (configure.ac): ... to here.
11979
11980 2011-05-22  Bruno Haible  <bruno@clisp.org>
11981
11982         wmemcpy: Move AC_LIBOBJ invocations to module description.
11983         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11984         here...
11985         * modules/wmemcpy (configure.ac): ... to here.
11986
11987 2011-05-22  Bruno Haible  <bruno@clisp.org>
11988
11989         wmemcmp: Move AC_LIBOBJ invocations to module description.
11990         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11991         here...
11992         * modules/wmemcmp (configure.ac): ... to here.
11993
11994 2011-05-22  Bruno Haible  <bruno@clisp.org>
11995
11996         wmemchr: Move AC_LIBOBJ invocations to module description.
11997         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11998         here...
11999         * modules/wmemchr (configure.ac): ... to here.
12000
12001 2011-05-22  Bruno Haible  <bruno@clisp.org>
12002
12003         wcswidth: Move AC_LIBOBJ invocations to module description.
12004         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
12005         here...
12006         * modules/wcswidth (configure.ac): ... to here.
12007
12008 2011-05-22  Bruno Haible  <bruno@clisp.org>
12009
12010         wcwidth: Respect rules for use of AC_LIBOBJ.
12011         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
12012         invocation from here...
12013         * modules/wcwidth (configure.ac): ... to here.
12014         (Depends-on): Update conditions.
12015
12016 2011-05-22  Bruno Haible  <bruno@clisp.org>
12017
12018         wctype: Move AC_LIBOBJ invocations to module description.
12019         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
12020         invocation from here...
12021         * modules/wctype (configure.ac): ... to here.
12022         (Depends-on): Update conditions.
12023
12024 2011-05-22  Bruno Haible  <bruno@clisp.org>
12025
12026         wctrans: Move AC_LIBOBJ invocations to module description.
12027         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
12028         invocation from here...
12029         * modules/wctrans (configure.ac): ... to here.
12030
12031 2011-05-22  Bruno Haible  <bruno@clisp.org>
12032
12033         wctomb: Move AC_LIBOBJ invocations to module description.
12034         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
12035         invocations from here...
12036         * modules/wctomb (configure.ac): ... to here.
12037
12038 2011-05-22  Bruno Haible  <bruno@clisp.org>
12039
12040         wctob: Move AC_LIBOBJ invocations to module description.
12041         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
12042         gl_PREREQ_WCTOB invocations from here...
12043         * modules/wctob (configure.ac): ... to here.
12044         (Depends-on): Update conditions.
12045
12046 2011-05-22  Bruno Haible  <bruno@clisp.org>
12047
12048         wcsxfrm: Move AC_LIBOBJ invocations to module description.
12049         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
12050         here...
12051         * modules/wcsxfrm (configure.ac): ... to here.
12052
12053 2011-05-22  Bruno Haible  <bruno@clisp.org>
12054
12055         wcstok: Move AC_LIBOBJ invocations to module description.
12056         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
12057         * modules/wcstok (configure.ac): ... to here.
12058
12059 2011-05-22  Bruno Haible  <bruno@clisp.org>
12060
12061         wcsstr: Move AC_LIBOBJ invocations to module description.
12062         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
12063         * modules/wcsstr (configure.ac): ... to here.
12064
12065 2011-05-22  Bruno Haible  <bruno@clisp.org>
12066
12067         wcsspn: Move AC_LIBOBJ invocations to module description.
12068         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
12069         * modules/wcsspn (configure.ac): ... to here.
12070
12071 2011-05-22  Bruno Haible  <bruno@clisp.org>
12072
12073         wcsrtombs: Move AC_LIBOBJ invocations to module description.
12074         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
12075         gl_PREREQ_WCSRTOMBS invocations from here...
12076         * modules/wcsrtombs (configure.ac): ... to here.
12077
12078 2011-05-22  Bruno Haible  <bruno@clisp.org>
12079
12080         wcsrchr: Move AC_LIBOBJ invocations to module description.
12081         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
12082         here...
12083         * modules/wcsrchr (configure.ac): ... to here.
12084
12085 2011-05-22  Bruno Haible  <bruno@clisp.org>
12086
12087         wcspbrk: Move AC_LIBOBJ invocations to module description.
12088         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
12089         here...
12090         * modules/wcspbrk (configure.ac): ... to here.
12091
12092 2011-05-22  Bruno Haible  <bruno@clisp.org>
12093
12094         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
12095         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
12096         gl_PREREQ_WCSNRTOMBS invocations from here...
12097         * modules/wcsnrtombs (configure.ac): ... to here.
12098
12099 2011-05-22  Bruno Haible  <bruno@clisp.org>
12100
12101         wcsnlen: Move AC_LIBOBJ invocations to module description.
12102         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
12103         here...
12104         * modules/wcsnlen (configure.ac): ... to here.
12105
12106 2011-05-22  Bruno Haible  <bruno@clisp.org>
12107
12108         wcsncpy: Move AC_LIBOBJ invocations to module description.
12109         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
12110         here...
12111         * modules/wcsncpy (configure.ac): ... to here.
12112
12113 2011-05-22  Bruno Haible  <bruno@clisp.org>
12114
12115         wcsncmp: Move AC_LIBOBJ invocations to module description.
12116         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
12117         here...
12118         * modules/wcsncmp (configure.ac): ... to here.
12119
12120 2011-05-22  Bruno Haible  <bruno@clisp.org>
12121
12122         wcsncat: Move AC_LIBOBJ invocations to module description.
12123         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
12124         here...
12125         * modules/wcsncat (configure.ac): ... to here.
12126
12127 2011-05-22  Bruno Haible  <bruno@clisp.org>
12128
12129         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
12130         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
12131         from here...
12132         * modules/wcsncasecmp (configure.ac): ... to here.
12133
12134 2011-05-22  Bruno Haible  <bruno@clisp.org>
12135
12136         wcslen: Move AC_LIBOBJ invocations to module description.
12137         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
12138         * modules/wcslen (configure.ac): ... to here.
12139
12140 2011-05-22  Bruno Haible  <bruno@clisp.org>
12141
12142         wcsdup: Move AC_LIBOBJ invocations to module description.
12143         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
12144         * modules/wcsdup (configure.ac): ... to here.
12145
12146 2011-05-22  Bruno Haible  <bruno@clisp.org>
12147
12148         wcscspn: Move AC_LIBOBJ invocations to module description.
12149         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
12150         here...
12151         * modules/wcscspn (configure.ac): ... to here.
12152
12153 2011-05-22  Bruno Haible  <bruno@clisp.org>
12154
12155         wcscpy: Move AC_LIBOBJ invocations to module description.
12156         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
12157         * modules/wcscpy (configure.ac): ... to here.
12158
12159 2011-05-22  Bruno Haible  <bruno@clisp.org>
12160
12161         wcscoll: Move AC_LIBOBJ invocations to module description.
12162         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
12163         here...
12164         * modules/wcscoll (configure.ac): ... to here.
12165
12166 2011-05-22  Bruno Haible  <bruno@clisp.org>
12167
12168         wcscmp: Move AC_LIBOBJ invocations to module description.
12169         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
12170         * modules/wcscmp (configure.ac): ... to here.
12171
12172 2011-05-22  Bruno Haible  <bruno@clisp.org>
12173
12174         wcschr: Move AC_LIBOBJ invocations to module description.
12175         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
12176         * modules/wcschr (configure.ac): ... to here.
12177
12178 2011-05-22  Bruno Haible  <bruno@clisp.org>
12179
12180         wcscat: Move AC_LIBOBJ invocations to module description.
12181         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
12182         * modules/wcscat (configure.ac): ... to here.
12183
12184 2011-05-22  Bruno Haible  <bruno@clisp.org>
12185
12186         wcscasecmp: Move AC_LIBOBJ invocations to module description.
12187         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
12188         here...
12189         * modules/wcscasecmp (configure.ac): ... to here.
12190
12191 2011-05-22  Bruno Haible  <bruno@clisp.org>
12192
12193         wcrtomb: Move AC_LIBOBJ invocations to module description.
12194         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
12195         invocations from here...
12196         * modules/wcrtomb (configure.ac): ... to here.
12197
12198 2011-05-22  Bruno Haible  <bruno@clisp.org>
12199
12200         wcpncpy: Move AC_LIBOBJ invocations to module description.
12201         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
12202         here...
12203         * modules/wcpncpy (configure.ac): ... to here.
12204
12205 2011-05-22  Bruno Haible  <bruno@clisp.org>
12206
12207         wcpcpy: Move AC_LIBOBJ invocations to module description.
12208         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
12209         * modules/wcpcpy (configure.ac): ... to here.
12210
12211 2011-05-22  Bruno Haible  <bruno@clisp.org>
12212
12213         waitpid: Move AC_LIBOBJ invocations to module description.
12214         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
12215         invocation from here...
12216         * modules/waitpid (configure.ac): ... to here.
12217
12218 2011-05-22  Bruno Haible  <bruno@clisp.org>
12219
12220         utimensat: Move AC_LIBOBJ invocations to module description.
12221         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
12222         here...
12223         * modules/utimensat (configure.ac): ... to here.
12224
12225 2011-05-22  Bruno Haible  <bruno@clisp.org>
12226
12227         usleep: Move AC_LIBOBJ invocations to module description.
12228         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12229         here...
12230         * modules/usleep (configure.ac): ... to here.
12231
12232 2011-05-22  Bruno Haible  <bruno@clisp.org>
12233
12234         unlockpt: Move AC_LIBOBJ invocations to module description.
12235         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12236         gl_PREREQ_UNLOCKPT invocations from here...
12237         * modules/unlockpt (configure.ac): ... to here.
12238
12239 2011-05-22  Bruno Haible  <bruno@clisp.org>
12240
12241         unlink: Respect rules for use of AC_LIBOBJ.
12242         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12243         * modules/unlink (configure.ac): ... to here.
12244
12245 2011-05-22  Bruno Haible  <bruno@clisp.org>
12246
12247         uname: Move AC_LIBOBJ invocations to module description.
12248         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12249         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12250         here...
12251         * modules/uname (configure.ac): ... to here.
12252
12253 2011-05-22  Bruno Haible  <bruno@clisp.org>
12254
12255         ttyname_r: Move AC_LIBOBJ invocations to module description.
12256         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12257         gl_PREREQ_TTYNAME_R invocations from here...
12258         * modules/ttyname_r (configure.ac): ... to here.
12259
12260 2011-05-22  Bruno Haible  <bruno@clisp.org>
12261
12262         tsearch: Move AC_LIBOBJ invocations to module description.
12263         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12264         invocations from here...
12265         * modules/tsearch (configure.ac): ... to here.
12266
12267 2011-05-22  Bruno Haible  <bruno@clisp.org>
12268
12269         towctrans: Move AC_LIBOBJ invocations to module description.
12270         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12271         AC_LIBOBJ invocation from here...
12272         * modules/towctrans (configure.ac): ... to here.
12273
12274 2011-05-22  Bruno Haible  <bruno@clisp.org>
12275
12276         tmpfile: Move AC_LIBOBJ invocations to module description.
12277         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12278         invocations from here...
12279         * modules/tmpfile (configure.ac): ... to here.
12280
12281 2011-05-22  Bruno Haible  <bruno@clisp.org>
12282
12283         times: Move AC_LIBOBJ invocations to module description.
12284         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12285         * modules/times (configure.ac): ... to here.
12286
12287 2011-05-22  Bruno Haible  <bruno@clisp.org>
12288
12289         time_r: Move AC_LIBOBJ invocations to module description.
12290         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12291         invocations from here...
12292         * modules/time_r (configure.ac): ... to here.
12293
12294 2011-05-22  Bruno Haible  <bruno@clisp.org>
12295
12296         timegm: Move AC_LIBOBJ invocations to module description.
12297         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12298         invocations from here...
12299         * modules/timegm (configure.ac): ... to here.
12300
12301 2011-05-22  Bruno Haible  <bruno@clisp.org>
12302
12303         tcgetsid: Move AC_LIBOBJ invocations to module description.
12304         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12305         and gl_PREREQ_TCGETSID invocations from here...
12306         * modules/tcgetsid (configure.ac): ... to here.
12307         (Depends-on): Update conditions.
12308
12309 2011-05-22  Bruno Haible  <bruno@clisp.org>
12310
12311         symlinkat: Move AC_LIBOBJ invocations to module description.
12312         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12313         here...
12314         * modules/symlinkat (configure.ac): ... to here.
12315
12316 2011-05-22  Bruno Haible  <bruno@clisp.org>
12317
12318         symlink: Move AC_LIBOBJ invocations to module description.
12319         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12320         here...
12321         * modules/symlink (configure.ac): ... to here.
12322
12323 2011-05-22  Bruno Haible  <bruno@clisp.org>
12324
12325         strverscmp: Move AC_LIBOBJ invocations to module description.
12326         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12327         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12328         from here...
12329         * modules/strverscmp (configure.ac): ... to here.
12330
12331 2011-05-22  Bruno Haible  <bruno@clisp.org>
12332
12333         strtok_r: Move AC_LIBOBJ invocations to module description.
12334         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
12335         and gl_PREREQ_STRTOK_R invocations from here...
12336         * modules/strtok_r (configure.ac): ... to here.
12337         (Depends-on): Update conditions.
12338
12339 2011-05-22  Bruno Haible  <bruno@clisp.org>
12340
12341         strtoumax: Move AC_LIBOBJ invocations to module description.
12342         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
12343         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
12344         from here...
12345         * modules/strtoumax (configure.ac): ... to here.
12346
12347 2011-05-22  Bruno Haible  <bruno@clisp.org>
12348
12349         strtoimax: Move AC_LIBOBJ invocations to module description.
12350         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
12351         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
12352         from here...
12353         * modules/strtoimax (configure.ac): ... to here.
12354
12355 2011-05-22  Bruno Haible  <bruno@clisp.org>
12356
12357         strtoull: Move AC_LIBOBJ invocations to module description.
12358         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12359         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12360         from here...
12361         * modules/strtoull (configure.ac): ... to here.
12362
12363 2011-05-22  Bruno Haible  <bruno@clisp.org>
12364
12365         strtoll: Move AC_LIBOBJ invocations to module description.
12366         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12367         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12368         here...
12369         * modules/strtoll (configure.ac): ... to here.
12370
12371 2011-05-22  Bruno Haible  <bruno@clisp.org>
12372
12373         strtoul: Move AC_LIBOBJ invocations to module description.
12374         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12375         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12376         * modules/strtoul (configure.ac): ... to here.
12377
12378 2011-05-22  Bruno Haible  <bruno@clisp.org>
12379
12380         strtol: Move AC_LIBOBJ invocations to module description.
12381         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12382         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12383         * modules/strtol (configure.ac): ... to here.
12384
12385 2011-05-22  Bruno Haible  <bruno@clisp.org>
12386
12387         strtod: Move AC_LIBOBJ invocations to module description.
12388         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12389         invocations from here...
12390         * modules/strtod (configure.ac): ... to here.
12391
12392 2011-05-22  Bruno Haible  <bruno@clisp.org>
12393
12394         strstr*: Move AC_LIBOBJ invocations to module description.
12395         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12396         invocations from here...
12397         * modules/strstr-simple (configure.ac): ... to here.
12398         * modules/strstr (configure.ac): ... and here.
12399
12400 2011-05-22  Bruno Haible  <bruno@clisp.org>
12401
12402         strsignal: Move AC_LIBOBJ invocations to module description.
12403         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12404         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12405         * modules/strsignal (configure.ac): ... to here.
12406         (Depends-on): Update conditions.
12407
12408 2011-05-22  Bruno Haible  <bruno@clisp.org>
12409
12410         strsep: Move AC_LIBOBJ invocations to module description.
12411         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12412         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12413         here...
12414         * modules/strsep (configure.ac): ... to here.
12415
12416 2011-05-22  Bruno Haible  <bruno@clisp.org>
12417
12418         strptime: Move AC_LIBOBJ invocations to module description.
12419         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12420         gl_PREREQ_STRPTIME invocations from here...
12421         * modules/strptime (configure.ac): ... to here.
12422
12423 2011-05-22  Bruno Haible  <bruno@clisp.org>
12424
12425         strpbrk: Move AC_LIBOBJ invocations to module description.
12426         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12427         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12428         here...
12429         * modules/strpbrk (configure.ac): ... to here.
12430
12431 2011-05-22  Bruno Haible  <bruno@clisp.org>
12432
12433         strnlen: Move AC_LIBOBJ invocations to module description.
12434         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12435         invocations from here...
12436         * modules/strnlen (configure.ac): ... to here.
12437
12438 2011-05-22  Bruno Haible  <bruno@clisp.org>
12439
12440         strndup: Move AC_LIBOBJ invocations to module description.
12441         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12442         invocations from here...
12443         * modules/strndup (configure.ac): ... to here.
12444         (Depends-on): Update conditions.
12445
12446 2011-05-22  Bruno Haible  <bruno@clisp.org>
12447
12448         strncat: Move AC_LIBOBJ invocations to module description.
12449         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12450         invocations from here...
12451         * modules/strncat (configure.ac): ... to here.
12452
12453 2011-05-22  Bruno Haible  <bruno@clisp.org>
12454
12455         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12456         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12457         invocations from here...
12458         * modules/strdup (configure.ac): ... to here.
12459         * modules/strdup-posix (configure.ac): ... and here.
12460
12461 2011-05-22  Bruno Haible  <bruno@clisp.org>
12462
12463         strcspn: Move AC_LIBOBJ invocations to module description.
12464         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12465         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12466         here...
12467         * modules/strcspn (configure.ac): ... to here.
12468
12469 2011-05-22  Bruno Haible  <bruno@clisp.org>
12470
12471         strchrnul: Move AC_LIBOBJ invocations to module description.
12472         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12473         gl_PREREQ_STRCHRNUL invocations from here...
12474         * modules/strchrnul (configure.ac): ... to here.
12475
12476 2011-05-22  Bruno Haible  <bruno@clisp.org>
12477
12478         strcasestr*: Move AC_LIBOBJ invocations to module description.
12479         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12480         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12481         * modules/strcasestr-simple (configure.ac): ... to here.
12482         * modules/strcasestr (configure.ac): ... and here.
12483
12484 2011-05-22  Bruno Haible  <bruno@clisp.org>
12485
12486         strcase: Move AC_LIBOBJ invocations to module description.
12487         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12488         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12489         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12490         gl_PREREQ_STRNCASECMP invocations from here...
12491         * modules/strcase (configure.ac): ... to here.
12492
12493 2011-05-22  Bruno Haible  <bruno@clisp.org>
12494
12495         stpncpy: Move AC_LIBOBJ invocations to module description.
12496         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12497         here...
12498         * modules/stpncpy (configure.ac): ... to here.
12499
12500 2011-05-22  Bruno Haible  <bruno@clisp.org>
12501
12502         stpcpy: Move AC_LIBOBJ invocations to module description.
12503         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12504         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12505         here...
12506         * modules/stpcpy (configure.ac): ... to here.
12507
12508 2011-05-21  Bruno Haible  <bruno@clisp.org>
12509
12510         stat: Move AC_LIBOBJ invocations to module description.
12511         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12512         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12513         here...
12514         * modules/stat (configure.ac): ... to here.
12515
12516 2011-05-21  Bruno Haible  <bruno@clisp.org>
12517
12518         sleep: Move AC_LIBOBJ invocations to module description.
12519         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12520         * modules/sleep (configure.ac): ... to here.
12521
12522 2011-05-21  Bruno Haible  <bruno@clisp.org>
12523
12524         signbit: Move AC_LIBOBJ invocations to module description.
12525         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12526         * modules/signbit (configure.ac): ... to here.
12527
12528 2011-05-21  Bruno Haible  <bruno@clisp.org>
12529
12530         sigprocmask: Move AC_LIBOBJ invocations to module description.
12531         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12532         gl_PREREQ_SIGPROMASK invocations from here...
12533         * modules/sigprocmask (configure.ac): ... to here.
12534
12535 2011-05-21  Bruno Haible  <bruno@clisp.org>
12536
12537         sigaction: Move AC_LIBOBJ invocations to module description.
12538         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12539         gl_PREREQ_SIGACTION invocations from here...
12540         * modules/sigaction (configure.ac): ... to here.
12541
12542 2011-05-21  Bruno Haible  <bruno@clisp.org>
12543
12544         sig2str: Move AC_LIBOBJ invocations to module description.
12545         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12546         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12547         here...
12548         * modules/sig2str (configure.ac): ... to here.
12549
12550 2011-05-21  Bruno Haible  <bruno@clisp.org>
12551
12552         setlocale: Move AC_LIBOBJ invocations to module description.
12553         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12554         gl_PREREQ_SETLOCALE invocations from here...
12555         * modules/setlocale (configure.ac): ... to here.
12556
12557 2011-05-21  Bruno Haible  <bruno@clisp.org>
12558
12559         unsetenv: Move AC_LIBOBJ invocations to module description.
12560         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12561         and gl_PREREQ_UNSETENV invocations from here...
12562         * modules/unsetenv (configure.ac): ... to here.
12563         (Depends-on): Update.
12564
12565 2011-05-21  Bruno Haible  <bruno@clisp.org>
12566
12567         setenv: Move AC_LIBOBJ invocations to module description.
12568         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12569         here...
12570         * modules/setenv (configure.ac): ... to here.
12571
12572 2011-05-21  Bruno Haible  <bruno@clisp.org>
12573
12574         selinux-h: Move AC_LIBOBJ invocations to module description.
12575         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12576         AC_LIBOBJ invocation from here...
12577         * modules/selinux-h (configure.ac): ... to here.
12578
12579 2011-05-21  Bruno Haible  <bruno@clisp.org>
12580
12581         select: Respect rules for use of AC_LIBOBJ.
12582         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12583         here...
12584         * modules/select (configure.ac): ... to here.
12585
12586 2011-05-21  Bruno Haible  <bruno@clisp.org>
12587
12588         scandir: Move AC_LIBOBJ invocations to module description.
12589         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12590         invocations from here...
12591         * modules/scandir (configure.ac): ... to here.
12592
12593 2011-05-21  Bruno Haible  <bruno@clisp.org>
12594
12595         rpmatch: Move AC_LIBOBJ invocations to module description.
12596         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12597         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12598         here...
12599         * modules/rpmatch (configure.ac): ... to here.
12600
12601 2011-05-21  Bruno Haible  <bruno@clisp.org>
12602
12603         rmdir: Respect rules for use of AC_LIBOBJ.
12604         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12605         * modules/rmdir (configure.ac): ... to here.
12606
12607 2011-05-21  Bruno Haible  <bruno@clisp.org>
12608
12609         renameat: Move AC_LIBOBJ invocations to module description.
12610         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12611         here...
12612         * modules/renameat (configure.ac): ... to here.
12613
12614 2011-05-21  Bruno Haible  <bruno@clisp.org>
12615
12616         rename: Respect rules for use of AC_LIBOBJ.
12617         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12618         here...
12619         * modules/rename (configure.ac): ... to here.
12620
12621 2011-05-21  Bruno Haible  <bruno@clisp.org>
12622
12623         remove: Move AC_LIBOBJ invocations to module description.
12624         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12625         here...
12626         * modules/remove (configure.ac): ... to here.
12627
12628 2011-05-21  Bruno Haible  <bruno@clisp.org>
12629
12630         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12631         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12632         macro.
12633         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12634         * modules/relocatable-lib (configure.ac): ... to here.
12635         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12636         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12637
12638 2011-05-21  Bruno Haible  <bruno@clisp.org>
12639
12640         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12641         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12642         here...
12643         * modules/relocatable-prog (configure.ac): ... to here.
12644
12645 2011-05-21  Bruno Haible  <bruno@clisp.org>
12646
12647         regex: Move AC_LIBOBJ invocations to module description.
12648         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12649         invocations from here...
12650         * modules/regex (configure.ac): ... to here.
12651
12652 2011-05-21  Bruno Haible  <bruno@clisp.org>
12653
12654         realloc-*: Move AC_LIBOBJ invocations to module description.
12655         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12656         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12657         AC_LIBOBJ invocations from here...
12658         * modules/realloc-gnu (configure.ac): ... to here.
12659         * modules/realloc-posix (configure.ac): ... and here.
12660
12661 2011-05-21  Bruno Haible  <bruno@clisp.org>
12662
12663         readutmp: Move AC_LIBOBJ invocations to module description.
12664         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12665         * modules/readutmp (configure.ac): ... to here.
12666
12667 2011-05-21  Bruno Haible  <bruno@clisp.org>
12668
12669         readlinkat: Move AC_LIBOBJ invocations to module description.
12670         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12671         here...
12672         * modules/readlinkat (configure.ac): ... to here.
12673
12674 2011-05-21  Bruno Haible  <bruno@clisp.org>
12675
12676         readlink: Move AC_LIBOBJ invocations to module description.
12677         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12678         gl_PREREQ_READLINK invocations from here...
12679         * modules/readlink (configure.ac): ... to here.
12680
12681 2011-05-21  Bruno Haible  <bruno@clisp.org>
12682
12683         readline: Move AC_LIBOBJ invocations to module description.
12684         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12685         gl_PREREQ_READLINE invocations from here...
12686         * modules/readline (configure.ac): ... to here.
12687
12688 2011-05-21  Bruno Haible  <bruno@clisp.org>
12689
12690         read: Move AC_LIBOBJ invocations to module description.
12691         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12692         * modules/read (configure.ac): ... to here.
12693
12694 2011-05-21  Bruno Haible  <bruno@clisp.org>
12695
12696         rawmemchr: Move AC_LIBOBJ invocations to module description.
12697         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12698         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12699         from here...
12700         * modules/rawmemchr (configure.ac): ... to here.
12701
12702 2011-05-21  Bruno Haible  <bruno@clisp.org>
12703
12704         random_r: Move AC_LIBOBJ invocations to module description.
12705         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12706         gl_PREREQ_RANDOM_R invocations from here...
12707         * modules/random_r (configure.ac): ... to here.
12708
12709 2011-05-21  Bruno Haible  <bruno@clisp.org>
12710
12711         pwrite: Move AC_LIBOBJ invocations to module description.
12712         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12713         * modules/pwrite (configure.ac): ... to here.
12714
12715 2011-05-21  Bruno Haible  <bruno@clisp.org>
12716
12717         putenv: Move AC_LIBOBJ invocations to module description.
12718         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12719         * modules/putenv (configure.ac): ... to here.
12720
12721 2011-05-21  Bruno Haible  <bruno@clisp.org>
12722
12723         login_tty: Move AC_LIBOBJ invocations to module description.
12724         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12725         * modules/login_tty (configure.ac): ... to here.
12726
12727 2011-05-21  Bruno Haible  <bruno@clisp.org>
12728
12729         openpty: Move AC_LIBOBJ invocations to module description.
12730         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12731         * modules/openpty (configure.ac): ... to here.
12732
12733 2011-05-21  Bruno Haible  <bruno@clisp.org>
12734
12735         forkpty: Move AC_LIBOBJ invocations to module description.
12736         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12737         * modules/forkpty (configure.ac): ... to here.
12738
12739 2011-05-21  Bruno Haible  <bruno@clisp.org>
12740
12741         ptsname: Move AC_LIBOBJ invocations to module description.
12742         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12743         invocations from here...
12744         * modules/ptsname (configure.ac): ... to here.
12745
12746 2011-05-21  Bruno Haible  <bruno@clisp.org>
12747
12748         pread: Move AC_LIBOBJ invocations to module description.
12749         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12750         * modules/pread (configure.ac): ... to here.
12751
12752 2011-05-21  Bruno Haible  <bruno@clisp.org>
12753
12754         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12755         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12756         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12757         * modules/posix_spawn (configure.ac): ... to here.
12758         * modules/posix_spawnp (configure.ac): ... and here.
12759
12760 2011-05-21  Bruno Haible  <bruno@clisp.org>
12761
12762         popen: Move AC_LIBOBJ invocations to module description.
12763         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12764         invocations from here...
12765         * modules/popen (configure.ac): ... to here.
12766
12767 2011-05-21  Bruno Haible  <bruno@clisp.org>
12768
12769         poll: Move AC_LIBOBJ invocations to module description.
12770         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12771         invocations from here...
12772         * modules/poll (configure.ac): ... to here.
12773
12774 2011-05-21  Bruno Haible  <bruno@clisp.org>
12775
12776         pipe-posix: Move AC_LIBOBJ invocations to module description.
12777         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12778         * modules/pipe-posix (configure.ac): ... to here.
12779
12780 2011-05-21  Bruno Haible  <bruno@clisp.org>
12781
12782         openat: Respect rules for use of AC_LIBOBJ.
12783         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12784         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12785         * modules/openat (configure.ac): ... to here.
12786
12787 2011-05-21  Bruno Haible  <bruno@clisp.org>
12788
12789         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12790         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12791         invocation from here...
12792         * modules/obstack-printf (configure.ac): ... to here.
12793         * modules/obstack-printf-posix (configure.ac): ... and here.
12794
12795 2011-05-21  Bruno Haible  <bruno@clisp.org>
12796
12797         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12798         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12799         from here...
12800         * modules/nl_langinfo (configure.ac): ... to here.
12801
12802 2011-05-21  Bruno Haible  <bruno@clisp.org>
12803
12804         nanosleep: Move AC_LIBOBJ invocations to module description.
12805         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12806         gl_PREREQ_NANOSLEEP invocations from here...
12807         * modules/nanosleep (configure.ac): ... to here.
12808
12809 2011-05-21  Bruno Haible  <bruno@clisp.org>
12810
12811         mountlist: Move AC_LIBOBJ invocations to module description.
12812         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12813         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12814         * modules/mountlist (configure.ac): ... to here.
12815
12816 2011-05-21  Bruno Haible  <bruno@clisp.org>
12817
12818         mktime: Respect rules for use of AC_LIBOBJ.
12819         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12820         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12821         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12822         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12823         * modules/mktime (configure.ac): ... to here.
12824         * modules/mktime-internal (configure.ac): ... and here.
12825         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12826
12827 2011-05-21  Bruno Haible  <bruno@clisp.org>
12828
12829         mkstemps: Move AC_LIBOBJ invocations to module description.
12830         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12831         here...
12832         * modules/mkstemps (configure.ac): ... to here.
12833
12834 2011-05-21  Bruno Haible  <bruno@clisp.org>
12835
12836         mkstemp: Move AC_LIBOBJ invocations to module description.
12837         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12838         gl_PREREQ_MKSTEMP invocations from here...
12839         * modules/mkstemp (configure.ac): ... to here.
12840
12841 2011-05-21  Bruno Haible  <bruno@clisp.org>
12842
12843         mkostemps: Move AC_LIBOBJ invocations to module description.
12844         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12845         here...
12846         * modules/mkostemps (configure.ac): ... to here.
12847
12848 2011-05-21  Bruno Haible  <bruno@clisp.org>
12849
12850         mkostemp: Move AC_LIBOBJ invocations to module description.
12851         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12852         gl_PREREQ_MKOSTEMP invocations from here...
12853         * modules/mkostemp (configure.ac): ... to here.
12854
12855 2011-05-21  Bruno Haible  <bruno@clisp.org>
12856
12857         mknod: Move AC_LIBOBJ invocations to module description.
12858         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12859         * modules/mknod (configure.ac): ... to here.
12860
12861 2011-05-21  Bruno Haible  <bruno@clisp.org>
12862
12863         mkfifoat: Move AC_LIBOBJ invocations to module description.
12864         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12865         here...
12866         * modules/mkfifoat (configure.ac): ... to here.
12867
12868 2011-05-21  Bruno Haible  <bruno@clisp.org>
12869
12870         mkfifo: Respect rules for use of AC_LIBOBJ.
12871         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12872         here...
12873         * modules/mkfifo (configure.ac): ... to here.
12874
12875 2011-05-21  Bruno Haible  <bruno@clisp.org>
12876
12877         mkdtemp: Move AC_LIBOBJ invocations to module description.
12878         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12879         invocations from here...
12880         * modules/mkdtemp (configure.ac): ... to here.
12881
12882 2011-05-21  Bruno Haible  <bruno@clisp.org>
12883
12884         mkdir: Move AC_LIBOBJ invocations to module description.
12885         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12886         * modules/mkdir (configure.ac): ... to here.
12887
12888 2011-05-21  Bruno Haible  <bruno@clisp.org>
12889
12890         memset: Move AC_LIBOBJ invocations to module description.
12891         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12892         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12893         here...
12894         * modules/memset (configure.ac): ... to here.
12895
12896 2011-05-21  Bruno Haible  <bruno@clisp.org>
12897
12898         memrchr: Move AC_LIBOBJ invocations to module description.
12899         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12900         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12901         here...
12902         * modules/memrchr (configure.ac): ... to here.
12903
12904 2011-05-21  Bruno Haible  <bruno@clisp.org>
12905
12906         mempcpy: Move AC_LIBOBJ invocations to module description.
12907         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12908         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12909         here...
12910         * modules/mempcpy (configure.ac): ... to here.
12911
12912 2011-05-21  Bruno Haible  <bruno@clisp.org>
12913
12914         memmove: Move AC_LIBOBJ invocations to module description.
12915         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12916         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12917         here...
12918         * modules/memmove (configure.ac): ... to here.
12919
12920 2011-05-21  Bruno Haible  <bruno@clisp.org>
12921
12922         memmem*: Move AC_LIBOBJ invocations to module description.
12923         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12924         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12925         here...
12926         (gl_FUNC_MEMMEM): ... and here...
12927         * modules/memmem-simple (configure.ac): ... to here.
12928         * modules/memmem (configure.ac): ... and here.
12929
12930 2011-05-21  Bruno Haible  <bruno@clisp.org>
12931
12932         memcpy: Move AC_LIBOBJ invocations to module description.
12933         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12934         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12935         here...
12936         * modules/memcpy (configure.ac): ... to here.
12937
12938 2011-05-21  Bruno Haible  <bruno@clisp.org>
12939
12940         memcmp: Simplify autoconf macro.
12941         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12942         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12943         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12944
12945 2011-05-21  Bruno Haible  <bruno@clisp.org>
12946
12947         memcmp: Move AC_LIBOBJ invocations to module description.
12948         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12949         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12950         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12951         * modules/memcmp (configure.ac): ... to here.
12952         (Depends-on): Update conditions.
12953
12954 2011-05-21  Bruno Haible  <bruno@clisp.org>
12955
12956         memchr: Respect rules for use of AC_LIBOBJ.
12957         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12958         invocations from here...
12959         * modules/memchr (configure.ac): ... to here.
12960
12961 2011-05-21  Bruno Haible  <bruno@clisp.org>
12962
12963         mbtowc: Move AC_LIBOBJ invocations to module description.
12964         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12965         invocations from here...
12966         * modules/mbtowc (configure.ac): ... to here.
12967
12968 2011-05-21  Bruno Haible  <bruno@clisp.org>
12969
12970         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12971         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12972         gl_PREREQ_MBSRTOWCS invocations from here...
12973         * modules/mbsrtowcs (configure.ac): ... to here.
12974
12975 2011-05-21  Bruno Haible  <bruno@clisp.org>
12976
12977         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12978         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12979         gl_PREREQ_MBSNRTOWCS invocations from here...
12980         * modules/mbsnrtowcs (configure.ac): ... to here.
12981
12982 2011-05-21  Bruno Haible  <bruno@clisp.org>
12983
12984         mbsinit: Move AC_LIBOBJ invocations to module description.
12985         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12986         invocations from here...
12987         * modules/mbsinit (configure.ac): ... to here.
12988
12989 2011-05-21  Bruno Haible  <bruno@clisp.org>
12990
12991         mbrlen: Move AC_LIBOBJ invocations to module description.
12992         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12993         invocations from here...
12994         * modules/mbrlen (configure.ac): ... to here.
12995
12996 2011-05-21  Bruno Haible  <bruno@clisp.org>
12997
12998         mbrtowc: Respect rules for use of AC_LIBOBJ.
12999         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
13000         invocations from here...
13001         * modules/mbrtowc (configure.ac): ... to here.
13002
13003 2011-05-21  Bruno Haible  <bruno@clisp.org>
13004
13005         malloc-*: Move AC_LIBOBJ invocations to module description.
13006         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
13007         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
13008         AC_LIBOBJ invocations from here...
13009         * modules/malloc-gnu (configure.ac): ... to here.
13010         * modules/malloc-posix (configure.ac): ... and here.
13011
13012 2011-05-21  Bruno Haible  <bruno@clisp.org>
13013
13014         lstat, openat: Respect rules for use of AC_LIBOBJ.
13015         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
13016         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
13017         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
13018         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
13019         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
13020         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
13021         here.
13022         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
13023
13024 2011-05-21  Bruno Haible  <bruno@clisp.org>
13025
13026         lseek: Move AC_LIBOBJ invocations to module description.
13027         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
13028         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13029         * modules/lseek (configure.ac): ... to here.
13030
13031 2011-05-21  Bruno Haible  <bruno@clisp.org>
13032
13033         linkat: Move AC_LIBOBJ invocations to module description.
13034         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
13035         here...
13036         * modules/linkat (configure.ac): ... to here.
13037
13038 2011-05-21  Bruno Haible  <bruno@clisp.org>
13039
13040         link: Respect rules for use of AC_LIBOBJ.
13041         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
13042         * modules/link (configure.ac): ... to here.
13043
13044 2011-05-21  Bruno Haible  <bruno@clisp.org>
13045
13046         lchown: Move AC_LIBOBJ invocations to module description.
13047         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13048         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
13049         * modules/lchown (configure.ac): ... to here.
13050
13051 2011-05-21  Bruno Haible  <bruno@clisp.org>
13052
13053         iswctype: Move AC_LIBOBJ invocations to module description.
13054         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
13055         here...
13056         * modules/iswctype (configure.ac): ... to here.
13057
13058 2011-05-21  Bruno Haible  <bruno@clisp.org>
13059
13060         iswblank: Move AC_LIBOBJ invocations to module description.
13061         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
13062         here...
13063         * modules/iswblank (configure.ac): ... to here.
13064
13065 2011-05-21  Bruno Haible  <bruno@clisp.org>
13066
13067         atanl: Move AC_LIBOBJ invocations to module description.
13068         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
13069         * modules/atanl (configure.ac): ... to here.
13070
13071 2011-05-21  Bruno Haible  <bruno@clisp.org>
13072
13073         acosl: Move AC_LIBOBJ invocations to module description.
13074         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
13075         * modules/acosl (configure.ac): ... to here.
13076
13077 2011-05-21  Bruno Haible  <bruno@clisp.org>
13078
13079         asinl: Respect rules for use of AC_LIBOBJ.
13080         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
13081         * modules/asinl (configure.ac): ... to here.
13082
13083 2011-05-21  Bruno Haible  <bruno@clisp.org>
13084
13085         tanl: Move AC_LIBOBJ invocations to module description.
13086         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
13087         * modules/tanl (configure.ac): ... to here.
13088
13089 2011-05-21  Bruno Haible  <bruno@clisp.org>
13090
13091         cosl: Move AC_LIBOBJ invocations to module description.
13092         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
13093         * modules/cosl (configure.ac): ... to here.
13094
13095 2011-05-21  Bruno Haible  <bruno@clisp.org>
13096
13097         sinl: Move AC_LIBOBJ invocations to module description.
13098         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
13099         * modules/sinl (configure.ac): ... to here.
13100
13101 2011-05-21  Bruno Haible  <bruno@clisp.org>
13102
13103         logl: Move AC_LIBOBJ invocations to module description.
13104         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
13105         * modules/logl (configure.ac): ... to here.
13106
13107 2011-05-21  Bruno Haible  <bruno@clisp.org>
13108
13109         expl: Move AC_LIBOBJ invocations to module description.
13110         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
13111         * modules/expl (configure.ac): ... to here.
13112
13113 2011-05-21  Bruno Haible  <bruno@clisp.org>
13114
13115         roundl: Move AC_LIBOBJ invocations to module description.
13116         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
13117         * modules/roundl (configure.ac): ... to here.
13118
13119 2011-05-21  Bruno Haible  <bruno@clisp.org>
13120
13121         round: Move AC_LIBOBJ invocations to module description.
13122         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
13123         * modules/round (configure.ac): ... to here.
13124
13125 2011-05-21  Bruno Haible  <bruno@clisp.org>
13126
13127         roundf: Move AC_LIBOBJ invocations to module description.
13128         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
13129         * modules/roundf (configure.ac): ... to here.
13130
13131 2011-05-21  Bruno Haible  <bruno@clisp.org>
13132
13133         truncl: Move AC_LIBOBJ invocations to module description.
13134         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
13135         * modules/truncl (configure.ac): ... to here.
13136
13137 2011-05-21  Bruno Haible  <bruno@clisp.org>
13138
13139         trunc: Move AC_LIBOBJ invocations to module description.
13140         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
13141         * modules/trunc (configure.ac): ... to here.
13142
13143 2011-05-21  Bruno Haible  <bruno@clisp.org>
13144
13145         truncf: Move AC_LIBOBJ invocations to module description.
13146         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
13147         * modules/truncf (configure.ac): ... to here.
13148
13149 2011-05-21  Bruno Haible  <bruno@clisp.org>
13150
13151         ceill: Move AC_LIBOBJ invocations to module description.
13152         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
13153         * modules/ceill (configure.ac): ... to here.
13154
13155 2011-05-21  Bruno Haible  <bruno@clisp.org>
13156
13157         ceil: Move AC_LIBOBJ invocations to module description.
13158         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
13159         * modules/ceil (configure.ac): ... to here.
13160
13161 2011-05-21  Bruno Haible  <bruno@clisp.org>
13162
13163         ceilf: Move AC_LIBOBJ invocations to module description.
13164         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
13165         * modules/ceilf (configure.ac): ... to here.
13166
13167 2011-05-21  Bruno Haible  <bruno@clisp.org>
13168
13169         floorl: Respect rules for use of AC_LIBOBJ.
13170         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
13171         * modules/floorl (configure.ac): ... to here.
13172
13173 2011-05-21  Bruno Haible  <bruno@clisp.org>
13174
13175         floor: Respect rules for use of AC_LIBOBJ.
13176         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
13177         * modules/floor (configure.ac): ... to here.
13178
13179 2011-05-21  Bruno Haible  <bruno@clisp.org>
13180
13181         floorf: Move AC_LIBOBJ invocations to module description.
13182         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
13183         * modules/floorf (configure.ac): ... to here.
13184
13185 2011-05-20  Bruno Haible  <bruno@clisp.org>
13186
13187         sqrtl: Respect rules for use of AC_LIBOBJ.
13188         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
13189         * modules/sqrtl (configure.ac): ... to here.
13190
13191 2011-05-20  Bruno Haible  <bruno@clisp.org>
13192
13193         ldexpl: Respect rules for use of AC_LIBOBJ.
13194         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
13195         * modules/ldexpl (configure.ac): ... to here.
13196
13197 2011-05-20  Bruno Haible  <bruno@clisp.org>
13198
13199         frexpl*: Respect rules for use of AC_LIBOBJ.
13200         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
13201         invocation from here...
13202         * modules/frexpl (configure.ac): ... to here.
13203         * modules/frexpl-nolibm (configure.ac): ... and here.
13204
13205 2011-05-20  Bruno Haible  <bruno@clisp.org>
13206
13207         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
13208         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
13209         invocation from here...
13210         * modules/frexp (configure.ac): ... to here.
13211         * modules/frexp-nolibm (configure.ac): ... and here.
13212
13213 2011-05-20  Bruno Haible  <bruno@clisp.org>
13214
13215         isnan: Respect rules for use of AC_LIBOBJ.
13216         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
13217         invocations here.
13218         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
13219         REPLACE_ISNAN.
13220         * modules/isnand (configure.ac): Likewise.
13221         * modules/isnanl (configure.ac): Likewise.
13222
13223 2011-05-20  Bruno Haible  <bruno@clisp.org>
13224
13225         isnanl*: Respect rules for use of AC_LIBOBJ.
13226         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
13227         invocation from here...
13228         * modules/isnanl (configure.ac): ... to here.
13229         * modules/isnanl-nolibm (configure.ac): ... and here.
13230
13231 2011-05-20  Bruno Haible  <bruno@clisp.org>
13232
13233         isnand*: Move AC_LIBOBJ invocations to module description.
13234         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13235         invocation from here...
13236         * modules/isnand (configure.ac): ... to here.
13237         * modules/isnand-nolibm (configure.ac): ... and here.
13238
13239 2011-05-20  Bruno Haible  <bruno@clisp.org>
13240
13241         isnanf*: Move AC_LIBOBJ invocations to module description.
13242         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13243         invocation from here...
13244         * modules/isnanf (configure.ac): ... to here.
13245         * modules/isnanf-nolibm (configure.ac): ... and here.
13246
13247 2011-05-20  Bruno Haible  <bruno@clisp.org>
13248
13249         isnan*: Separate the AC_LIBOBJ invocations.
13250         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13251         AC_LIBOBJ invocation.
13252         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13253         here.
13254         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13255         AC_LIBOBJ invocation.
13256         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13257         here.
13258         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13259         AC_LIBOBJ invocation.
13260         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13261         here.
13262         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13263
13264 2011-05-08  Bruno Haible  <bruno@clisp.org>
13265
13266         isinf: Move AC_LIBOBJ invocations to module description.
13267         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13268         * modules/isinf (configure.ac): ... to here.
13269
13270 2011-05-08  Bruno Haible  <bruno@clisp.org>
13271
13272         isfinite: Move AC_LIBOBJ invocations to module description.
13273         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13274         * modules/isfinite (configure.ac): ... to here.
13275
13276 2011-05-08  Bruno Haible  <bruno@clisp.org>
13277
13278         isblank: Move AC_LIBOBJ invocations to module description.
13279         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13280         here...
13281         * modules/isblank (configure.ac): ... to here.
13282
13283 2011-05-08  Bruno Haible  <bruno@clisp.org>
13284
13285         isapipe: Move AC_LIBOBJ invocations to module description.
13286         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13287         gl_PREREQ_ISAPIPE invocations from here...
13288         * modules/isapipe (configure.ac): ... to here.
13289         (Depends-on): Update condition.
13290
13291 2011-05-08  Bruno Haible  <bruno@clisp.org>
13292
13293         ioctl: Move AC_LIBOBJ invocations to module description.
13294         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13295         invocations from here...
13296         * modules/ioctl (configure.ac): ... to here.
13297         (Depends-on): Update condition.
13298
13299 2011-05-08  Bruno Haible  <bruno@clisp.org>
13300
13301         imaxdiv: Move AC_LIBOBJ invocations to module description.
13302         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13303         invocations from here...
13304         * modules/imaxdiv (configure.ac): ... to here.
13305
13306 2011-05-08  Bruno Haible  <bruno@clisp.org>
13307
13308         imaxabs: Move AC_LIBOBJ invocations to module description.
13309         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13310         invocations from here...
13311         * modules/imaxabs (configure.ac): ... to here.
13312
13313 2011-05-08  Bruno Haible  <bruno@clisp.org>
13314
13315         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13316         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13317         AC_LIBOBJ invocations from here...
13318         * modules/getaddrinfo (configure.ac): ... to here.
13319         (Depends-on): Add conditions.
13320
13321 2011-05-08  Bruno Haible  <bruno@clisp.org>
13322
13323         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13324         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13325         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13326         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13327         (gl_PREREQ_INET_PTON): ... from here.
13328         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13329         gl_PREREQ_INET_PTON here.
13330         (Depends-on): Update condition.
13331
13332 2011-05-08  Bruno Haible  <bruno@clisp.org>
13333
13334         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13335         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
13336         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13337         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
13338         (gl_PREREQ_INET_NTOP): ... from here.
13339         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
13340         gl_PREREQ_INET_NTOP here.
13341         (Depends-on): Update condition.
13342
13343 2011-05-08  Bruno Haible  <bruno@clisp.org>
13344
13345         iconv_open: Move AC_LIBOBJ invocations to module description.
13346         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
13347         AC_LIBOBJ invocations from here...
13348         * modules/iconv_open (configure.ac): ... to here.
13349
13350 2011-05-08  Bruno Haible  <bruno@clisp.org>
13351
13352         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13353         If module 'iconv_open' is among the main modules and module
13354         'iconv_open-utf' is among the tests dependencies, then
13355         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13356         return the special iconv_t values. Therefore iconv() and iconv_close()
13357         must support these special iconv_t values, already in lib, not only in
13358         tests.
13359         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13360         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13361         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13362         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13363         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13364         (Depends-on): Add the dependencies of iconv_open-utf.
13365         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13366         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13367         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13368
13369 2011-05-08  Bruno Haible  <bruno@clisp.org>
13370
13371         group-member: Move AC_LIBOBJ invocations to module description.
13372         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13373         gl_PREREQ_GROUP_MEMBER invocations from here...
13374         * modules/group-member (configure.ac): ... to here.
13375
13376 2011-05-08  Bruno Haible  <bruno@clisp.org>
13377
13378         grantpt: Move AC_LIBOBJ invocations to module description.
13379         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13380         invocations from here...
13381         * modules/grantpt (configure.ac): ... to here.
13382
13383 2011-05-08  Bruno Haible  <bruno@clisp.org>
13384
13385         glob: Move AC_LIBOBJ invocations to module description.
13386         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13387         from here...
13388         * modules/glob (configure.ac): ... to here.
13389
13390 2011-05-08  Bruno Haible  <bruno@clisp.org>
13391
13392         getusershell: Move AC_LIBOBJ invocations to module description.
13393         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13394         Move AC_LIBOBJ invocation from here...
13395         * modules/getusershell (configure.ac): ... to here.
13396         (Depends-on): Update condition.
13397
13398 2011-05-08  Bruno Haible  <bruno@clisp.org>
13399
13400         gettimeofday: Move AC_LIBOBJ invocations to module description.
13401         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13402         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13403         gl_PREREQ_GETTIMEOFDAY invocations from here...
13404         * modules/gettimeofday (configure.ac): ... to here.
13405
13406 2011-05-08  Bruno Haible  <bruno@clisp.org>
13407
13408         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13409         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13410         just gl_FUNC_TZSET.
13411         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13412         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13413         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13414         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13415
13416 2011-05-08  Bruno Haible  <bruno@clisp.org>
13417
13418         getsubopt: Move AC_LIBOBJ invocations to module description.
13419         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13420         gl_PREREQ_GETSUBOPT invocations from here...
13421         * modules/getsubopt (configure.ac): ... to here.
13422
13423 2011-05-08  Bruno Haible  <bruno@clisp.org>
13424
13425         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13426         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13427         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13428         * modules/getpass-gnu (configure.ac): ... to here.
13429
13430 2011-05-08  Bruno Haible  <bruno@clisp.org>
13431
13432         getpass: Move AC_LIBOBJ invocations to module description.
13433         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13434         gl_PREREQ_GETPASS invocations from here...
13435         * modules/getpass (configure.ac): ... to here.
13436
13437 2011-05-08  Bruno Haible  <bruno@clisp.org>
13438
13439         getpagesize: Move AC_LIBOBJ invocations to module description.
13440         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13441         from here...
13442         * modules/getpagesize (configure.ac): ... to here.
13443
13444 2011-05-08  Bruno Haible  <bruno@clisp.org>
13445
13446         getopt: Move AC_LIBOBJ invocations to module description.
13447         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13448         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13449         invocations from here...
13450         * modules/getopt-gnu (configure.ac): ... to here.
13451         * modules/getopt-posix (configure.ac): ... and here.
13452         (Depends-on): Update condition.
13453
13454 2011-05-08  Bruno Haible  <bruno@clisp.org>
13455
13456         getopt, argp: Respect rules for use of AC_LIBOBJ.
13457         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13458         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13459         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13460         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13461
13462 2011-05-08  Bruno Haible  <bruno@clisp.org>
13463
13464         getlogin_r: Move AC_LIBOBJ invocations to module description.
13465         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13466         gl_PREREQ_GETLOGIN_R invocations from here...
13467         * modules/getlogin_r (configure.ac): ... to here.
13468
13469 2011-05-08  Bruno Haible  <bruno@clisp.org>
13470
13471         getlogin: Move AC_LIBOBJ invocations to module description.
13472         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13473         here...
13474         * modules/getlogin (configure.ac): ... to here.
13475
13476 2011-05-08  Bruno Haible  <bruno@clisp.org>
13477
13478         getloadavg: Move AC_LIBOBJ invocations to module description.
13479         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13480         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13481         * modules/getloadavg (configure.ac): ... to here.
13482
13483 2011-05-08  Bruno Haible  <bruno@clisp.org>
13484
13485         gethrxtime: Move AC_LIBOBJ invocations to module description.
13486         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13487         LIB_GETHRXTIME from here...
13488         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13489         invocations from here...
13490         * modules/gethrxtime (configure.ac): ... to here.
13491
13492 2011-05-08  Bruno Haible  <bruno@clisp.org>
13493
13494         gethostname: Move AC_LIBOBJ invocations to module description.
13495         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13496         gl_PREREQ_GETHOSTNAME invocations from here...
13497         * modules/gethostname (configure.ac): ... to here.
13498
13499 2011-05-08  Bruno Haible  <bruno@clisp.org>
13500
13501         getgroups: Move AC_LIBOBJ invocations to module description.
13502         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13503         here...
13504         * modules/getgroups (configure.ac): ... to here.
13505
13506 2011-05-08  Bruno Haible  <bruno@clisp.org>
13507
13508         getdtablesize: Move AC_LIBOBJ invocations to module description.
13509         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13510         invocation from here...
13511         * modules/getdtablesize (configure.ac): ... to here.
13512
13513 2011-05-08  Bruno Haible  <bruno@clisp.org>
13514
13515         getdomainname: Move AC_LIBOBJ invocations to module description.
13516         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13517         gl_PREREQ_GETDOMAINNAME invocations from here...
13518         * modules/getdomainname (configure.ac): ... to here.
13519
13520 2011-05-08  Bruno Haible  <bruno@clisp.org>
13521
13522         getline: Move AC_LIBOBJ invocations to module description.
13523         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13524         invocations from here...
13525         * modules/getline (configure.ac): ... to here.
13526
13527 2011-05-08  Bruno Haible  <bruno@clisp.org>
13528
13529         getline: Simplify.
13530         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13531         It's already handled through the module dependency.
13532
13533 2011-05-08  Bruno Haible  <bruno@clisp.org>
13534
13535         getdelim: Move AC_LIBOBJ invocations to module description.
13536         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13537         and gl_PREREQ_GETDELIM invocations from here...
13538         * modules/getdelim (configure.ac): ... to here.
13539         (Depends-on): Fix condition.
13540
13541 2011-05-08  Bruno Haible  <bruno@clisp.org>
13542
13543         getcwd: Move AC_LIBOBJ invocations to module description.
13544         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13545         invocations from here...
13546         * modules/getcwd (configure.ac): ... to here.
13547
13548 2011-05-08  Bruno Haible  <bruno@clisp.org>
13549
13550         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13551         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13552         here...
13553         * modules/getcwd-lgpl (configure.ac): ... to here.
13554
13555 2011-05-07  Bruno Haible  <bruno@clisp.org>
13556
13557         crypto/gc: Move AC_LIBOBJ invocations to module description.
13558         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13559         * modules/crypto/gc (configure.ac): ... to here.
13560
13561 2011-05-07  Bruno Haible  <bruno@clisp.org>
13562
13563         fwriting: Move AC_LIBOBJ invocations to module description.
13564         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13565         here...
13566         * modules/fwriting (configure.ac): ... to here.
13567
13568 2011-05-07  Bruno Haible  <bruno@clisp.org>
13569
13570         fwritable: Move AC_LIBOBJ invocations to module description.
13571         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13572         here...
13573         * modules/fwritable (configure.ac): ... to here.
13574
13575 2011-05-07  Bruno Haible  <bruno@clisp.org>
13576
13577         futimens: Move AC_LIBOBJ invocations to module description.
13578         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13579         here...
13580         * modules/futimens (configure.ac): ... to here.
13581
13582 2011-05-07  Bruno Haible  <bruno@clisp.org>
13583
13584         ftruncate: Move AC_LIBOBJ invocations to module description.
13585         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13586         gl_PREREQ_FTRUNCATE invocations from here...
13587         * modules/ftruncate (configure.ac): ... to here.
13588
13589 2011-05-07  Bruno Haible  <bruno@clisp.org>
13590
13591         fsync: Move AC_LIBOBJ invocations to module description.
13592         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13593         invocations from here...
13594         * modules/fsync (configure.ac): ... to here.
13595
13596 2011-05-07  Bruno Haible  <bruno@clisp.org>
13597
13598         fsusage: Move AC_LIBOBJ invocations to module description.
13599         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13600         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13601         * modules/fsusage (configure.ac): ... to here.
13602
13603 2011-05-07  Bruno Haible  <bruno@clisp.org>
13604
13605         freopen: Move AC_LIBOBJ invocations to module description.
13606         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13607         invocations from here...
13608         * modules/freopen (configure.ac): ... to here.
13609
13610 2011-05-07  Bruno Haible  <bruno@clisp.org>
13611
13612         free: Move AC_LIBOBJ invocations to module description.
13613         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13614         invocations from here...
13615         * modules/free (configure.ac): ... to here.
13616
13617 2011-05-07  Bruno Haible  <bruno@clisp.org>
13618
13619         freadable: Move AC_LIBOBJ invocations to module description.
13620         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13621         here...
13622         * modules/freadable (configure.ac): ... to here.
13623
13624 2011-05-07  Bruno Haible  <bruno@clisp.org>
13625
13626         fpurge: Move AC_LIBOBJ invocations to module description.
13627         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13628         invocations from here...
13629         * modules/fpurge (configure.ac): ... to here.
13630
13631 2011-05-07  Bruno Haible  <bruno@clisp.org>
13632
13633         fpending: Move AC_LIBOBJ invocations to module description.
13634         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13635         gl_FUNC_FPENDING.
13636         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13637         invocations from here...
13638         * modules/fpending (configure.ac): ... to here.
13639
13640 2011-05-07  Bruno Haible  <bruno@clisp.org>
13641
13642         fopen: Move AC_LIBOBJ invocations to module description.
13643         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13644         invocations from here...
13645         * modules/fopen (configure.ac): ... to here.
13646
13647 2011-05-07  Bruno Haible  <bruno@clisp.org>
13648
13649         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13650         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13651         gl_FUNC_FNMATCH_POSIX.
13652         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13653         invocations from here...
13654         * modules/fnmatch (configure.ac): ... to here.
13655         * modules/fnmatch-gnu (configure.ac): ... and here.
13656
13657 2011-05-07  Bruno Haible  <bruno@clisp.org>
13658
13659         flock: Move AC_LIBOBJ invocations to module description.
13660         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13661         invocations from here...
13662         * modules/flock (configure.ac): ... to here.
13663
13664 2011-05-07  Bruno Haible  <bruno@clisp.org>
13665
13666         fileblocks: Move AC_LIBOBJ invocations to module description.
13667         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13668         gl_PREREQ_FILEBLOCKS invocations from here...
13669         * modules/fileblocks (configure.ac): ... to here.
13670
13671 2011-05-06  Bruno Haible  <bruno@clisp.org>
13672
13673         fflush: Move AC_LIBOBJ invocations to module description.
13674         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13675         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13676         invocations from here...
13677         * modules/fflush (configure.ac): ... to here.
13678
13679 2011-05-06  Bruno Haible  <bruno@clisp.org>
13680
13681         fdopendir: Move AC_LIBOBJ invocations to module description.
13682         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13683         here...
13684         * modules/fdopendir (configure.ac): ... to here.
13685         (Depends-on): Improve conditions.
13686
13687 2011-05-06  Bruno Haible  <bruno@clisp.org>
13688
13689         _Exit: Move AC_LIBOBJ invocations to module description.
13690         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13691         invocations from here...
13692         * modules/_Exit (configure.ac): ... to here.
13693
13694 2011-05-21  Bruno Haible  <bruno@clisp.org>
13695
13696         euidaccess: Respect rules for use of AC_LIBOBJ.
13697         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13698         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13699         from here...
13700         * modules/euidaccess (configure.ac): ... to here.
13701
13702 2011-05-06  Bruno Haible  <bruno@clisp.org>
13703
13704         error: Move AC_LIBOBJ invocations to module description.
13705         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13706         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13707         invocations from here...
13708         * modules/error (configure.ac): ... to here.
13709
13710 2011-05-06  Bruno Haible  <bruno@clisp.org>
13711
13712         duplocale: Move AC_LIBOBJ invocations to module description.
13713         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13714         gl_PREREQ_DUPLOCALE invocations from here...
13715         * modules/duplocale (configure.ac): ... to here.
13716
13717 2011-05-05  Bruno Haible  <bruno@clisp.org>
13718
13719         dirfd: Move AC_LIBOBJ invocations to module description.
13720         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13721         gl_FUNC_DIRFD.
13722         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13723         here...
13724         * modules/dirfd (configure.ac): ... to here.
13725         (Depends-on): Fix condition.
13726
13727 2011-05-05  Bruno Haible  <bruno@clisp.org>
13728
13729         chown: Respect rules for use of AC_LIBOBJ.
13730         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13731         * modules/chown (configure.ac): ... to here.
13732
13733 2011-05-05  Bruno Haible  <bruno@clisp.org>
13734
13735         chdir-long: Move AC_LIBOBJ invocations to module description.
13736         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13737         gl_PREREQ_CHDIR_LONG invocations from here...
13738         * modules/chdir-long (configure.ac): ... to here.
13739
13740 2011-05-05  Bruno Haible  <bruno@clisp.org>
13741
13742         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13743         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13744         from here...
13745         * modules/canonicalize-lgpl (configure.ac): ... to here.
13746
13747 2011-05-05  Bruno Haible  <bruno@clisp.org>
13748
13749         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13750         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13751         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13752         REPLACE_CALLOC.
13753         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13754         * modules/calloc-gnu (configure.ac): Likewise.
13755
13756 2011-05-05  Bruno Haible  <bruno@clisp.org>
13757
13758         btowc: Move AC_LIBOBJ invocations to module description.
13759         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13760         invocations from here...
13761         * modules/btowc (configure.ac): ... to here.
13762
13763 2011-05-21  Bruno Haible  <bruno@clisp.org>
13764
13765         atexit: Move AC_LIBOBJ invocations to module description.
13766         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13767         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13768         here...
13769         * modules/atexit (configure.ac): ... to here.
13770
13771 2011-05-05  Bruno Haible  <bruno@clisp.org>
13772
13773         atoll: Move AC_LIBOBJ invocations to module description.
13774         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13775         invocations from here...
13776         * modules/atoll (configure.ac): ... to here.
13777
13778 2011-05-05  Bruno Haible  <bruno@clisp.org>
13779
13780         argz: Move AC_LIBOBJ invocations to module description.
13781         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13782         * modules/argz (configure.ac): ... to here.
13783
13784 2011-05-05  Bruno Haible  <bruno@clisp.org>
13785
13786         alphasort: Move AC_LIBOBJ invocations to module description.
13787         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13788         gl_PREREQ_ALPHASORT invocations from here...
13789         * modules/alphasort (configure.ac): ... to here.
13790
13791 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13792
13793         verify: new macro verify_expr; verify_true deprecated
13794         * NEWS: Mention this.
13795         * doc/verify.texi (Compile-time Assertions): Document this.
13796         * lib/verify.h (verify_true): Deprecate.
13797         (verify_expr): New macro.
13798         * tests/test-verify.c (function): Test verify_expr.
13799
13800 2011-06-14  Jim Meyering  <meyering@redhat.com>
13801
13802         init.sh: give more portable redirection-related advice in a comment
13803         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13804         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13805         for lots of discussion.  Stefano Lattarini suggested the solution
13806         of putting "9>&2" after the command.  Reported by Bruno Haible.
13807
13808 2011-06-13  Bruno Haible  <bruno@clisp.org>
13809
13810         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13811         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13812         'none'.
13813
13814 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13815
13816         ftoastr: use strtof only if HAVE_STRTOF
13817         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13819         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13820         * modules/ftoastr (configure.ac): Check for strtof.
13821
13822 2011-06-13  Bruno Haible  <bruno@clisp.org>
13823
13824         gnulib-tool: Addendum to 2011-06-08 commit.
13825         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13826         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13827
13828 2011-06-13  Bruno Haible  <bruno@clisp.org>
13829
13830         fseeko: Provide a non-inline replacement of fseek().
13831         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13832         * modules/fseeko (Depends-on): Add fseek.
13833         * modules/fseek (License): Change to LGPLv2+.
13834
13835 2011-06-13  Bruno Haible  <bruno@clisp.org>
13836
13837         ftello: Provide a non-inline replacement of ftell().
13838         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13839         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13840         not have ftello() (such as on mingw).
13841         * modules/ftello (Depends-on): Add ftell.
13842         * modules/ftell (License): Change to LGPLv2+.
13843
13844 2011-05-07  Bruno Haible  <bruno@clisp.org>
13845
13846         ftell: Move AC_LIBOBJ invocations to module description.
13847         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13848         * modules/ftell (configure.ac): ... to here.
13849
13850 2011-05-07  Bruno Haible  <bruno@clisp.org>
13851
13852         ftello: Respect rules for use of AC_LIBOBJ.
13853         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13854         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13855         here...
13856         * modules/ftello (configure.ac): ... to here.
13857
13858 2011-05-07  Bruno Haible  <bruno@clisp.org>
13859
13860         fseeko: Simplify.
13861         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13862         (gl_FUNC_FSEEKO): Inline it here.
13863
13864 2011-05-07  Bruno Haible  <bruno@clisp.org>
13865
13866         fseek: Move AC_LIBOBJ invocations to module description.
13867         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13868         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13869         * modules/fseek (configure.ac): ... to here.
13870
13871 2011-05-07  Bruno Haible  <bruno@clisp.org>
13872
13873         fseek: Respect rules for use of AC_LIBOBJ.
13874         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13875         here...
13876         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13877
13878 2011-05-07  Bruno Haible  <bruno@clisp.org>
13879
13880         fseeko: Respect rules for use of AC_LIBOBJ.
13881         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13882         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13883         here...
13884         * modules/fseeko (configure.ac): ... to here.
13885
13886 2011-06-13  Bruno Haible  <bruno@clisp.org>
13887
13888         gnulib-tool: Allow comments in the 'Depends-on' section.
13889         * doc/gnulib.texi (Module description): Mention comment syntax in the
13890         Depends-on section.
13891         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13892
13893 2011-06-13  Bruno Haible  <bruno@clisp.org>
13894
13895         file-set.h: guard __attibute__ use, now that it's not always defined
13896         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13897         versions that support it.  This fixes a coreutils build failure with
13898         the vendor cc on HP-UX 11.31.
13899
13900 2011-06-12  Bruno Haible  <bruno@clisp.org>
13901
13902         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13903         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13904         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13905         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13906         (acl, aclsort): New declarations.
13907         (aclv_nontrivial): New declaration.
13908         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13909         (file_has_acl): Read also the second kind of HP-UX ACLs.
13910         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13911         kind of HP-UX ACLs if the first kind fails.
13912         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13913         second kind of HP-UX ACLs.
13914         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13915         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13916         agree.
13917         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13918         hpuxjfs.
13919         Handle hpuxjfs.
13920         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13921         hpuxjfs.
13922         Handle hpuxjfs.
13923         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13924         (func_test_same_acls): Use both lsacl and getacl.
13925         Handle hpuxjfs.
13926         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13927         (func_test_same_acls): Use both lsacl and getacl.
13928         Handle hpuxjfs.
13929
13930 2011-06-12  Bruno Haible  <bruno@clisp.org>
13931
13932         acl: Complete the 2010-08-10 fix.
13933         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13934         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13935         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13936         explicitly.
13937         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13938         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13939
13940 2011-06-12  Bruno Haible  <bruno@clisp.org>
13941
13942         spawn-pipe tests: Comments.
13943         * tests/test-spawn-pipe-child.c (main): Update comment.
13944         Reported by James Youngman <jay@gnu.org>.
13945
13946 2011-06-11  James Youngman  <jay@gnu.org>
13947
13948         New module 'stat-size'.
13949         * modules/stat-size: New module.  Provides macros for accessing
13950         file size information in instances of struct stat.  Depends on the
13951         fileblocks module because it calls st_blocks.
13952         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13953         * doc/gnulib.texi: Include stat-size.texi.
13954         * doc/stat-size.texi: Documentation for this module.
13955         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13956         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13957         AC_STRUCT_ST_BLOCKS.
13958
13959 2011-06-09  Bruno Haible  <bruno@clisp.org>
13960
13961         thread: Support pthreads-win32.
13962         * lib/glthread/thread.h (gl_thread_self): Define differently on
13963         pthreads-win32.
13964         (gl_null_thread): New declaration.
13965         (gl_thread_self_pointer): New macro.
13966         * lib/glthread/thread.c (gl_null_thread): New constant.
13967         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13968         gl_thread_self.
13969         * tests/test-tls.c: Likewise.
13970         Suggested by Paul Eggert. Reported by Eric Blake.
13971
13972 2011-06-09  Bruno Haible  <bruno@clisp.org>
13973
13974         thread: Fix confusion between NULL and 0.
13975         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13976         Reported by Paul Eggert.
13977
13978 2011-06-09  Bruno Haible  <bruno@clisp.org>
13979
13980         spawn-pipe tests: Avoid test failure on HP-UX 11.
13981         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13982         is closed.
13983
13984 2011-06-09  Bruno Haible  <bruno@clisp.org>
13985
13986         acl tests: Fix compilation error on HP-UX 11.
13987         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13988
13989 2011-06-09  Bruno Haible  <bruno@clisp.org>
13990
13991         rmdir: Avoid test failure on HP-UX 10.20.
13992         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13993         EEXIST.
13994
13995 2011-06-08  Eric Blake  <eblake@redhat.com>
13996
13997         perror: fix test on mingw
13998         * modules/perror-tests (Depends-on): Add dup2.
13999
14000         strerror_r-posix: fix on MacOS
14001         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
14002         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
14003         logic bug.
14004         * lib/strerror_r.c (strerror_r): Fix the bug.
14005         * lib/strerror.c (strerror): Likewise.
14006         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
14007         problem.
14008         * doc/posix-functions/strerror.texi (strerror): Likewise.
14009         * doc/posix-functions/perror.texi (perror): Likewise.
14010         * tests/test-strerror.c (main): Enhance test.
14011         * tests/test-strerror_r.c (main): Likewise.
14012
14013 2011-06-08  Bruno Haible  <bruno@clisp.org>
14014
14015         gnulib-tool: Better isolation between different gnulib-tool invocations.
14016         * gnulib-tool: New option --witness-c-macro.
14017         (witness_c_macro): New variable.
14018         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
14019         AM_CPPFLAGS define it as a C macro.
14020         (func_emit_tests_Makefile_am): Likewise.
14021         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
14022         read it from there.
14023         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
14024         m4_define, not AC_DEFUN.
14025         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
14026         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
14027         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
14028         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
14029         s|...|...|, to substitute the values of the GNULIB_* module indicator
14030         variables.
14031         * modules/dirent (Makefile.am): Likewise.
14032         * modules/fcntl-h (Makefile.am): Likewise.
14033         * modules/iconv-h (Makefile.am): Likewise.
14034         * modules/langinfo (Makefile.am): Likewise.
14035         * modules/locale (Makefile.am): Likewise.
14036         * modules/math (Makefile.am): Likewise.
14037         * modules/netdb (Makefile.am): Likewise.
14038         * modules/poll-h (Makefile.am): Likewise.
14039         * modules/pty (Makefile.am): Likewise.
14040         * modules/search (Makefile.am): Likewise.
14041         * modules/signal (Makefile.am): Likewise.
14042         * modules/spawn (Makefile.am): Likewise.
14043         * modules/stdio (Makefile.am): Likewise.
14044         * modules/stdlib (Makefile.am): Likewise.
14045         * modules/string (Makefile.am): Likewise.
14046         * modules/sys_ioctl (Makefile.am): Likewise.
14047         * modules/sys_select (Makefile.am): Likewise.
14048         * modules/sys_socket (Makefile.am): Likewise.
14049         * modules/sys_stat (Makefile.am): Likewise.
14050         * modules/sys_times (Makefile.am): Likewise.
14051         * modules/sys_utsname (Makefile.am): Likewise.
14052         * modules/sys_wait (Makefile.am): Likewise.
14053         * modules/termios (Makefile.am): Likewise.
14054         * modules/time (Makefile.am): Likewise.
14055         * modules/unistd (Makefile.am): Likewise.
14056         * modules/wchar (Makefile.am): Likewise.
14057
14058 2011-06-08  Eric Blake  <eblake@redhat.com>
14059
14060         strerror: simplify replacement
14061         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
14062         * modules/strerror (configure.ac): No prereqs needed here...
14063         * modules/strerror-override (configure.ac): ...but this needs it.
14064         (Files): Add file for needed prereq macro.
14065
14066 2011-06-08  Bruno Haible  <bruno@clisp.org>
14067
14068         strerror_r-posix: Tweaks.
14069         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
14070         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
14071         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
14072         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
14073         (gl_FUNC_STRERROR_R): ... to here.
14074         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
14075
14076 2011-06-07  Eric Blake  <eblake@redhat.com>
14077
14078         perror: document fixed bugs
14079         * doc/posix-functions/perror.texi (perror): Document recent
14080         patches.
14081
14082 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
14083
14084         stat-time: get_stat_birthtime failure is better-defined
14085         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
14086         return a timestamp whose tv_sec and tv_nsec values are both -1.
14087         Previously, the spec said only that the tv_nsec value was negative.
14088         This upward-compatible change simplifies GNU tar a bit.
14089
14090 2011-06-07  Eric Blake  <eblake@redhat.com>
14091
14092         strerror_r-posix: work around cygwin 1.7.9
14093         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
14094         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
14095         bug without replacing strerror_r.
14096         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
14097         strerror_r is buggy, but without requiring strerror_r compilation.
14098         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
14099
14100         test-perror: relax test to ignore cygwin bug
14101         * tests/test-perror2.c (main): Relax test on requiring detection
14102         of stream errors, and use unbuffered stream.
14103         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
14104         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
14105         * doc/posix-functions/fputc.texi (fputc): Likewise.
14106         * doc/posix-functions/fputs.texi (fputs): Likewise.
14107         * doc/posix-functions/fputws.texi (fputws): Likewise.
14108         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
14109         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
14110         * doc/posix-functions/getopt.texi (getopt): Likewise.
14111         * doc/posix-functions/perror.texi (perror): Likewise.
14112         * doc/posix-functions/printf.texi (printf): Likewise.
14113         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
14114         * doc/posix-functions/psignal.texi (psignal): Likewise.
14115         * doc/posix-functions/putc.texi (putc): Likewise.
14116         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
14117         Likewise.
14118         * doc/posix-functions/putchar.texi (putchar): Likewise.
14119         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
14120         Likewise.
14121         * doc/posix-functions/puts.texi (puts): Likewise.
14122         * doc/posix-functions/putwc.texi (putwc): Likewise.
14123         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
14124         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
14125         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14126         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
14127         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14128         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
14129         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
14130         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
14131
14132 2011-05-22  Bruno Haible  <bruno@clisp.org>
14133
14134         strerror: Move AC_LIBOBJ invocations to module description.
14135         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
14136         gl_PREREQ_STRERROR invocations from here...
14137         * modules/strerror (configure.ac): ... to here.
14138
14139 2011-05-21  Bruno Haible  <bruno@clisp.org>
14140
14141         perror: Use common idiom.
14142         * modules/perror (configure.ac): Reorder statements.
14143
14144 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14145
14146         tests: fix usage message in 'mktempd_'
14147         * tests/init.sh (mktempd_): In the usage message, use literal
14148         'mktempd_', not '$ME' (which is even undefined), as the name of
14149         the subroutine.
14150
14151 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14152
14153         tests init: new function 'fatal_', for hard errors
14154         Before this patch, the only way offered by tests/init.sh to
14155         properly signal a hard error was the `framework_failure_'
14156         function.  But the error message issued by that function,
14157         as its name would suggest, refers to a set-up failure in the
14158         testsuite, while hard errors can obviously also be due to
14159         other reasons.  The best way to fix this inconsistency is to
14160         introduce a new function with a more general error message.
14161         * tests/init.sh (fatal_): New function.
14162
14163 2011-06-06  Eric Blake  <eblake@redhat.com>
14164
14165         canonicalize-lgpl: use common idiom
14166         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
14167         over newer POSIX -Rf.
14168         Reported by Bruno Haible.
14169
14170         canonicalize-lgpl: work around AIX realpath bug
14171         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
14172         * doc/posix-functions/realpath.texi (realpath): Document it.
14173         Reported by Bruno Haible.
14174
14175         strerror: work around FreeBSD bug
14176         * lib/strerror.c (strerror): Special case 0.
14177         Reported by Bruno Haible.
14178
14179         strerror-override: avoid bloating errno module
14180         * modules/errno (Files, configure.ac): Move replacement strings...
14181         * modules/strerror-override: ...to new module.
14182         * modules/strerror (Depends-on): Add strerror-override.
14183         * modules/strerror_r-posix (Depends-on): Likewise.
14184         * MODULES.html.sh: Document new module.
14185         Reported by Bruno Haible.
14186
14187 2011-06-06  Bruno Haible  <bruno@clisp.org>
14188
14189         spawn-pipe tests: Rename program.
14190         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
14191         * tests/test-spawn-pipe-child.c: Update comment.
14192         * tests/test-spawn-pipe.sh: Update.
14193         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
14194
14195         spawn-pipe tests: Link the child program only against libc.
14196         * tests/test-spawn-pipe-child.c: New file, extracted from
14197         tests/test-spawn-pipe.c.
14198         (main): Expect only one argument.
14199         (is_open): New function, copied from tests/test-pipe.c.
14200         * tests/test-spawn-pipe.c: Don't include <errno.h>.
14201         (child_main): Remove function.
14202         (test_pipe): Pass only one argument to the child program.
14203         (main): Remove child process code. Expect the child program's name as
14204         first argument.
14205         * tests/test-spawn-pipe.sh: Pass the child program's name as first
14206         argument.
14207         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
14208         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
14209         test-spawn-pipe-child against no libraries.
14210
14211 2011-06-06  Bruno Haible  <bruno@clisp.org>
14212
14213         careadlinkat: Avoid mismatch between ssize_t and int.
14214         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
14215         * lib/careadlinkat.c (careadlinkatcwd): Define always.
14216
14217 2011-06-06  Jim Meyering  <meyering@redhat.com>
14218
14219         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
14220         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
14221         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
14222
14223 2011-06-05  Bruno Haible  <bruno@clisp.org>
14224
14225         ansi-c++-opt: Interoperability with libtool.
14226         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
14227         set the variable to "no", not to ":".
14228         * NEWS: Mention the change.
14229
14230 2011-06-05  Bruno Haible  <bruno@clisp.org>
14231
14232         acl: Fix test failure on AIX 7.
14233         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
14234         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14235
14236 2011-06-05  Bruno Haible  <bruno@clisp.org>
14237
14238         pipe-filter-ii: Fix test failure on AIX and IRIX.
14239         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14240         with EAGAIN, retry with a smaller buffer size.
14241
14242 2011-06-05  Bruno Haible  <bruno@clisp.org>
14243
14244         localename: Fix link dependencies.
14245         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14246         * modules/localename-tests (Makefile.am): Link test-localename with
14247         $(LIBTHREAD).
14248
14249 2011-06-05  Bruno Haible  <bruno@clisp.org>
14250
14251         error: Avoid gcc warning.
14252         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14253
14254 2011-06-05  Bruno Haible  <bruno@clisp.org>
14255
14256         unsetenv: Avoid gcc warning.
14257         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14258
14259 2011-06-05  Bruno Haible  <bruno@clisp.org>
14260
14261         setenv: Avoid gcc warning.
14262         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14263
14264 2011-06-05  Bruno Haible  <bruno@clisp.org>
14265
14266         sys_select: Ensure memset is declared also on AIX 7.
14267         * lib/sys_select.in.h: Include <string.h> also on AIX.
14268         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14269         self-contained also on AIX 7.1.
14270
14271 2011-06-04  Jim Meyering  <meyering@redhat.com>
14272
14273         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14274         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14275         function name, "error".
14276         (_gl_translatable_diag_func_re): New configurable variable.
14277
14278 2011-06-04  Bruno Haible  <bruno@clisp.org>
14279
14280         getopt: Avoid gcc warning.
14281         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14282
14283 2011-06-04  Bruno Haible  <bruno@clisp.org>
14284
14285         strerror_r: Fix comments.
14286         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14287         commit.
14288
14289 2011-06-04  Bruno Haible  <bruno@clisp.org>
14290
14291         perror: Fix compilation error.
14292         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14293         Undefine fprintf, not sprintf.
14294         * modules/perror (Depends-on): Remove intprops, verify.
14295
14296 2011-06-04  Bruno Haible  <bruno@clisp.org>
14297
14298         setlocale: Enable replacement on Cygwin 1.5.
14299         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14300         Cygwin 1.5.x.
14301         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14302         LC_CTYPE category also exists on Cygwin 1.5.x.
14303
14304 2011-06-04  Bruno Haible  <bruno@clisp.org>
14305
14306         strerror-override: Don't disable symbol renamings.
14307         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14308         * lib/strerror-override.c: Include config.h.
14309         (strerror_override): Don't undefine.
14310
14311 2011-06-03  Bruno Haible  <bruno@clisp.org>
14312
14313         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14314         * lib/localename.h: Update copyright header.
14315         * lib/localename.c: Likewise.
14316         * lib/relocatable.h: Likewise.
14317         * lib/relocatable.c: Likewise.
14318
14319 2011-06-02  Bruno Haible  <bruno@clisp.org>
14320
14321         doc: Fix a module name.
14322         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14323
14324 2011-06-02  Bruno Haible  <bruno@clisp.org>
14325
14326         pipe2: Remove dependency on 'nonblocking' module.
14327         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14328         O_NONBLOCK is defined by gnulib.
14329         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14330         is zero.
14331         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
14332         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
14333         defined by gnulib.
14334         (get_nonblocking_flag): New function.
14335         (main): Test O_NONBLOCK flag only if it is nonzero.
14336         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
14337
14338 2011-06-03  Jim Meyering  <meyering@redhat.com>
14339
14340         maint: three new prohibit-header-without-use rules
14341         Prohibit use of cloexec.h, posixver.h, same.h without use.
14342         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
14343         (sc_prohibit_posixver_without_use): Likewise.
14344         (sc_prohibit_same_without_use): Likewise.
14345
14346 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14347
14348         allocator: 'die' routine is now given requested size
14349         * lib/allocator.h (struct allocator.die): New size arg.
14350         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
14351         If the actual problem is an ssize_t limitation, not a size_t or
14352         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14353
14354 2011-06-01  Eric Blake  <eblake@redhat.com>
14355
14356         strerror: drop strerror_r dependency
14357         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14358         * lib/strerror-override.c (strerror_override): ...to new file.
14359         * lib/strerror-override.h: Add prototype.
14360         * lib/strerror-impl.h: Delete.
14361         * lib/strerror.c (strerror): New implementation.
14362         * modules/errno (Files): Add new files.
14363         (configure.ac): Compile new file as appropriate.
14364         * modules/strerror (Files): Drop unused file.
14365         (Depends-on): Drop strerror_r-posix.
14366         * MODULES.html.sh: Document strerror_r-posix.
14367         Requested by Sam Steingold.
14368
14369         perror: call strerror_r directly
14370         * modules/perror (Files): Drop strerror-impl.h.
14371         * lib/perror.c (perror): Use our own stack buffer, rather than
14372         calling a wrapper that uses static storage.
14373         * doc/posix-functions/perror.texi (perror): Document a limitation
14374         of our replacement.
14375
14376         strerror_r: fix includes for FreeBSD
14377         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14378         since we use abort on some platforms.
14379         Reported by Matthias Bolte.
14380
14381 2011-05-31  Bruno Haible  <bruno@clisp.org>
14382
14383         Fix link errors in tests: openat-die uses gettext-h.
14384         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14385         against $(LIBINTL).
14386         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14387         against $(LIBINTL).
14388         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14389         $(LIBINTL).
14390         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14391         against $(LIBINTL).
14392         * modules/linkat-tests (Makefile.am): Link test-linkat against
14393         $(LIBINTL).
14394         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14395         $(LIBINTL).
14396         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14397         against $(LIBINTL).
14398         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14399         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14400         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14401         $(LIBINTL).
14402         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14403         $(LIBINTL).
14404         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14405         $(LIBINTL).
14406         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14407
14408 2011-05-31  Bruno Haible  <bruno@clisp.org>
14409
14410         Fix link errors in tests: wait-process uses gettext-h.
14411         * modules/nonblocking-pipe-tests (Makefile.am): Set
14412         test_nonblocking_pipe_main_LDADD.
14413         * modules/nonblocking-socket-tests (Makefile.am): Link
14414         test-nonblocking-socket-main against $(LIBINTL).
14415         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14416
14417 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14418
14419         assert-h: work around 'verify' incompatibility
14420         * lib/verify.h: Use @...@ directives, not ifdef.
14421         * modules/assert-h (assert.h): Implement the directives.
14422         (assert.h): Substitute the symbol-prefix more consistently.
14423
14424 2011-05-29  Jim Meyering  <meyering@redhat.com>
14425
14426         trim: remove three superfluous assignments
14427         * lib/trim.c (trim2): Remove three superfluous assignments
14428         and correct brace positioning.
14429
14430 2011-05-29  Bruno Haible  <bruno@clisp.org>
14431
14432         wctype-h: Avoid namespace pollution on Solaris 2.6.
14433         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14434         identifiers.
14435         * doc/posix-headers/wctype.texi: Mention the problem.
14436         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14437
14438 2011-05-28  Jim Meyering  <meyering@redhat.com>
14439
14440         parse-datetime.y: accommodate -Wstrict-overflow
14441         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14442         placate -Wstrict-overflow.
14443
14444         trim: avoid a warning from -O2 -Wstrict-overflow
14445         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14446
14447 2011-05-29  Bruno Haible  <bruno@clisp.org>
14448
14449         gnulib-tool: Fix bug in yesterday's commit.
14450         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14451         twice.
14452
14453 2011-05-29  Bruno Haible  <bruno@clisp.org>
14454
14455         Allow multiple gnulib generated include files to be combined.
14456         * gnulib-tool (func_compute_include_guard_prefix): New function.
14457         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14458         ${gl_include_guard_prefix} references.
14459         (func_import, func_create_testdir): Invoke
14460         func_compute_include_guard_prefix.
14461         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14462         * lib/ctype.in.h: Likewise.
14463         * lib/dirent.in.h: Likewise.
14464         * lib/errno.in.h: Likewise.
14465         * lib/fcntl.in.h: Likewise.
14466         * lib/float.in.h: Likewise.
14467         * lib/getopt.in.h: Likewise.
14468         * lib/iconv.in.h: Likewise.
14469         * lib/langinfo.in.h: Likewise.
14470         * lib/locale.in.h: Likewise.
14471         * lib/math.in.h: Likewise.
14472         * lib/netdb.in.h: Likewise.
14473         * lib/netinet_in.in.h: Likewise.
14474         * lib/poll.in.h: Likewise.
14475         * lib/pthread.in.h: Likewise.
14476         * lib/pty.in.h: Likewise.
14477         * lib/sched.in.h: Likewise.
14478         * lib/se-selinux.in.h: Likewise.
14479         * lib/search.in.h: Likewise.
14480         * lib/signal.in.h: Likewise.
14481         * lib/spawn.in.h: Likewise.
14482         * lib/stdarg.in.h: Likewise.
14483         * lib/stddef.in.h: Likewise.
14484         * lib/stdint.in.h: Likewise.
14485         * lib/stdio.in.h: Likewise.
14486         * lib/stdlib.in.h: Likewise.
14487         * lib/string.in.h: Likewise.
14488         * lib/strings.in.h: Likewise.
14489         * lib/sys_file.in.h: Likewise.
14490         * lib/sys_ioctl.in.h: Likewise.
14491         * lib/sys_select.in.h: Likewise.
14492         * lib/sys_socket.in.h: Likewise.
14493         * lib/sys_stat.in.h: Likewise.
14494         * lib/sys_time.in.h: Likewise.
14495         * lib/sys_times.in.h: Likewise.
14496         * lib/sys_uio.in.h: Likewise.
14497         * lib/sys_utsname.in.h: Likewise.
14498         * lib/sys_wait.in.h: Likewise.
14499         * lib/sysexits.in.h: Likewise.
14500         * lib/termios.in.h: Likewise.
14501         * lib/time.in.h: Likewise.
14502         * lib/unistd.in.h: Likewise.
14503         * lib/wchar.in.h: Likewise.
14504         * lib/wctype.in.h: Likewise.
14505         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14506         * modules/ctype (Makefile.am): Likewise.
14507         * modules/dirent (Makefile.am): Likewise.
14508         * modules/errno (Makefile.am): Likewise.
14509         * modules/fcntl-h (Makefile.am): Likewise.
14510         * modules/float (Makefile.am): Likewise.
14511         * modules/getopt-posix (Makefile.am): Likewise.
14512         * modules/iconv-h (Makefile.am): Likewise.
14513         * modules/langinfo (Makefile.am): Likewise.
14514         * modules/locale (Makefile.am): Likewise.
14515         * modules/math (Makefile.am): Likewise.
14516         * modules/netdb (Makefile.am): Likewise.
14517         * modules/netinet_in (Makefile.am): Likewise.
14518         * modules/poll-h (Makefile.am): Likewise.
14519         * modules/pthread (Makefile.am): Likewise.
14520         * modules/pty (Makefile.am): Likewise.
14521         * modules/sched (Makefile.am): Likewise.
14522         * modules/search (Makefile.am): Likewise.
14523         * modules/selinux-h (Makefile.am): Likewise.
14524         * modules/signal (Makefile.am): Likewise.
14525         * modules/spawn (Makefile.am): Likewise.
14526         * modules/stdarg (Makefile.am): Likewise.
14527         * modules/stddef (Makefile.am): Likewise.
14528         * modules/stdint (Makefile.am): Likewise.
14529         * modules/stdio (Makefile.am): Likewise.
14530         * modules/stdlib (Makefile.am): Likewise.
14531         * modules/string (Makefile.am): Likewise.
14532         * modules/strings (Makefile.am): Likewise.
14533         * modules/sys_file (Makefile.am): Likewise.
14534         * modules/sys_ioctl (Makefile.am): Likewise.
14535         * modules/sys_select (Makefile.am): Likewise.
14536         * modules/sys_socket (Makefile.am): Likewise.
14537         * modules/sys_stat (Makefile.am): Likewise.
14538         * modules/sys_time (Makefile.am): Likewise.
14539         * modules/sys_times (Makefile.am): Likewise.
14540         * modules/sys_uio (Makefile.am): Likewise.
14541         * modules/sys_utsname (Makefile.am): Likewise.
14542         * modules/sys_wait (Makefile.am): Likewise.
14543         * modules/sysexits (Makefile.am): Likewise.
14544         * modules/termios (Makefile.am): Likewise.
14545         * modules/time (Makefile.am): Likewise.
14546         * modules/unistd (Makefile.am): Likewise.
14547         * modules/wchar (Makefile.am): Likewise.
14548         * modules/wctype-h (Makefile.am): Likewise.
14549         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14550
14551 2011-05-29  Bruno Haible  <bruno@clisp.org>
14552
14553         assert-h: Allow multiple gnulib generated replacements to coexist.
14554         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14555
14556 2011-05-29  Bruno Haible  <bruno@clisp.org>
14557
14558         argp: Allow coexistence with strerror_r-posix module.
14559         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14560         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14561         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14562         not the glibc signature.
14563
14564 2011-05-28  Bruno Haible  <bruno@clisp.org>
14565
14566         gnulib-tool: Alternative structure of testdirs, similar to --import.
14567         * gnulib-tool: New option --single-configure.
14568         (func_usage): Document it.
14569         (single_configure): New variable.
14570         (func_modules_transitive_closure_separately,
14571         func_modules_transitive_closure_separately,
14572         func_determine_use_libtests, func_modules_add_dummy_separately,
14573         func_modules_to_filelist_separately): New functions, extracted from
14574         func_import.
14575         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14576         (func_import): Use the new functions.
14577         (func_create_testdir): Set final_modules. Handle $single_configure =
14578         true case.
14579
14580 2011-05-28  Bruno Haible  <bruno@clisp.org>
14581
14582         getloadavg: Remove an unreliable safety check.
14583         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14584         getloadavg.c is in place.
14585         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14586         Reported by Sam Steingold <sds@gnu.org>.
14587
14588 2011-05-28  Bruno Haible  <bruno@clisp.org>
14589
14590         doc: Cleanup yet another file produced by texinfo.tex.
14591         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14592
14593 2011-05-28  Bruno Haible  <bruno@clisp.org>
14594
14595         Finish the conditional dependencies mechanism.
14596         * gnulib-tool: New option --no-conditional-dependencies.
14597         (func_usage): Document it. Don't mark --conditional-dependencies as
14598         experimental.
14599         (cond_dependencies): The possible values can now be true, false, empty.
14600         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14601         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14602         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14603
14604 2011-05-28  Bruno Haible  <bruno@clisp.org>
14605
14606         doc: Use a recent texinfo.tex.
14607         * doc/Makefile (tex_opts): New variable.
14608         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14609
14610 2011-05-28  Jim Meyering  <meyering@redhat.com>
14611
14612         intprops.h: adjust comment to match code change
14613         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14614         only once, it *may* have side effects.  Also fix an unrelated typo.
14615         (_GL_INT_SIGNED): Likewise.
14616
14617 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14618
14619         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14620
14621 2011-05-26  Bruno Haible  <bruno@clisp.org>
14622
14623         mbsrchr: Avoid collision with system function on Interix.
14624         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14625         Reported by Markus Duft <mduft@gentoo.org>.
14626
14627 2011-05-15  James Youngman  <jay@gnu.org>
14628
14629         getopt: for ambiguous options, enumerate the possibilities.
14630         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14631         the ambiguous options when an ambiguous prefix is given. This was
14632         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14633         glibc change was
14634         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14635
14636 2011-05-25  Eric Blake  <eblake@redhat.com>
14637
14638         getcwd: work around mingw bug
14639         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14640         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14641         Reported by Matthias Bolte.
14642
14643 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14644
14645         test-intprops: disable -Wtype-limits diagnostics
14646         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14647         diagnostics.  Otherwise, the integer overflow macros generate many
14648         diagnostics.  Reported by Jim Meyering in
14649         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14650
14651         intprops: shorten, to pacify gcc -Woverlength-strings
14652         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14653         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14654         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14655         likely to run afoul of C compiler limits for string constant lengths.
14656         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14657
14658 2011-05-24  Eric Blake  <eblake@redhat.com>
14659
14660         docs: document recently fixed glibc printf bug
14661         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14662         * doc/posix-functions/printf.texi (printf): Likewise.
14663         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14664         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14665
14666         closein-tests: convert to init.sh
14667         * modules/closein-tests (Files): Add init.sh
14668         * tests/test-closein.sh Use it.
14669
14670         yesno-tests: convert to init.sh
14671         * modules/yesno-tests (Files): Add init.sh.
14672         * tests/test-yesno.sh: Use it.
14673
14674         atexit-tests: ensure reliable exit status
14675         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14676         Reported by Bruno Haible.
14677
14678 2011-05-24  Bruno Haible  <bruno@clisp.org>
14679
14680         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14681         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14682         gl_PREREQ_STRERROR_R invocations from here...
14683         * modules/strerror_r-posix (configure.ac): ... to here.
14684
14685 2011-05-24  Eric Blake  <eblake@redhat.com>
14686
14687         strerror_r: fix missing header
14688         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14689
14690         strerror_r: fix AIX test failures
14691         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14692         ERANGE failure.
14693
14694         strerror_r: fix Solaris test failures
14695         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14696         failures.
14697         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14698
14699         strerror_r: enforce POSIX recommendations
14700         * lib/strerror_r.c (safe_copy): New helper method.
14701         (strerror_r): Guarantee a non-empty string.
14702         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14703         recent POSIX rulings and to match our strerror guarantees.
14704         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14705
14706 2011-05-24  Jim Meyering  <meyering@redhat.com>
14707
14708         test-perror2.c: avoid warning about unused variable
14709         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14710
14711 2011-05-24  Eric Blake  <eblake@redhat.com>
14712
14713         perror: avoid spurious test failure on HP-UX
14714         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14715
14716         tests: fix logic bug in init.sh
14717         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14718         shell.
14719
14720 2011-05-24  Jim Meyering  <meyering@redhat.com>
14721
14722         utimensat: do not reference an out-of-scope buffer
14723         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14724         declared in an inner scope, yet "times" would be dereferenced outside
14725         the scope in which "ts" was valid.
14726         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14727         of ts[2] "out/up", so that the use of aliased "times" (via
14728         "times = ts;") does not end up referencing an out-of-scope "ts"
14729
14730         opendir-safer.c: don't clobber errno; don't close negative FD
14731         * lib/opendir-safer.c (opendir_safer):
14732         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14733         file descriptor, and more importantly, don't clobber the
14734         offending errno value with EINVAL.  Before, upon failure
14735         of dup_safer, we would pass the negative file descriptor to
14736         fdopendir, which would clobber errno.
14737
14738 2011-05-23  Bruno Haible  <bruno@clisp.org>
14739
14740         idcache: Fix module description.
14741         * modules/idcache (Include): Set to "idcache.h".
14742
14743 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14744
14745         gnulib-tool: fix portability problem with MacOS sed
14746         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14747         before the "}".  Problem reported by Leo in
14748         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14749         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14750         sed_extract_condition1, sed_extract_condition2.
14751
14752 2011-05-23  Bruno Haible  <bruno@clisp.org>
14753
14754         hash: Simplify autoconf macro.
14755         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14756
14757 2011-05-23  Bruno Haible  <bruno@clisp.org>
14758
14759         getugroups: Fix module description.
14760         * modules/getugroups (Include): Set to "getugroups.h".
14761
14762 2011-05-23  Bruno Haible  <bruno@clisp.org>
14763
14764         linkat: Simplify autoconf macro.
14765         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14766
14767 2011-05-23  Bruno Haible  <bruno@clisp.org>
14768             Eric Blake  <eblake@redhat.com>
14769
14770         linkat, renameat: Update dependencies.
14771         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14772         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14773         symlinkat.
14774
14775 2011-05-23  Jim Meyering  <meyering@redhat.com>
14776
14777         maint.mk: more tight_scope improvements
14778         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14779         (_gl_TS_headers): Define only in if-0'd block.
14780         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14781         sometimes we must *not* use it.  Adjust uses accordingly.
14782         (sc_tight_scope): Use much simpler grep-based test to determine
14783         whether we skip this rule.
14784
14785         maint.mk: generalize/improve the tight-scope rule
14786         * top/maint.mk: Emit a warning when the test is skipped.
14787         (_gl_TS_dir): Add $(srcdir)/ prefix.
14788         (_gl_TS_function_match): Simplify, rather than trying
14789         to enumerate common types.  Otherwise, it would fail to match an
14790         "extern unsigned char const *" declaration in idutils.
14791         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14792         a way to support use of that type of macro.
14793         (_gl_TS_var_match): Simplify regexp.
14794         (_gl_TS_obj_files): New configurable variable.
14795         (_gl_TS_headers): Likewise.
14796
14797 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14798
14799         verify: fix bug when gnulib <assert.h> is also included
14800         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14801         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14802         Perhaps there's a better way, but this fixes the immediate problem.
14803         Problem reported by Bruno Haible in
14804         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14805
14806 2011-05-22  Bruno Haible  <bruno@clisp.org>
14807
14808         xgetcwd: Simplify autoconf macro.
14809         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14810
14811 2011-05-22  Bruno Haible  <bruno@clisp.org>
14812
14813         New module 'mktime-internal'.
14814         * modules/mktime-internal: New file.
14815         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14816         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14817         mktime_internal as a C macro if libc has __mktime_internal.
14818         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14819         conditions.
14820         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14821
14822 2011-05-22  Bruno Haible  <bruno@clisp.org>
14823
14824         timegm: Correct mktime replacement statements.
14825         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14826         defining mktime as a C macro. This completes a 2009-07-28 commit.
14827
14828 2011-05-22  Bruno Haible  <bruno@clisp.org>
14829
14830         timegm: Simplify autoconf macro.
14831         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14832
14833 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14834
14835         clock-time: change to LGPLv2+.
14836         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14837         BSD-like but we have no mark for that; this is good enough for now.
14838
14839 2011-05-21  Bruno Haible  <bruno@clisp.org>
14840
14841         strerror_r: Fix comments.
14842         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14843
14844 2011-05-21  Bruno Haible  <bruno@clisp.org>
14845
14846         relocatable-prog-wrapper: Fix possible link error.
14847         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14848         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14849         (gl_FUNC_SETENV): ... to here.
14850         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14851         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14852
14853 2011-05-21  Bruno Haible  <bruno@clisp.org>
14854
14855         relocatable-prog-wrapper: Assume strerror() exists.
14856         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14857         m4/strerror.m4.
14858         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14859         * lib/relocwrapper.c: Remove mention of strerror module.
14860         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14861         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14862         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14863         C macro.
14864
14865 2011-05-21  Bruno Haible  <bruno@clisp.org>
14866
14867         select: Simplify replacement idiom.
14868         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14869         Win32 platforms.
14870         * lib/sys_select.in.h (select): Simplify accordingly.
14871         * modules/select (Depends-on): Likewise.
14872
14873 2011-05-21  Bruno Haible  <bruno@clisp.org>
14874
14875         mkdir-p: Simplify autoconf macro.
14876         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14877         gl_FUNC_LCHOWN.
14878
14879 2011-05-21  Eric Blake  <eblake@redhat.com>
14880
14881         strerror_r: avoid clobbering strerror on cygwin
14882         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14883         fall back instead to sys_errlist.
14884         * modules/strerror (configure.ac): Add witness.
14885         * tests/test-strerror_r.c (main): Enhance test.
14886         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14887         * tests/test-perror2.c (main): Free memory before exit.
14888
14889 2011-05-21  Bruno Haible  <bruno@clisp.org>
14890
14891         mkdtemp: Use gnulib naming conventions.
14892         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14893         * modules/mkdtemp (configure.ac): Update.
14894
14895 2011-05-20  Eric Blake  <eblake@redhat.com>
14896
14897         strerror_r: avoid corrupting errno on Solaris
14898         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14899         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14900
14901         strerror_r: avoid compiler warning
14902         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14903
14904         strerror_r: simplify AIX code
14905         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14906
14907         test-perror: avoid spurious failure on FreeBSD
14908         * modules/perror-tests (Depends-on): Add strerror, now that
14909         strerror_r no longer pulls it in.
14910
14911 2011-05-20  Bruno Haible  <bruno@clisp.org>
14912
14913         strerror_r-posix: Remove unused dependencies.
14914         * modules/strerror_r-posix (Depends-on): Remove strerror.
14915         Reported by Eric Blake.
14916
14917 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14918
14919         intprops: remove assumption about A|B representation
14920         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14921         is a valid integer if both A and B are.  Although this is true for
14922         all known practical hosts, the C standard doesn't guarantee it,
14923         and the code need not assume it.  Also, this change may work around
14924         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14925         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14926
14927 2011-05-20  Eric Blake  <eblake@redhat.com>
14928
14929         perror: work around FreeBSD bug
14930         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14931         is broken.  Move AC_LIBOBJ...
14932         * modules/perror (configure.ac): Here.
14933         * doc/posix-functions/perror.texi (perror): Document this.
14934         * tests/test-perror2.c (main): Enhance test.
14935
14936         test-perror: check for strerror interactions
14937         * tests/macros.h (STREQ): Add macro.
14938         * modules/perror-tests (Files): Add second test.
14939         * tests/test-perror2.c (main): New file.
14940         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14941
14942         test-perror: rewrite to use init script
14943         * modules/perror-tests (Files): Add init.sh.
14944         * tests/test-perror.sh: Use temporary directory.
14945
14946 2011-05-20  Jim Meyering  <meyering@redhat.com>
14947
14948         maint: replace misused "a" with "an"
14949         * doc/intprops.texi: "a integer"
14950         * doc/regex.texi: "a explanation"
14951         * lib/alignof.h: "a object"
14952         * lib/argmatch.h: "a explanation"
14953         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14954         * lib/stdint.in.h: "a integer"
14955         * lib/userspec.c: "a owner"
14956         * doc/gnulib.texi: Fix "a idea", and reword.
14957
14958 2011-05-19  Jim Meyering  <meyering@redhat.com>
14959
14960         maint: correct misuse of "a" and "an"
14961         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14962         * lib/argp-help.c: "an docum...": s/an/a/
14963         * lib/argp-parse.c: "An vector": s/An/A/
14964         * lib/execute.c: "an native": s/an/a/
14965         * lib/spawn-pipe.c: Likewise.
14966         * lib/gc.h: "an Gc_rc": s/an/a/
14967         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14968         * lib/fts.c: "an stat.st_dev": s/an/a/
14969
14970 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14971
14972         intprops-tests: work around HP-UX 11.23 cc bug with constants
14973         * tests/test-intprops.c (VERIFY): New macro.
14974         (main): Use it, instead of verify, to work around the compiler bug; see
14975         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14976
14977         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14978         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14979         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14980         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14981         (_GL_REMAINDER_OVERFLOW): Use it.
14982
14983         intprops-tests: revert unsigned part of previous change
14984         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14985         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14986         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14987         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14988
14989 2011-05-19  Bruno Haible  <bruno@clisp.org>
14990
14991         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14992         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14993         strerror_r() returned without filling the buffer.
14994         Reported by Eric Blake.
14995
14996 2011-05-19  Eric Blake  <eblake@redhat.com>
14997
14998         strerror_r: guarantee unchanged errno
14999         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
15000         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
15001         failure.
15002         * tests/test-strerror_r.c (main): Enhance test.
15003
15004 2011-05-19  Bruno Haible  <bruno@clisp.org>
15005
15006         strerror_r: Reorder #if blocks.
15007         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
15008         for consistency with the previous commit.
15009
15010 2011-05-19  Bruno Haible  <bruno@clisp.org>
15011
15012         perror: Avoid clobbering the strerror buffer when possible.
15013         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
15014         * lib/strerror.c: Include it.
15015         * modules/strerror (Files): Add lib/strerror-impl.h.
15016         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
15017         (my_strerror): New function, defined through lib/strerror-impl.h.
15018         (perror): Use it instead of strerror.
15019         * modules/perror (Files): Add lib/strerror-impl.h.
15020         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
15021
15022 2011-05-19  Eric Blake  <eblake@redhat.com>
15023
15024         strerror_r: fix on newer cygwin
15025         * lib/strerror_r.c (strerror_r): Cygwin now has
15026         __xpg_strerror_r, use it.
15027
15028 2011-05-19  Bruno Haible  <bruno@clisp.org>
15029
15030         strerror_r: Avoid clobbering the strerror buffer when possible.
15031         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
15032         (sys_nerr, sys_errlist): New declarations.
15033         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
15034         HP-UX, native Win32, IRIX, and 32-bit Solaris.
15035         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
15036
15037 2011-05-19  Bruno Haible  <bruno@clisp.org>
15038
15039         strerror_r: Fix test failure on mingw.
15040         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
15041         EXTEND_STRERROR_R.
15042         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
15043         macros from errno.in.h instead.
15044
15045 2011-05-19  Eric Blake  <eblake@redhat.com>
15046
15047         strerror: relax test for Solaris
15048         * tests/test-strerror.c (main): Permit Solaris behavior.
15049         * tests/test-strerror_r.c (main): Likewise.
15050
15051         strerror: enforce POSIX ruling on strerror(0)
15052         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
15053         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
15054         * lib/strerror_r.c (rpl_strerror_r): Work around it.
15055         * doc/posix-functions/strerror.texi (strerror): Document it.
15056         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
15057         * tests/test-strerror.c (main): Strengthen test.
15058         * tests/test-strerror_r.c (main): Likewise.
15059
15060 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15061
15062         intprop-tests: port to older and more-pedantic compilers
15063         * modules/intprops-tests (Files): Add tests/macros.h.
15064         * tests/test-intprops.c: Include macros.h.
15065         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
15066         it's no longer documented to expand to an integer constant expression.
15067         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
15068         argument is floating point, as it's no longer documented to expand
15069         to an integer constant expression in that case.
15070         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
15071         compiler bugs reported by Bruno Haible.  See
15072         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15073         (U0, U1): New constants, to work around the same bugs.  Also,
15074         in tests, use e.g., "(unsigned int) 39" rather than "39u".
15075
15076         intprops: work around C compiler bugs
15077         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
15078         bug in Sun C 5.11 2010/08/13 and other compilers; see
15079         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
15080
15081         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
15082         * doc/intprops.texi (Integer Type Determination): Fix
15083         documentation for TYPE_IS_INTEGER: it returns an constant
15084         expression, not an integer constant expression.  Fix doc for
15085         TYPE_SIGNED: it returns an integer constant expression only if its
15086         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
15087         hardly worth documented that way....)
15088
15089 2011-05-18  Bruno Haible  <bruno@clisp.org>
15090
15091         strerror_r: Avoid clobbering the strerror buffer when possible.
15092         * lib/strerror_r.c (strerror_r): Merge the three implementations.
15093         Handle gnulib defined errno values here. When strerror() returns NULL
15094         or an empty string, return EINVAL.
15095         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
15096         gnulib defined errno values here.
15097         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
15098
15099 2011-05-18  Eric Blake  <eblake@redhat.com>
15100
15101         fnmatch: avoid compiler warning
15102         * lib/fnmatch_loop.c (FCT): Use correct type.
15103         Reported by Matthias Bolte.
15104
15105 2011-05-13  Jim Meyering  <meyering@redhat.com>
15106
15107         maint.mk: three new prohibit_<HDR>_without_use rules
15108         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
15109         (sc_prohibit_stdio-safer_without_use): Likewise.
15110         (sc_prohibit_xfreopen_without_use): Likewise.
15111
15112 2011-05-17  Jim Meyering  <meyering@redhat.com>
15113
15114         announce-gen: fail if the NEWS delta is empty
15115         If there's nothing noteworthy in NEWS, then either you forgot
15116         or you shouldn't be releasing.
15117         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
15118
15119 2011-05-17  Pádraig Brady <P@draigBrady.com>
15120
15121         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
15122         reserved symbols starting with double underscore from the check.
15123
15124 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15125
15126         intprops: add doc
15127         * doc/intprops.texi: New file, documenting intprops.
15128         * doc/gnulib.texi (Particular Modules): Include it.
15129
15130         verify: add doc to gnulib manual and fix example
15131         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
15132         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
15133         (Compile-time Assertions): Fix example so it can't overflow.
15134
15135 2011-05-17  Jim Meyering  <meyering@redhat.com>
15136
15137         warnings.m4: don't usurp save_CPPFLAGS variable name
15138         * m4/warnings.m4: Prefix local temporary variable name with gl_.
15139
15140         doc: fix typo
15141         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
15142
15143 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15144             Bruno Haible  <bruno@clisp.org>
15145
15146         doc: Tweak recent change.
15147         * README (Portability guidelines): Tweak new text.
15148         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
15149         Interix 6.1.
15150
15151 2011-05-16  Eric Blake  <eblake@redhat.com>
15152
15153         inttypes: avoid autoconf warning
15154         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
15155         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15156
15157 2011-05-16  Sam Steingold <sds@gnu.org>
15158         and Eric Blake  <eblake@redhat.com>
15159
15160         vc-list-files: accept multiple directory operands
15161         * build-aux/vc-list-files: Iterate over all remaining operands.
15162
15163 2011-05-16  Bruno Haible  <bruno@clisp.org>
15164
15165         Fix confusion regarding deprecated modules.
15166         * modules/calloc (Status, Notice): Mark module as deprecated, not
15167         obsolete.
15168         * modules/fnmatch-posix (Status, Notice): Likewise.
15169         * modules/getdate (Status, Notice): Likewise.
15170         * modules/getopt (Status, Notice): Likewise.
15171         * modules/malloc (Status, Notice): Likewise.
15172         * modules/pipe (Status, Notice): Likewise.
15173         * modules/realloc (Status, Notice): Likewise.
15174         * modules/rename-dest-slash (Status, Notice): Likewise.
15175         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
15176         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
15177         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
15178         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
15179         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
15180
15181 2011-05-16  Bruno Haible  <bruno@clisp.org>
15182
15183         doc: List the target platforms.
15184         * doc/gnulib-intro.texi (Target Platforms): New section.
15185         * doc/gnulib.texi (Introduction): Update menu.
15186         * README (Portability guidelines): Refer to the new section. Update
15187         statement about oldest supported environment. Remove rationale why
15188         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
15189         unportable C89 function.
15190         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
15191         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
15192
15193 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15194
15195         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
15196
15197 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15198
15199         intprops-tests: new module
15200         * modules/intprops-tests, tests/test-intprops.c: New files.
15201
15202         intprops: add safe, portable integer overflow checking
15203         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
15204         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
15205         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
15206         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
15207         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
15208         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
15209         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
15210         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
15211         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
15212         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
15213         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
15214
15215 2011-05-12  James Youngman  <jay@gnu.org>
15216
15217         Add a test for glibc's Bugzilla bug #12378.
15218         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
15219         doesn't allow the literal matching of a lone "[" (which is
15220         required by POSIX).
15221         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
15222
15223 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
15224
15225         Sync glibc change fixing Bugzilla bug #12378.
15226         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
15227         beginning and fall back to matching as normal character if the
15228         string ends before the matching ']' is found.  This is what POSIX
15229         requires.
15230
15231 2011-05-13  Eric Blake  <eblake@redhat.com>
15232
15233         getcwd-lgpl: relax test for FreeBSD
15234         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15235         issue.
15236         * tests/test-getcwd-lgpl.c (main): Relax test.
15237         Reported by Matthias Bolte.
15238
15239 2011-05-11  Eric Blake  <eblake@redhat.com>
15240
15241         test-fflush: silence compiler warning
15242         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15243
15244 2011-05-11  Bruno Haible  <bruno@clisp.org>
15245
15246         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15247         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15248         * modules/canonicalize (Depends-on): Add 'nocrash'.
15249         * modules/canonicalize-lgpl (Depends-on): Likewise.
15250         * doc/posix-functions/realpath.texi: Update platforms list.
15251         Reported by Ryan Schmidt <ryandesign@macports.org>.
15252
15253 2011-05-11  Bruno Haible  <bruno@clisp.org>
15254
15255         group-member: Declare function in <unistd.h>.
15256         * lib/unistd.in.h (group_member): New declaration.
15257         * lib/group-member.h: Remove file.
15258         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15259         * tests/test-unistd-c++.cc: Check signature of group_member.
15260         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15261         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15262         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15263         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15264         HAVE_GROUP_MEMBER.
15265         * modules/group-member (Files): Remove lib/group-member.h.
15266         (Depends-on): Add unistd. Specify conditions.
15267         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15268         (Include): Change to <unistd.h>.
15269         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15270         HAVE_GROUP_MEMBER.
15271         * NEWS: Mention the change.
15272         * lib/euidaccess.c: Don't include group-member.h.
15273
15274 2011-05-11  Bruno Haible  <bruno@clisp.org>
15275
15276         group-member: Document module.
15277         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15278         module.
15279
15280 2011-05-11  Bruno Haible  <bruno@clisp.org>
15281
15282         fclose: Fix mistake earlier today.
15283         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15284
15285 2011-05-11  Eric Blake  <eblake@redhat.com>
15286
15287         fclose: preserve fflush errors
15288         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15289         Reported by Jim Meyering.
15290
15291         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15292         * build-aux/bootstrap (check_versions): When no specific version
15293         is required, merely check that the app produces an exit status
15294         that indicates its existence.
15295
15296         maint.mk: drop redundant check
15297         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15298         the same but better.
15299
15300 2011-05-11  Bruno Haible  <bruno@clisp.org>
15301
15302         fclose: Fix possible link error.
15303         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15304         unregister_shadow_fd. Improve comments.
15305         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15306         Eric Blake.
15307
15308 2011-05-11  Jim Meyering  <meyering@redhat.com>
15309
15310         maint.mk: improve "can not" detection and generalize rule name
15311         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15312         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15313         Use the same technique as in sc_prohibit_doubled_word, so that
15314         we recognize "can not" also when the words are separated by a newline.
15315         Suggested by Eric Blake.
15316         (perl_filename_lineno_text_): Define.  Factored out of...
15317         (prohibit_doubled_word_): ...here.  Use the new definition.
15318         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15319         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15320         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15321
15322 2011-05-10  Eric Blake  <eblake@redhat.com>
15323
15324         fclose: avoid double close race when possible
15325         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15326         all but WINDOWS_SOCKETS.
15327
15328 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15329
15330         openat: correct new comment
15331         * lib/openat-proc.c (openat_proc_name): Correct the comment.
15332
15333 2011-05-10  Jim Meyering  <meyering@redhat.com>
15334
15335         openat: add comments
15336         * lib/openat-proc.c (openat_proc_name): Add comments,
15337         mostly from Eric Blake.
15338
15339 2011-05-09  Eric Blake  <eblake@redhat.com>
15340
15341         openat: reduce syscalls in first probe of /proc
15342         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
15343         be a directory.  Simplify the probe for .. bugs.
15344         * modules/openat (Depends-on): Drop same-inode.
15345         Reported by Bastien ROUCARIES.
15346
15347 2011-05-09  Jim Meyering  <meyering@redhat.com>
15348
15349         maint.mk: change semantics/name of tight_scope variables
15350         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
15351         Rename variables to align with semantics that make them more useful.
15352
15353         maint.mk: tweak new rule's name not to impinge
15354         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15355         (sc_tight_scope): Use new rule name rather than $@-0.
15356
15357         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15358         * top/maint.mk (sc_tight_scope): New rule.
15359         (sc_tight_scope-0): New rule, ifdef'd out.
15360         (_gl_TS_dir): Default.
15361         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15362         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15363
15364 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15365
15366         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15367         Haible <bruno@clisp.org>.
15368
15369 2011-05-08  Bruno Haible  <bruno@clisp.org>
15370
15371         Comments.
15372         * m4/isnanf.m4: Add comment.
15373         * m4/isnanl.m4: Likewise.
15374
15375 2011-05-08  Bruno Haible  <bruno@clisp.org>
15376
15377         glob: Remove obsolete macro.
15378         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15379
15380 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15381
15382         intprops: Sun C 5.11 supports __typeof__
15383         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15384         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15385         which is new.
15386         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15387
15388         intprops: switch to usual gnulib indenting and naming
15389         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15390         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15391
15392         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15393
15394 2011-05-08  Jim Meyering  <meyering@redhat.com>
15395
15396         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15397         * top/maint.mk (release-prep): Use make's --no-print-directory
15398         option when generating the announcement.  This eliminates the
15399         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15400         generated announcement template.
15401
15402 2011-05-08  Bruno Haible  <bruno@clisp.org>
15403
15404         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15405         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15406         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15407
15408 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15409
15410         ignore-value, verify: Omit include files from lib_SOURCES.
15411         * modules/ignore-value, modules/verify (Makefile.am):
15412         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15413         that leads Automake to duplicate use of am__objects_... variables
15414         in Makefile.in.  See
15415         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15416
15417 2011-05-07  Bruno Haible  <bruno@clisp.org>
15418
15419         fclose: Simplify autoconf macro.
15420         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15421         defined.
15422
15423 2011-05-07  Bruno Haible  <bruno@clisp.org>
15424
15425         canonicalize-lgpl: Fix autoconf macro ordering bug.
15426         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15427         gl_STDLIB_H_DEFAULTS.
15428
15429 2011-05-06  Eric Blake  <eblake@redhat.com>
15430
15431         maintainer-makefile: make sc_po_check easier to tune
15432         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15433         to probe for strings, such as an alternate location for gnulib.
15434
15435         fclose: guarantee behavior on seekable stdin
15436         * modules/fclose (Depends-on): Add fflush.
15437         * doc/posix-functions/fclose.texi (fclose): Document this.
15438         * tests/test-fclose.c (main): Make test for this unconditional.
15439
15440 2011-05-06  Bruno Haible  <bruno@clisp.org>
15441
15442         fflush, fpurge: Relicense under LGPLv2+.
15443         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15444         * modules/fpurge (License): Likewise.
15445         With permission from Eric Blake and Jim Meyering.
15446         Suggested by Eric Blake.
15447
15448 2011-05-06  Karl Berry  <karl@gnu.org>
15449
15450         * MODULES.html.sh (func_all_modules): remove exit.
15451
15452 2011-05-06  Jim Meyering  <meyering@redhat.com>
15453
15454         maint.mk: use info-gnu@ as the default only for a stable release
15455         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15456         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15457         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15458         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15459
15460 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15461
15462         assert-h: new module, which supports C1X-style static_assert
15463         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15464         * lib/verify.h: Revamp so that this can be copied into assert.h,
15465         while retaining the ability to use it standalone as before.
15466         Rename private identifiers so as not to encroach on the
15467         standard C namespace, since this is now used by assert.h.
15468         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15469         the old verify_true.
15470         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15471         the old verify_true.  Use _GL_VERIFY_TYPE.
15472         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15473         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15474         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15475         defined when this file is copied into the replacement assert.h.
15476         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15477         and _Static_assert is not built in.
15478         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15479         defined, and use the new macros mentioned above.
15480         * doc/posix-headers/assert.texi: Document this.
15481
15482 2011-05-05  Bruno Haible  <bruno@clisp.org>
15483
15484         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15485         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15486         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15487         gl_REPLACE_FCLOSE here.
15488         * modules/fflush (Depends-on): Remove fclose.
15489         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15490         combination with module 'fclose'.
15491
15492 2011-05-05  Bruno Haible  <bruno@clisp.org>
15493
15494         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15495         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15496         gl_FUNC_FFLUSH.
15497         (gl_FUNC_FFLUSH): Use it.
15498         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15499         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15500         gl_REPLACE_FSEEKO here.
15501
15502 2011-05-05  Bruno Haible  <bruno@clisp.org>
15503
15504         tzset: Relicense under LGPL.
15505         * modules/tzset (License): Change to LGPL.
15506         No agreement needed; it's a no-op.
15507
15508         strtoimax, strtoumax: Relicense under LGPL.
15509         * modules/strtoimax (License): Change to LGPL.
15510         * modules/strtoumax (License): Likewise.
15511         With permission from Jim Meyering, Paul Eggert:
15512         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15513         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15514
15515         getgroups: Relicense under LGPL.
15516         * modules/getgroups (License): Change to LGPL.
15517         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15518         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15520         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15521
15522         nanosleep: Relicense under LGPL.
15523         * modules/nanosleep (License): Change to LGPL.
15524         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15525         Haible:
15526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15527         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15528         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15529         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15530
15531         futimens: Relicense under LGPL.
15532         * modules/futimens (License): Change to LGPL.
15533         With permission from Eric Blake:
15534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15535
15536         fflush: Relicense under LGPL.
15537         * modules/fflush (License): Change to LGPL.
15538         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15539         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15541         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15542
15543         tmpfile: Relicense under LGPL.
15544         * modules/tmpfile (License): Change to LGPL.
15545         With permission from Ben Pfaff:
15546         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15547
15548         isfinite: Relicense under LGPL.
15549         * modules/isfinite (License): Change to LGPL.
15550         With permission from Ben Pfaff, Bruno Haible:
15551         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15552         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15553
15554         acosl..tanl: Relicense under LGPL.
15555         * modules/acosl (License): Change to LGPL.
15556         * modules/asinl (License): Likewise.
15557         * modules/atanl (License): Likewise.
15558         * modules/cosl (License): Likewise.
15559         * modules/expl (License): Likewise.
15560         * modules/logl (License): Likewise.
15561         * modules/sinl (License): Likewise.
15562         * modules/sqrtl (License): Likewise.
15563         * modules/tanl (License): Likewise.
15564         Source code originally from glibc and Paolo Bonzini. Agreements:
15565         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15566         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15567
15568 2011-05-05  Bruno Haible  <bruno@clisp.org>
15569
15570         signal: Define sighandler_t.
15571         * lib/signal.in.h (sighandler_t): New type.
15572         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15573         whether sighandler_t is defined.
15574         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15575         * modules/signal (Depends-on): Add extensions.
15576         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15577         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15578         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15579
15580 2011-05-05  Eric Blake  <eblake@redhat.com>
15581
15582         maint: remove useless REPLACE_*_H macros
15583         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15584         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15585         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15586         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15587         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15588         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15589         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15590         * m4/btowc.m4: Update callers.
15591         * m4/dirfd.m4: Likewise.
15592         * m4/duplocale.m4: Likewise.
15593         * m4/fchdir.m4: Likewise.
15594         * m4/fdopendir.m4: Likewise.
15595         * m4/inet_ntop.m4: Likewise.
15596         * m4/inet_pton.m4: Likewise.
15597         * m4/ioctl.m4: Likewise.
15598         * m4/mbrlen.m4: Likewise.
15599         * m4/mbrtowc.m4: Likewise.
15600         * m4/mbsinit.m4: Likewise.
15601         * m4/mbsnrtowcs.m4: Likewise.
15602         * m4/mbsrtowcs.m4: Likewise.
15603         * m4/poll.m4: Likewise.
15604         * m4/setlocale.m4: Likewise.
15605         * m4/wcrtomb.m4: Likewise.
15606         * m4/wcsnrtombs.m4: Likewise.
15607         * m4/wcsrtombs.m4: Likewise.
15608         * m4/wctob.m4: Likewise.
15609         * m4/wcwidth.m4: Likewise.
15610         * modules/posix_spawn: Likewise.
15611         * modules/posix_spawn_file_actions_addclose: Likewise.
15612         * modules/posix_spawn_file_actions_adddup2: Likewise.
15613         * modules/posix_spawn_file_actions_addopen: Likewise.
15614         * modules/posix_spawn_file_actions_destroy: Likewise.
15615         * modules/posix_spawn_file_actions_init: Likewise.
15616         * modules/posix_spawnattr_destroy: Likewise.
15617         * modules/posix_spawnattr_getflags: Likewise.
15618         * modules/posix_spawnattr_getpgroup: Likewise.
15619         * modules/posix_spawnattr_getschedparam: Likewise.
15620         * modules/posix_spawnattr_getschedpolicy: Likewise.
15621         * modules/posix_spawnattr_getsigdefault: Likewise.
15622         * modules/posix_spawnattr_getsigmask: Likewise.
15623         * modules/posix_spawnattr_init: Likewise.
15624         * modules/posix_spawnattr_setflags: Likewise.
15625         * modules/posix_spawnattr_setpgroup: Likewise.
15626         * modules/posix_spawnattr_setschedparam: Likewise.
15627         * modules/posix_spawnattr_setschedpolicy: Likewise.
15628         * modules/posix_spawnattr_setsigdefault: Likewise.
15629         * modules/posix_spawnattr_setsigmask: Likewise.
15630         * modules/posix_spawnp: Likewise.
15631
15632 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15633
15634         Add option to do-release-commit-and-tag to specify branch.
15635         * build-aux/do-release-commit-and-tag: Add --branch.
15636
15637 2011-05-03  Bruno Haible  <bruno@clisp.org>
15638
15639         Avoid unnecessary compilation units, through conditional dependencies.
15640         * modules/accept (Depends-on): Add conditions to the dependencies.
15641         * modules/acosl (Depends-on): Likewise.
15642         * modules/argz (Depends-on): Likewise.
15643         * modules/asinl (Depends-on): Likewise.
15644         * modules/atanl (Depends-on): Likewise.
15645         * modules/atoll (Depends-on): Likewise.
15646         * modules/bind (Depends-on): Likewise.
15647         * modules/btowc (Depends-on): Likewise.
15648         * modules/canonicalize-lgpl (Depends-on): Likewise.
15649         * modules/ceil (Depends-on): Likewise.
15650         * modules/ceilf (Depends-on): Likewise.
15651         * modules/ceill (Depends-on): Likewise.
15652         * modules/chdir-long (Depends-on): Likewise.
15653         * modules/chown (Depends-on): Likewise.
15654         * modules/close (Depends-on): Likewise.
15655         * modules/connect (Depends-on): Likewise.
15656         * modules/cosl (Depends-on): Likewise.
15657         * modules/dirfd (Depends-on): Likewise.
15658         * modules/dprintf (Depends-on): Likewise.
15659         * modules/dprintf-posix (Depends-on): Likewise.
15660         * modules/error (Depends-on): Likewise.
15661         * modules/euidaccess (Depends-on): Likewise.
15662         * modules/expl (Depends-on): Likewise.
15663         * modules/faccessat (Depends-on): Likewise.
15664         * modules/fchdir (Depends-on): Likewise.
15665         * modules/fclose (Depends-on): Likewise.
15666         * modules/fcntl (Depends-on): Likewise.
15667         * modules/fdopendir (Depends-on): Likewise.
15668         * modules/fflush (Depends-on): Likewise.
15669         * modules/floor (Depends-on): Likewise.
15670         * modules/floorf (Depends-on): Likewise.
15671         * modules/floorl (Depends-on): Likewise.
15672         * modules/fnmatch (Depends-on): Likewise.
15673         * modules/fopen (Depends-on): Likewise.
15674         * modules/fprintf-posix (Depends-on): Likewise.
15675         * modules/frexp (Depends-on): Likewise.
15676         * modules/frexp-nolibm (Depends-on): Likewise.
15677         * modules/frexpl (Depends-on): Likewise.
15678         * modules/frexpl-nolibm (Depends-on): Likewise.
15679         * modules/fseek (Depends-on): Likewise.
15680         * modules/fsusage (Depends-on): Likewise.
15681         * modules/ftell (Depends-on): Likewise.
15682         * modules/ftello (Depends-on): Likewise.
15683         * modules/futimens (Depends-on): Likewise.
15684         * modules/getcwd (Depends-on): Likewise.
15685         * modules/getcwd-lgpl (Depends-on): Likewise.
15686         * modules/getdelim (Depends-on): Likewise.
15687         * modules/getdomainname (Depends-on): Likewise.
15688         * modules/getgroups (Depends-on): Likewise.
15689         * modules/gethostname (Depends-on): Likewise.
15690         * modules/getline (Depends-on): Likewise.
15691         * modules/getlogin_r (Depends-on): Likewise.
15692         * modules/getopt-posix (Depends-on): Likewise.
15693         * modules/getpeername (Depends-on): Likewise.
15694         * modules/getsockname (Depends-on): Likewise.
15695         * modules/getsockopt (Depends-on): Likewise.
15696         * modules/getsubopt (Depends-on): Likewise.
15697         * modules/getusershell (Depends-on): Likewise.
15698         * modules/glob (Depends-on): Likewise.
15699         * modules/grantpt (Depends-on): Likewise.
15700         * modules/iconv_open (Depends-on): Likewise.
15701         * modules/iconv_open-utf (Depends-on): Likewise.
15702         * modules/inet_ntop (Depends-on): Likewise.
15703         * modules/inet_pton (Depends-on): Likewise.
15704         * modules/ioctl (Depends-on): Likewise.
15705         * modules/isapipe (Depends-on): Likewise.
15706         * modules/isfinite (Depends-on): Likewise.
15707         * modules/isinf (Depends-on): Likewise.
15708         * modules/lchown (Depends-on): Likewise.
15709         * modules/ldexpl (Depends-on): Likewise.
15710         * modules/link (Depends-on): Likewise.
15711         * modules/linkat (Depends-on): Likewise.
15712         * modules/listen (Depends-on): Likewise.
15713         * modules/logl (Depends-on): Likewise.
15714         * modules/lstat (Depends-on): Likewise.
15715         * modules/mbrlen (Depends-on): Likewise.
15716         * modules/mbrtowc (Depends-on): Likewise.
15717         * modules/mbsinit (Depends-on): Likewise.
15718         * modules/mbsnrtowcs (Depends-on): Likewise.
15719         * modules/mbsrtowcs (Depends-on): Likewise.
15720         * modules/mbtowc (Depends-on): Likewise.
15721         * modules/memcmp (Depends-on): Likewise.
15722         * modules/mkdir (Depends-on): Likewise.
15723         * modules/mkdtemp (Depends-on): Likewise.
15724         * modules/mkfifo (Depends-on): Likewise.
15725         * modules/mkfifoat (Depends-on): Likewise.
15726         * modules/mknod (Depends-on): Likewise.
15727         * modules/mkostemp (Depends-on): Likewise.
15728         * modules/mkostemps (Depends-on): Likewise.
15729         * modules/mkstemp (Depends-on): Likewise.
15730         * modules/mkstemps (Depends-on): Likewise.
15731         * modules/mktime (Depends-on): Likewise.
15732         * modules/nanosleep (Depends-on): Likewise.
15733         * modules/open (Depends-on): Likewise.
15734         * modules/openat (Depends-on): Likewise.
15735         * modules/perror (Depends-on): Likewise.
15736         * modules/poll (Depends-on): Likewise.
15737         * modules/popen (Depends-on): Likewise.
15738         * modules/posix_spawn (Depends-on): Likewise.
15739         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15740         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15741         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15742         * modules/posix_spawnp (Depends-on): Likewise.
15743         * modules/pread (Depends-on): Likewise.
15744         * modules/printf-posix (Depends-on): Likewise.
15745         * modules/ptsname (Depends-on): Likewise.
15746         * modules/putenv (Depends-on): Likewise.
15747         * modules/pwrite (Depends-on): Likewise.
15748         * modules/readline (Depends-on): Likewise.
15749         * modules/readlink (Depends-on): Likewise.
15750         * modules/readlinkat (Depends-on): Likewise.
15751         * modules/recv (Depends-on): Likewise.
15752         * modules/recvfrom (Depends-on): Likewise.
15753         * modules/regex (Depends-on): Likewise.
15754         * modules/remove (Depends-on): Likewise.
15755         * modules/rename (Depends-on): Likewise.
15756         * modules/renameat (Depends-on): Likewise.
15757         * modules/rmdir (Depends-on): Likewise.
15758         * modules/round (Depends-on): Likewise.
15759         * modules/roundf (Depends-on): Likewise.
15760         * modules/roundl (Depends-on): Likewise.
15761         * modules/rpmatch (Depends-on): Likewise.
15762         * modules/select (Depends-on): Likewise.
15763         * modules/send (Depends-on): Likewise.
15764         * modules/sendto (Depends-on): Likewise.
15765         * modules/setenv (Depends-on): Likewise.
15766         * modules/setlocale (Depends-on): Likewise.
15767         * modules/setsockopt (Depends-on): Likewise.
15768         * modules/shutdown (Depends-on): Likewise.
15769         * modules/sigaction (Depends-on): Likewise.
15770         * modules/signbit (Depends-on): Likewise.
15771         * modules/sigprocmask (Depends-on): Likewise.
15772         * modules/sinl (Depends-on): Likewise.
15773         * modules/sleep (Depends-on): Likewise.
15774         * modules/snprintf (Depends-on): Likewise.
15775         * modules/snprintf-posix (Depends-on): Likewise.
15776         * modules/socket (Depends-on): Likewise.
15777         * modules/sprintf-posix (Depends-on): Likewise.
15778         * modules/sqrtl (Depends-on): Likewise.
15779         * modules/stat (Depends-on): Likewise.
15780         * modules/strchrnul (Depends-on): Likewise.
15781         * modules/strdup-posix (Depends-on): Likewise.
15782         * modules/strerror (Depends-on): Likewise.
15783         * modules/strerror_r-posix (Depends-on): Likewise.
15784         * modules/strndup (Depends-on): Likewise.
15785         * modules/strnlen (Depends-on): Likewise.
15786         * modules/strptime (Depends-on): Likewise.
15787         * modules/strsep (Depends-on): Likewise.
15788         * modules/strsignal (Depends-on): Likewise.
15789         * modules/strstr-simple (Depends-on): Likewise.
15790         * modules/strtod (Depends-on): Likewise.
15791         * modules/strtoimax (Depends-on): Likewise.
15792         * modules/strtok_r (Depends-on): Likewise.
15793         * modules/strtoumax (Depends-on): Likewise.
15794         * modules/symlink (Depends-on): Likewise.
15795         * modules/symlinkat (Depends-on): Likewise.
15796         * modules/tanl (Depends-on): Likewise.
15797         * modules/tcgetsid (Depends-on): Likewise.
15798         * modules/tmpfile (Depends-on): Likewise.
15799         * modules/trunc (Depends-on): Likewise.
15800         * modules/truncf (Depends-on): Likewise.
15801         * modules/truncl (Depends-on): Likewise.
15802         * modules/uname (Depends-on): Likewise.
15803         * modules/unlink (Depends-on): Likewise.
15804         * modules/unlockpt (Depends-on): Likewise.
15805         * modules/unsetenv (Depends-on): Likewise.
15806         * modules/usleep (Depends-on): Likewise.
15807         * modules/utimensat (Depends-on): Likewise.
15808         * modules/vasprintf (Depends-on): Likewise.
15809         * modules/vdprintf (Depends-on): Likewise.
15810         * modules/vdprintf-posix (Depends-on): Likewise.
15811         * modules/vfprintf-posix (Depends-on): Likewise.
15812         * modules/vprintf-posix (Depends-on): Likewise.
15813         * modules/vsnprintf (Depends-on): Likewise.
15814         * modules/vsnprintf-posix (Depends-on): Likewise.
15815         * modules/vsprintf-posix (Depends-on): Likewise.
15816         * modules/wcrtomb (Depends-on): Likewise.
15817         * modules/wcscasecmp (Depends-on): Likewise.
15818         * modules/wcscspn (Depends-on): Likewise.
15819         * modules/wcsdup (Depends-on): Likewise.
15820         * modules/wcsncasecmp (Depends-on): Likewise.
15821         * modules/wcsnrtombs (Depends-on): Likewise.
15822         * modules/wcspbrk (Depends-on): Likewise.
15823         * modules/wcsrtombs (Depends-on): Likewise.
15824         * modules/wcsspn (Depends-on): Likewise.
15825         * modules/wcsstr (Depends-on): Likewise.
15826         * modules/wcstok (Depends-on): Likewise.
15827         * modules/wcswidth (Depends-on): Likewise.
15828         * modules/wctob (Depends-on): Likewise.
15829         * modules/wctomb (Depends-on): Likewise.
15830         * modules/wctype (Depends-on): Likewise.
15831         * modules/wcwidth (Depends-on): Likewise.
15832         * modules/write (Depends-on): Likewise.
15833
15834 2011-05-03  Bruno Haible  <bruno@clisp.org>
15835
15836         Support for conditional dependencies.
15837         * doc/gnulib.texi (Module description): Document the syntax of
15838         conditional dependencies.
15839         * gnulib-tool: New option --conditional-dependencies.
15840         (func_usage): Document it.
15841         (cond_dependencies): New variable.
15842         (func_get_automake_snippet_conditional,
15843         func_get_automake_snippet_unconditional): New functions, extracted from
15844         func_get_automake_snippet.
15845         (func_get_automake_snippet): Use them.
15846         (sed_first_32_chars): New variable.
15847         (func_module_shellfunc_name): New function.
15848         (func_module_shellvar_name): New function.
15849         (func_module_conditional_name): New function.
15850         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15851         func_cond_module_condition): New functions.
15852         (func_modules_transitive_closure): Add support for conditional
15853         dependencies.
15854         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15855         conditional automake snippet in an automake conditional.
15856         (func_emit_autoconf_snippets): Emit shell functions that contain the
15857         code for conditional modules.
15858         (func_import, func_create_testdir): Update specification.
15859
15860 2011-05-03  Eric Blake  <eblake@redhat.com>
15861
15862         test-getaddrinfo: report error information
15863         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15864
15865 2011-05-03  Jim Meyering  <meyering@redhat.com>
15866
15867         bootstrap: avoid build failure when $GZIP is set
15868         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15869         program name.  If defined at all, it is supposed to list gzip options.
15870         Reported by Alan Curry in http://debbugs.gnu.org/8609
15871
15872 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15873
15874         readme-release: new module with release instructions
15875         * modules/readme-release: New module.
15876         * top/README-release: New file, from coreutils, grep, diffutils.
15877         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15878
15879 2011-05-02  Eric Blake  <eblake@redhat.com>
15880
15881         fflush: also replace fclose when fixing fflush
15882         * modules/fflush (Depends-on): Add fclose.
15883         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15884         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15885         memstreams with no backing fd.
15886         * doc/posix-functions/fclose.texi (fclose): Document the use of
15887         fflush module to fix the bug.
15888         * tests/test-fclose.c (main): Relax test when fclose is used in
15889         isolation.
15890
15891         fclose: add some tests
15892         * modules/fclose-tests: New test module.
15893         * tests/test-fclose.c: New file.
15894         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15895
15896         fclose: reduced dependencies
15897         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15898         simpler lseek.
15899         * lib/fclose.c (rpl_fclose): Likewise.
15900         Reported by Simon Josefsson.
15901
15902         exit: drop remaining clients
15903         * modules/argmatch (Depends-on): Replace exit with stdlib.
15904         * modules/copy-file (Depends-on): Likewise.
15905         * modules/execute (Depends-on): Likewise.
15906         * modules/exitfail (Depends-on): Likewise.
15907         * modules/obstack (Depends-on): Likewise.
15908         * modules/pagealign_alloc (Depends-on): Likewise.
15909         * modules/pipe-filter-gi (Depends-on): Likewise.
15910         * modules/pipe-filter-ii (Depends-on): Likewise.
15911         * modules/savewd (Depends-on): Likewise.
15912         * modules/spawn-pipe (Depends-on): Likewise.
15913         * modules/wait-process (Depends-on): Likewise.
15914         * modules/xsetenv (Depends-on): Likewise.
15915         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15916         * modules/git-merge-changelog (Depends-on): Likewise.
15917         * modules/long-options (Depends-on): Likewise.
15918         * modules/pt_chown (Depends-on): Likewise.
15919         * modules/sysexits (Depends-on): Likewise.
15920
15921         freading: relax license from LGPLv3+ to LGPLv2+
15922         * modules/freading (License): Relax LGPL version.
15923
15924 2011-05-02  Bruno Haible  <bruno@clisp.org>
15925
15926         fchdir: Remove unused dependencies.
15927         * modules/fchdir (Depends-on): Remove include_next.
15928
15929 2011-05-02  Bruno Haible  <bruno@clisp.org>
15930
15931         gnulib-tool: Refactor.
15932         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15933         from func_emit_autoconf_snippets.
15934         (func_emit_autoconf_snippets): Use it.
15935
15936 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15937
15938         * NEWS: Document removal of 'exit'.
15939         * modules/exit: Remove file.
15940
15941 2011-05-01  Bruno Haible  <bruno@clisp.org>
15942
15943         Update DEPENDENCIES.
15944         * DEPENDENCIES (gettext): Recommend the newest release.
15945         Reported by Simon Josefsson.
15946
15947 2011-05-01  Bruno Haible  <bruno@clisp.org>
15948
15949         gnulib-tool: Reduce code duplication.
15950         * gnulib-tool (func_emit_autoconf_snippets): New function.
15951         (func_import, func_create_testdir): Use it.
15952
15953 2011-04-30  Eric Blake  <eblake@redhat.com>
15954
15955         fclose: don't fail on non-seekable input stream
15956         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15957         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15958         since fflush is allowed to fail in that case.
15959
15960 2011-04-30  Bruno Haible  <bruno@clisp.org>
15961
15962         dup3: cleanup
15963         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15964
15965 2011-04-30  Bruno Haible  <bruno@clisp.org>
15966
15967         netdb: Make it work in C++ mode.
15968         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15969         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15970         module.
15971         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15972         gl_MODULE_INDICATOR_FOR_TESTS.
15973         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15974         * modules/netdb-c++-tests: New file.
15975         * tests/test-netdb-c++.cc: New file.
15976
15977 2011-04-30  Bruno Haible  <bruno@clisp.org>
15978
15979         New modules 'vfscanf', 'vscanf'.
15980         * modules/vfscanf: New file.
15981         * modules/vscanf: New file.
15982         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15983         here.
15984         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15985         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15986
15987 2011-04-30  Bruno Haible  <bruno@clisp.org>
15988
15989         passfd: Add comments.
15990         * lib/passfd.c: Add comments about platforms.
15991
15992 2011-04-30  Bruno Haible  <bruno@clisp.org>
15993
15994         sys_uio: Make <sys/uio.h> self-contained.
15995         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15996         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15997
15998 2011-04-30  Bruno Haible  <bruno@clisp.org>
15999
16000         sys_socket: Ensure 'struct iovec' definition.
16001         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
16002         <sys/socket.h>.
16003         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
16004
16005 2011-04-30  Bruno Haible  <bruno@clisp.org>
16006
16007         sys_uio: Protect definition of 'struct iovec'.
16008         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
16009         it as a C struct.
16010
16011 2011-04-30  Bruno Haible  <bruno@clisp.org>
16012
16013         manywarnings: fix indentation
16014         * m4/manywarnings.m4: Indent by 2 spaces consistently.
16015
16016 2011-04-30  Pádraig Brady <P@draigBrady.com>
16017
16018         manywarnings: add -Wno-missing-field-initializers if needed.
16019         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
16020         option if it's needed to allow initialization with { 0, }
16021
16022 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
16023
16024         announce-gen: cosmetic improvement
16025         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
16026
16027 2011-04-29  Jim Meyering  <meyering@redhat.com>
16028
16029         vc-list-files: indent with spaces, not TABs
16030         * build-aux/vc-list-files: Convert leading TABs to spaces,
16031         to match the style of most other files in gnulib.
16032
16033         announce-gen: indent with spaces, not TABs
16034         * build-aux/announce-gen: Convert all TABs to spaces, to match
16035         the style of most other files in gnulib.
16036
16037 2011-04-29  Eric Blake  <eblake@redhat.com>
16038
16039         quotearg: avoid uninitialized variable use
16040         * lib/quotearg.c (quoting_options_from_style): Initialize
16041         remaining fields, and ensure that custom styles are only used via
16042         quoting_options rather than quoting_style.
16043
16044 2011-04-29  Jim Meyering  <meyering@redhat.com>
16045
16046         maint.mk: remove unused VC-tag variable
16047         * top/maint.mk (VC-tag): Remove unused variable.
16048
16049 2011-04-29  Bruno Haible  <bruno@clisp.org>
16050
16051         netdb: fix gai_strerror replacements
16052         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
16053         * modules/netdb: Substitute it.
16054
16055 2011-04-29  Jim Meyering  <meyering@redhat.com>
16056
16057         test-getcwd.c: avoid new set-but-not-used warning
16058         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
16059         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
16060         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
16061         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
16062
16063         test-hash.c: avoid a new shadowing warning
16064         * tests/test-hash.c (main): Don't shadow "dup".
16065
16066 2011-04-28  Eric Blake  <eblake@redhat.com>
16067
16068         getaddrinfo: fix gai_strerror signature
16069         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
16070         and work around mingw with UNICODE defined.
16071         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
16072         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
16073         * modules/netdb (Makefile.am): Substitute it.
16074         * lib/netdb.in.h (gai_strerror): Declare replacement.
16075         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
16076         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
16077         the fix.
16078
16079         getsockopt: avoid compiler warning
16080         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
16081         Reported by Matthias Bolte.
16082
16083         tests: drop unused link dependency
16084         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
16085         * modules/dirent-safer-tests (Makefile.am): Likewise.
16086         * modules/fdopendir-tests (Makefile.am): Likewise.
16087         * modules/mkfifoat-tests (Makefile.am): Likewise.
16088         * modules/openat-safer-tests (Makefile.am): Likewise.
16089         * modules/openat-tests (Makefile.am): Likewise.
16090         * modules/readlinkat-tests (Makefile.am): Likewise.
16091         * modules/symlinkat-tests (Makefile.am): Likewise.
16092         * modules/linkat-tests (Makefile.am): Likewise.
16093         (Depends-on): Switch to filenamecat-lgpl.
16094         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
16095         LIBINTL.
16096         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
16097         * tests/test-linkat.c (main): Don't require xalloc.
16098
16099         hash, mgetgroups: drop xalloc dependency
16100         * lib/hash.c (includes): Adjust includes.
16101         * lib/mgetgroups.c (includes): Likewise.
16102         (xgetgroups): Move...
16103         * lib/xgetgroups.c: ...to new file.
16104         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
16105         * modules/xgetgroups: New file, split from...
16106         * modules/mgetgroups: ...here.
16107         (Depends-on): Add xalloc-oversized.
16108         * modules/hash (Depends-on): Likewise.
16109         * modules/hash-tests (Depends-on): Drop xalloc.
16110         (test_hash_LDADD): Drop unused library.
16111         * tests/test-hash.c (main): Break xalloc dependency.
16112         (includes): Drop unused include.
16113
16114         xalloc-oversized: new module
16115         * modules/xalloc-oversized: New module.
16116         * modules/xalloc (Depends-on): Add it.
16117         * lib/xalloc.h (xalloc_oversized): Move...
16118         * lib/xalloc-oversized.h: ...into new file.
16119
16120         utimecmp: drop dependency on xmalloc
16121         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
16122         due to memory pressure.
16123         * modules/utimecmp (Depends-on): Drop xalloc.
16124
16125 2011-04-27  Eric Blake  <eblake@redhat.com>
16126
16127         getcwd: fix mingw bugs
16128         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
16129         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
16130         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
16131
16132 2011-04-27  Bruno Haible  <bruno@clisp.org>
16133
16134         mkstemps: Ensure declaration on MacOS X 10.5.
16135         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
16136         * doc/glibc-functions/mkstemps.texi: Document header file problem on
16137         MacOS X.
16138
16139 2011-04-27  Bruno Haible  <bruno@clisp.org>
16140
16141         mkstemp: More documentation.
16142         * doc/posix-functions/mkstemp.texi: Document header file problem on
16143         MacOS X.
16144
16145 2011-04-27  Bruno Haible  <bruno@clisp.org>
16146
16147         mkstemp: Tweak configure message when cross-compiling.
16148         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
16149         result as a guess.
16150
16151 2011-04-27  Bruno Haible  <bruno@clisp.org>
16152
16153         clean-temp: Clarify what it does.
16154         * lib/clean-temp.h: Add more comments.
16155         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
16156         module.
16157         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
16158         * doc/glibc-functions/mkstemps.texi: Likewise.
16159         * doc/glibc-functions/mkostemps.texi: Likewise.
16160
16161 2011-04-27  Eric Blake  <eblake@redhat.com>
16162
16163         fchdir: avoid extra chdir and fix test
16164         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
16165         getcwd-lgpl.
16166         * lib/fchdir.c (get_name): Any absolute name will do; it does not
16167         have to be canonical.
16168         (canonicalize_file_name): Drop unused macro.
16169         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
16170
16171         filenamecat-lgpl: fix licence
16172         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
16173         when it was first created.
16174
16175         linkat, renameat: add missing dependency
16176         * modules/linkat (Depends-on): Require getcwd-lgpl.
16177         * modules/renameat (Depends-on): Likewise.
16178
16179         tests: reduce dependencies
16180         * tests/test-linkat.c (main): Use lighter-weight getcwd.
16181         * tests/test-renameat.c (main): Likewise.
16182         * modules/linkat-tests (Depends-on): Relax dependency.
16183         * modules/renameat-tests (Depends-on): Likewise.
16184         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
16185         dependency explicit.
16186
16187         save-cwd: reduce default dependency
16188         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
16189         * lib/save-cwd.c: Update comments.
16190         * NEWS: Document the semantic change.
16191
16192         getcwd: enhance tests
16193         * tests/test-getcwd-lgpl.c: New file, taken from...
16194         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
16195         repeat long path stress tests from m4 probe.
16196         * modules/getcwd-lgpl-tests: New module.
16197         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
16198         * m4/getcwd-abort-bug.m4: Update comment.
16199         * m4/getcwd-path-max.m4: Likewise.
16200
16201         getcwd-lgpl: new module
16202         * modules/getcwd-lgpl: New module.
16203         * lib/getcwd-lgpl.c: New file.
16204         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16205         * MODULES.html.sh (lacking POSIX:2008): Likewise.
16206         * modules/getcwd (configure.ac): Set C witness.
16207         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
16208
16209         getcwd: tweak comments
16210         * m4/getcwd-abort-bug.m4: Fix comments.
16211         * m4/getcwd-path-max.m4: Likewise.
16212         * m4/getcwd.m4: Likewise.
16213
16214 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16215         and Eric Blake  <eblake@redhat.com>
16216
16217         mkstemp: replace if system version uses wrong permissions
16218         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
16219         read/write mode bits set in file created by mkstemp.
16220         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
16221
16222 2011-04-27  Eric Blake  <eblake@redhat.com>
16223
16224         passfd: avoid compiler warning
16225         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
16226         Reported by Laine Stump.
16227
16228 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
16229
16230         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
16231         required by the NetBSD (and perhaps other 4.4BSD derived) join.
16232
16233 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16234         and Eric Blake  <eblake@redhat.com>
16235
16236         mkstemp: mention clean-temp module
16237         * lib/mkstemp.c: Add comment.
16238         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16239
16240 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16241
16242         inttypes: also provide default values for 32-bit tests
16243         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16244         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16245
16246 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16247
16248         strtoumax: remove dependency on strtoimax
16249         This is like the strtoull change of yesterday.
16250         * modules/strtoumax (Files): Add lib/strtoimax.c.
16251         (Depends-on): Remove strtoimax and add verify.
16252
16253         inttypes-incomplete: new module
16254         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16255         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16256         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16257         of gl_INTTYPES_H.
16258         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16259         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16260         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16261         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16262         * modules/strtoumax, modules/xstrtol (Depends-on):
16263         Depend on inttypes-incomplete, not inttypes.
16264         * modules/inttypes-incomplete: New module, containing the contents
16265         of the old modules/inttypes module, except that the Files: section
16266         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16267         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16268         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16269         (Depends-on): Depend only on inttypes-incomplete.
16270         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16271
16272         inttypes: omit now-redundant strtoimax and strtoumax work
16273         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16274         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16275
16276         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16277         This supports apps that need pointers to strtoimax and strtoumax,
16278         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16279         nonexistent functions.  See
16280         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16281         et seq.
16282         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16283         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16284         a macro.
16285         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16286
16287 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16288
16289         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16290
16291 2011-04-25  Bruno Haible  <bruno@clisp.org>
16292
16293         strtol, strtoul: Mark modules as obsolete.
16294         * modules/strtol (Status, Notice): New sections.
16295         * modules/strtoul (Status, Notice): New sections.
16296
16297 2011-04-25  Bruno Haible  <bruno@clisp.org>
16298
16299         strtod: Remove check for strtod, unless supporting old platforms.
16300         * modules/strtod-obsolete: New file.
16301         * m4/strtod-obsolete.m4: New file.
16302         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16303         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16304         * modules/strtod (Depends-on): Add strtod-obsolete.
16305         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16306
16307 2011-04-25  Bruno Haible  <bruno@clisp.org>
16308
16309         strcase: Make module obsolete.
16310         * modules/strcase (Status, Notice): New sections.
16311
16312 2011-04-25  Bruno Haible  <bruno@clisp.org>
16313
16314         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16315         * modules/dup2-obsolete: New file.
16316         * m4/dup2-obsolete.m4: New file.
16317         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16318         gl_FUNC_DUP2_OBSOLETE is not also defined.
16319         * modules/dup2 (Depends-on): Add dup2-obsolete.
16320         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16321
16322 2011-04-25  Bruno Haible  <bruno@clisp.org>
16323
16324         strnlen: Avoid memchr related link error on old obsolete platforms.
16325         * modules/memchr-obsolete: New file.
16326         * m4/memchr-obsolete.m4: New file.
16327         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16328         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16329         * modules/memchr (Depends-on): Add memchr-obsolete.
16330         * modules/strnlen (Depends-on): Likewise.
16331         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
16332
16333 2011-04-25  Jim Meyering  <meyering@redhat.com>
16334
16335         maint.mk: makefile_at_at_check extend and clean up
16336         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
16337         in addition to */Makefile.am.
16338         Exempt legitimate uses of @VAR@ notation, e.g.,
16339         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
16340         Remove obsolete coreutils-specific comment.
16341         Prompted by discussion here:
16342         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
16343
16344 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16345
16346         strtoul: remove dependency on strtol
16347         This is so that 'configure' need not check for strtol merely because
16348         the application needs strtoul.
16349         * modules/strtoul (Files): Add lib/strtol.c.
16350         (Depends-on): Remove strtol.
16351
16352         strtoull: remove dependency on strtoul
16353         This is like the strtoll change.
16354         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16355         (Depends-on): Remove strtoul.
16356
16357         strtoll: remove dependency on strtol
16358         This is so that 'configure' need not check for strtol merely because
16359         the application needs strtoll.
16360         * modules/strtoll (Files): Add lib/strtol.c.
16361         (Depends-on): Remove strtol.
16362
16363 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16364
16365         inttypes: Move some configure check to module 'imaxdiv'.
16366         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16367         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16368         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16369
16370 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16371
16372         inttypes: Move some configure check to module 'imaxabs'.
16373         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16374         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16375         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16376
16377 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16378
16379         inttypes: Remove configure tests that are not needed since 2009-12-31.
16380         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16381         gl_cv_header_working_inttypes_h.
16382
16383 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16384
16385         * modules/strnlen (Depends-on): Remove memchr.
16386         The strnlen implementation doesn't need the memchr module's fixes; see
16387         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16388
16389         strtol: remove dependency on wchar
16390         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16391         * modules/strtol (Depends-on): Remove wchar.
16392
16393 2011-04-21  Eric Blake  <eblake@redhat.com>
16394
16395         passfd: fix test regression on Linux
16396         * modules/passfd-tests (configure.ac): Correct socketpair check.
16397
16398         passfd: speed up configure and drop unused code
16399         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16400         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16401         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16402         Instead of probing at configure for unix_scm_rights_bsd44_way,
16403         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16404         check to a struct member probe.
16405         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16406         (sendfd, recvfd): Update preprocessor checks.
16407         * modules/passfd (Files): Reflect rename, and drop unused file.
16408         (Depends-on): Drop unused dependency.
16409
16410         passfd: allow compilation on mingw
16411         * modules/sys_socket (Depends-on): Add sys_uio.
16412         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16413         iovec and a minimal struct msghdr.
16414         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16415         * tests/test-sys_socket.c (main): Enhance test.
16416         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16417         guaranteed to provide what we need.
16418         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16419         * modules/passfd-tests (Depends-on): Add sys_wait.
16420         * tests/test-passfd.c (main): Skip test on mingw, for now.
16421         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16422         partial 'struct msghdr' implementation.
16423
16424         sys_uio: new module
16425         * modules/sys_uio: New module.
16426         * modules/sys_uio-tests: Likewise.
16427         * lib/sys_uio.in.h: New file.
16428         * m4/sys_uio_h.m4: Likewise.
16429         * tests/test-sys_uio.c: Likewise.
16430         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16431         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16432
16433 2011-04-20  Jim Meyering  <meyering@redhat.com>
16434
16435         useless-if-before-free: avoid false-positive
16436         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16437         disjunct so that it too requires a terminating ";".  Without that,
16438         this script would identify as useless one statement from gcc that
16439         was not:
16440           if (aligned_ptr)
16441             free (((void **) aligned_ptr) [-1]);
16442
16443 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16444
16445         doc: update users.txt.
16446         * users.txt: Add barcode.
16447
16448 2011-04-19  Bruno Haible  <bruno@clisp.org>
16449
16450         ioctl: Remove link dependency on native Windows.
16451         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16452         (gl_close_fn, gl_ioctl_fn): New types.
16453         (struct fd_hook): Renamed from struct close_hook. Change type of
16454         private_close_fn field. Add private_ioctl_fn field.
16455         (close_hook_fn): Add parameter for primary close method.
16456         (execute_close_hooks, execute_all_close_hooks): Likewise.
16457         (ioctl_hook_fn): New type.
16458         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16459         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16460         argument.
16461         (unregister_fd_hook): Renamed from unregister_close_hook.
16462         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16463         Don't include <unistd.h>.
16464         (close): Remove undef.
16465         (anchor): Update.
16466         (execute_close_hooks): Add argument for primary close method.
16467         (execute_all_close_hooks): Likewise.
16468         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16469         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16470         argument. Allow each argument to be NULL.
16471         (unregister_fd_hook): Renamed from unregister_close_hook.
16472         * lib/close.c (rpl_close): Pass 'close' function pointer to
16473         execute_all_close_hooks.
16474         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16475         (primary_ioctl): New function.
16476         (ioctl): Don't call ioctlsocket here. Instead, call
16477         execute_all_ioctl_hooks.
16478         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16479         close method.
16480         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16481         (fd_sockets_hook): Renamed from close_sockets_hook.
16482         (gl_sockets_startup, gl_sockets_cleanup): Update.
16483         * modules/fd-hook: Renamed from modules/close-hook. Update.
16484         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16485         * modules/sockets (Depends-on): Likewise.
16486         * modules/ioctl (Depends-on): Add fd-hook.
16487         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16488         GNULIB_SOCKET.
16489
16490 2011-04-19  Bruno Haible  <bruno@clisp.org>
16491
16492         Move the support of O_NONBLOCK in open() to the 'open' module.
16493         * modules/nonblocking (Depends-on): Remove 'open'.
16494         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16495         gl_cv_have_open_O_NONBLOCK.
16496         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16497         O_NONBLOCK support.
16498         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16499
16500 2011-04-17  Bruno Haible  <bruno@clisp.org>
16501
16502         pipe2: Simplify code.
16503         * lib/pipe2.c (pipe2): Reduce code duplication.
16504
16505 2011-04-17  Bruno Haible  <bruno@clisp.org>
16506
16507         nonblocking: Add comment.
16508         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16509
16510 2011-04-17  Bruno Haible  <bruno@clisp.org>
16511
16512         nonblocking: Add tests for sockets.
16513         * tests/test-nonblocking-socket.sh: New file.
16514         * tests/test-nonblocking-socket-main.c: New file.
16515         * tests/test-nonblocking-socket-child.c: New file.
16516         * tests/test-nonblocking-socket.h: New file.
16517         * tests/socket-server.h: New file.
16518         * tests/socket-client.h: New file.
16519         * modules/nonblocking-socket-tests: New file.
16520         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16521
16522 2011-04-17  Bruno Haible  <bruno@clisp.org>
16523
16524         nonblocking: Add tests for pipes.
16525         * tests/test-nonblocking-pipe.sh: New file.
16526         * tests/test-nonblocking-pipe-main.c: New file.
16527         * tests/test-nonblocking-pipe-child.c: New file.
16528         * tests/test-nonblocking-pipe.h: New file.
16529         * tests/test-nonblocking-writer.h: New file.
16530         * tests/test-nonblocking-reader.h: New file.
16531         * tests/test-nonblocking-misc.h: New file.
16532         * modules/nonblocking-pipe-tests: New file.
16533         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16534
16535 2011-04-16  Bruno Haible  <bruno@clisp.org>
16536
16537         gettext: Clarify the needed programmer actions.
16538         * modules/gettext (Notice): New field.
16539         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16540
16541 2011-04-16  Bruno Haible  <bruno@clisp.org>
16542
16543         strchrnul: Tweak last commit.
16544         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16545         bug.
16546         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16547         as in _GL_FUNCDECL_SYS.
16548         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16549         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16550
16551 2011-04-15  Eric Blake  <eblake@redhat.com>
16552
16553         strchrnul: work around cygwin bug
16554         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16555         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16556         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16557         * modules/string (Makefile.am): Substitute it.
16558         * lib/string.in.h (strchrnul): Use it.
16559
16560 2011-04-15  Bruno Haible  <bruno@clisp.org>
16561
16562         Don't require lib/stdio-write.c when only module 'stdio' is used.
16563         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16564         invocation.
16565         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16566
16567 2011-04-14  Bruno Haible  <bruno@clisp.org>
16568
16569         Support non-blocking pipe I/O in read() on native Windows.
16570         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16571         (read): New declaration.
16572         * lib/read.c: New file.
16573         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16574         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16575         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16576         vscanf): New declarations.
16577         * lib/stdio-read.c: New file.
16578         * m4/read.m4: New file.
16579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16580         REPLACE_READ.
16581         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16582         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16583         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16584         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16585         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16586         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16587         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16588         * modules/read: New file.
16589         * modules/nonblocking (Files): Add lib/stdio-read.c.
16590         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16591         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16592         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16593         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16594         * modules/pread (Depends-on): Add read.
16595         * modules/safe-read (Depends-on): Likewise.
16596         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16597         gets, scanf, vfscanf, vscanf): Verify signatures.
16598         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16599         problem with non-blocking pipes.
16600         * doc/posix-functions/fgetc.texi: Likewise.
16601         * doc/posix-functions/fgets.texi: Likewise.
16602         * doc/posix-functions/fread.texi: Likewise.
16603         * doc/posix-functions/fscanf.texi: Likewise.
16604         * doc/posix-functions/getc.texi: Likewise.
16605         * doc/posix-functions/getchar.texi: Likewise.
16606         * doc/posix-functions/gets.texi: Likewise.
16607         * doc/posix-functions/scanf.texi: Likewise.
16608         * doc/posix-functions/vfscanf.texi: Likewise.
16609         * doc/posix-functions/vscanf.texi: Likewise.
16610
16611 2011-04-14  Bruno Haible  <bruno@clisp.org>
16612
16613         Support non-blocking pipe I/O in write() on native Windows.
16614         * lib/write.c (rpl_write): Split a write request that failed merely
16615         because the byte count was larger than the pipe buffer's size.
16616         * doc/posix-functions/write.texi: Mention the problem with large byte
16617         counts.
16618
16619 2011-04-14  Bruno Haible  <bruno@clisp.org>
16620
16621         wchar: Ensure that wchar_t gets defined on uClibc.
16622         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16623         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16624
16625 2011-04-13  Bruno Haible  <bruno@clisp.org>
16626
16627         safe-write, full-read: Avoid unnecessary compilation units.
16628         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16629         (Depends-on): Remove safe-read. Add ssize_t.
16630         * modules/full-read (Files): Add lib/full-write.c.
16631         (Depends-on): Add full-write.
16632
16633 2011-04-13  Bruno Haible  <bruno@clisp.org>
16634
16635         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16636         * modules/pwrite (Depends-on): Add 'write'.
16637
16638 2011-04-13  Bruno Haible  <bruno@clisp.org>
16639
16640         Support non-blocking pipe I/O in write() on native Windows.
16641         * lib/unistd.in.h (write): Enable replacement also if
16642         GNULIB_UNISTD_H_NONBLOCKING is 1.
16643         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16644         (rpl_write): When failing to write on a non-blocking pipe, change
16645         errno from ENOSPC to EAGAIN.
16646         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16647         putchar, puts, vfprintf, vprintf): Enable replacement also if
16648         GNULIB_STDIO_H_NONBLOCKING is 1.
16649         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16650         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16651         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16652         CALL_WITH_SIGPIPE_EMULATION.
16653         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16654         * m4/nonblocking.m4: New file.
16655         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16656         for non-blocking I/O support.
16657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16658         GNULIB_UNISTD_H_NONBLOCKING.
16659         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16660         required for non-blocking I/O support.
16661         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16662         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16663         lib/stdio-write.c, m4/asm-underscore.m4.
16664         (Depends-on): Add stdio, unistd.
16665         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16666         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16667         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16668         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16669         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16670         problem with non-blocking pipes.
16671         * doc/posix-functions/fputc.texi: Likewise.
16672         * doc/posix-functions/fputs.texi: Likewise.
16673         * doc/posix-functions/fwrite.texi: Likewise.
16674         * doc/posix-functions/printf.texi: Likewise.
16675         * doc/posix-functions/putc.texi: Likewise.
16676         * doc/posix-functions/putchar.texi: Likewise.
16677         * doc/posix-functions/puts.texi: Likewise.
16678         * doc/posix-functions/vfprintf.texi: Likewise.
16679         * doc/posix-functions/vprintf.texi: Likewise.
16680         * doc/posix-functions/write.texi: Likewise.
16681
16682 2011-04-10  Jim Meyering  <meyering@redhat.com>
16683
16684         maint.mk: prohibit doubled words
16685         Detect them also when they're separated by a newline.
16686         There are 3 ways to customize it:
16687           - disable the test on a per file basis, as usual with rules using
16688             $(VC_LIST_EXCEPT)
16689           - replace the default doubled-word-selecting regexp (affects all files)
16690           - ignore a particular file-vs-doubled-word match
16691         I nearly used that last one to ignore the "is is" match in
16692         coreutils' NEWS file, since the text was "ls -is is ..."
16693         To do that, I would have added this line to cfg.mk:
16694           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16695         but it would have ignored any "is is" match in NEWS.
16696         Low probability, but still...
16697         Instead, I changed the text, slightly:
16698           -  ls -is is now consistent with ls -lis in ignoring values returned
16699           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16700         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16701         (prohibit_doubled_word_): Define.
16702         (sc_prohibit_doubled_word): New rule.
16703         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16704
16705 2011-04-10  Jim Meyering  <meyering@redhat.com>
16706
16707         maint: fix doubled-word typo in comment
16708         * m4/gethostname.m4: s/is is/it is/
16709         * m4/getdomainname.m4: Likewise.
16710
16711 2011-04-10  Jim Meyering  <meyering@redhat.com>
16712
16713         maint: remove doubled word: s/it it/it/
16714         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16715
16716 2011-04-10  Jim Meyering  <meyering@redhat.com>
16717
16718         maint.mk: remove useless semicolon and backslash
16719         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16720         semicolon and backslash.
16721
16722 2011-04-10  Bruno Haible  <bruno@clisp.org>
16723
16724         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16725         * modules/stdint-tests (Depends-on): Add wchar.
16726
16727 2011-04-10  Jim Meyering  <meyering@redhat.com>
16728
16729         maint: remove doubled words in comments, e.g., s/a a/a/
16730         * lib/strptime.c (day_of_the_week): s/the the/the/
16731         * tests/test-chown.h (test_chown): s/a a/a/
16732
16733         test-chown.h: correct a cast
16734         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16735         when the destination is a stat.st_gid.
16736
16737 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16738
16739         getaddrinfo: Fix test for sa_len member.
16740         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16741         include <sys/types.h> before <sys/socket.h>.
16742
16743 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16744
16745         maint: change "can not" to "cannot"
16746         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16747         boundaries.
16748
16749 2011-04-09  Jim Meyering  <meyering@redhat.com>
16750
16751         maint: change "a a" to "a"
16752         * tests/test-lchown.h (test_lchown): s/a a/a/
16753
16754         maint.mk: prohibit \<the the\>
16755         * top/maint.mk (sc_prohibit_the_the): New rule.
16756
16757         maint: fix "the the" in comment
16758         * lib/count-one-bits.h: s/the the/the/
16759
16760         maint: change "can not" to "cannot"
16761         But do not change the occurrences in maintain.texi or in
16762         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16763         * doc/gnulib-tool.texi: s/can not/cannot/
16764         * doc/posix-functions/accept.texi (accept): Likewise.
16765         * doc/posix-functions/socket.texi (socket): Likewise.
16766         * lib/mbrtowc.c: Likewise.
16767
16768         maint.mk: prohibit use of "can not"
16769         * top/maint.mk (sc_prohibit_can_not): New rule.
16770         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16771
16772 2011-04-09  Bruno Haible  <bruno@clisp.org>
16773
16774         careadlinkat: Guard against misuse of careadlinkatcwd.
16775         * lib/careadlinkat.c: Include <stdlib.h>.
16776         (careadlinkatcwd): Check that the fd argument is as expected.
16777
16778 2011-04-09  Bruno Haible  <bruno@clisp.org>
16779
16780         careadlinkat: Use common coding style.
16781         * lib/careadlinkat.c: Move gnulib includes after system includes.
16782
16783 2011-04-09  Bruno Haible  <bruno@clisp.org>
16784
16785         careadlinkat: Clarify specification.
16786         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16787         (careadlinkatcwd): Add comment.
16788         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16789
16790 2011-04-09  Bruno Haible  <bruno@clisp.org>
16791
16792         areadlinkat: Avoid link error on many platforms.
16793         * modules/areadlinkat (Depends-on): Add areadlink.
16794
16795 2011-04-09  Bruno Haible  <bruno@clisp.org>
16796
16797         allocator, careadlinkat: Fix double-inclusion guard.
16798         * lib/allocator.h: Fix double-inclusion guard.
16799         * lib/careadlinkat.h: Likewise.
16800
16801 2011-04-09  Bruno Haible  <bruno@clisp.org>
16802
16803         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16804         * lib/relocwrapper.c: Update dependencies hierarchy.
16805         * build-aux/install-reloc: Update list of files to be compiled.
16806         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16807         lib/allocator.[hc].
16808
16809 2011-04-08  Eric Blake  <eblake@redhat.com>
16810
16811         strftime: silence gnulib-tool warning
16812         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16813
16814 2011-04-08  Bruno Haible  <bruno@clisp.org>
16815
16816         verify: Fix syntax error with GCC 4.6 in C++ mode.
16817         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16818         (HAVE_STATIC_ASSERT): New macro.
16819         (verify_true, verify): Use 'static_assert' if it is supported and
16820         '_Static_assert' is not supported.
16821
16822 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16823
16824         allocator: New module.
16825         * modules/allocator, lib/allocator.c: New files.
16826         * lib/allocator.h (stdlib_allocator): New decl.
16827         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16828         Remove.  Do not include <stdlib.h>.
16829         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16830         * modules/careadlinkat (Files): Remove lib/allocator.h.
16831         (Depends-on): Add allocator.
16832
16833         stdlib: let modules use system malloc, realloc
16834         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16835         if !_GL_USE_STDLIB_ALLOC.
16836         (malloc, realloc): Limit this change to a smaller scope.
16837
16838         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16839         (malloc, realloc): Don't #undef; no longer needed.
16840         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16841         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16842         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16843         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16844         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16845         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16846         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16847         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16848
16849         careadlinkat: rename members to avoid problem
16850         * lib/allocator.h (struct allocator): Rename members from
16851         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16852         and realloc are #define'd.  Reported by Eric Blake in
16853         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16854         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16855
16856 2011-04-08  Eric Blake  <eblake@redhat.com>
16857
16858         nonblocking: reduce dependency
16859         * tests/test-nonblocking.c: Only test sockets when in use.
16860         * modules/nonblocking-tests (Depends-on): Drop socket.
16861         (Makefile.am): Link even if sockets are not present.
16862         * modules/pipe2-tests (Makefile.am): Likewise.
16863         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16864
16865         pipe2: fix O_NONBLOCK support on mingw
16866         * modules/pipe2 (Depends-on): Add nonblocking.
16867         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16868         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16869         * tests/test-nonblocking.c (main): Likewise.
16870         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16871
16872         fcntl-h: fix O_ACCMODE on cygwin
16873         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16874         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16875
16876         pipe-filter: drop O_NONBLOCK workarounds
16877         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16878         * modules/pipe-filter-ii (Depends-on): Likewise.
16879         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16880
16881         nonblocking: provide O_NONBLOCK for mingw
16882         * modules/nonblocking (Depends-on): Add open.
16883         (configure.ac): Set new witness macro.
16884         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16885         * modules/fcntl-h (Makefile.am): Substitute it.
16886         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16887         nonblocking module is in use.
16888         * lib/nonblocking.c: Adjust portability test.
16889         * lib/open.c (open): Don't let native open see gnulib flag.
16890         * tests/test-fcntl-h.c (main): Enhance test.
16891         * tests/test-open.h (test_open): Likewise.
16892         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16893
16894         careadlinkat: fix compilation error on mingw
16895         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16896         within struct allocator.
16897
16898 2011-04-06  Eric Blake  <eblake@redhat.com>
16899
16900         binary-io: relicense under LGPLv2+
16901         * modules/binary-io (License): Relax to LGPLv2+.
16902         Requested for libvirt, and required by pipe2.
16903
16904 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16905
16906         verify: use _Static_assert if available
16907         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16908         (verify_true, verify): Use it if available.  This generates better
16909         diagnostics with GCC 4.6.0 and later.
16910
16911 2011-04-05  Bruno Haible  <bruno@clisp.org>
16912
16913         Remove leftover generated .h files after config.status changed.
16914
16915         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16916         GL_GENERATE_ALLOCA_H.
16917         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16918         GL_GENERATE_ALLOCA_H evaluates to false.
16919
16920         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16921         GL_GENERATE_ARGZ_H.
16922         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16923         evaluates to false.
16924
16925         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16926         GL_GENERATE_BYTESWAP_H.
16927         * modules/byteswap (Makefile.am): Remove byteswap.h if
16928         GL_GENERATE_BYTESWAP_H evaluates to false.
16929
16930         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16931         GL_GENERATE_ERRNO_H.
16932         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16933         evaluates to false.
16934
16935         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16936         GL_GENERATE_FLOAT_H.
16937         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16938         evaluates to false.
16939
16940         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16941         GL_GENERATE_FNMATCH_H.
16942         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16943         GL_GENERATE_FNMATCH_H evaluates to false.
16944
16945         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16946         GL_GENERATE_GLOB_H.
16947         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16948         evaluates to false.
16949
16950         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16951         automake conditional GL_GENERATE_ICONV_H.
16952         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16953         evaluates to false.
16954
16955         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16956         GL_GENERATE_NETINET_IN_H.
16957         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16958         GL_GENERATE_NETINET_IN_H evaluates to false.
16959
16960         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16961         conditional GL_GENERATE_PTHREAD_H.
16962         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16963         * modules/pthread (Makefile.am): Remove pthread.h if
16964         GL_GENERATE_PTHREAD_H evaluates to false.
16965
16966         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16967         GL_GENERATE_SCHED_H.
16968         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16969         evaluates to false.
16970
16971         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16972         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16973         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16974         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16975
16976         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16977         GL_GENERATE_STDARG_H.
16978         * modules/stdarg (Makefile.am): Remove stdarg.h if
16979         GL_GENERATE_STDARG_H evaluates to false.
16980
16981         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16982         GL_GENERATE_STDBOOL_H.
16983         * modules/stdbool (Makefile.am): Remove stdbool.h if
16984         GL_GENERATE_STDBOOL_H evaluates to false.
16985
16986         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16987         conditional GL_GENERATE_STDDEF_H.
16988         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16989         * modules/stddef (Makefile.am): Remove stddef.h if
16990         GL_GENERATE_STDDEF_H evaluates to false.
16991
16992         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16993         GL_GENERATE_STDINT_H.
16994         * modules/stdint (Makefile.am): Remove stdint.h if
16995         GL_GENERATE_STDINT_H evaluates to false.
16996
16997         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16998         GL_GENERATE_SYSEXITS_H.
16999         * modules/sysexits (Makefile.am): Remove sysexits.h if
17000         GL_GENERATE_SYSEXITS_H evaluates to false.
17001
17002         Reported by Karl Berry and Ralf Wildenhues.
17003
17004 2011-04-05  Bruno Haible  <bruno@clisp.org>
17005
17006         Ensure to rebuild generated .h files when config.status has changed.
17007         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
17008         config.status.
17009         * modules/ctype (Makefile.am): Likewise.
17010         * modules/dirent (Makefile.am): Likewise.
17011         * modules/errno (Makefile.am): Likewise.
17012         * modules/fcntl-h (Makefile.am): Likewise.
17013         * modules/float (Makefile.am): Likewise.
17014         * modules/getopt-posix (Makefile.am): Likewise.
17015         * modules/glob (Makefile.am): Likewise.
17016         * modules/iconv-h (Makefile.am): Likewise.
17017         * modules/inttypes (Makefile.am): Likewise.
17018         * modules/langinfo (Makefile.am): Likewise.
17019         * modules/locale (Makefile.am): Likewise.
17020         * modules/math (Makefile.am): Likewise.
17021         * modules/netdb (Makefile.am): Likewise.
17022         * modules/netinet_in (Makefile.am): Likewise.
17023         * modules/poll-h (Makefile.am): Likewise.
17024         * modules/pthread (Makefile.am): Likewise.
17025         * modules/pty (Makefile.am): Likewise.
17026         * modules/sched (Makefile.am): Likewise.
17027         * modules/search (Makefile.am): Likewise.
17028         * modules/selinux-h (Makefile.am): Likewise.
17029         * modules/signal (Makefile.am): Likewise.
17030         * modules/spawn (Makefile.am): Likewise.
17031         * modules/stdarg (Makefile.am): Likewise.
17032         * modules/stdbool (Makefile.am): Likewise.
17033         * modules/stddef (Makefile.am): Likewise.
17034         * modules/stdint (Makefile.am): Likewise.
17035         * modules/stdio (Makefile.am): Likewise.
17036         * modules/stdlib (Makefile.am): Likewise.
17037         * modules/string (Makefile.am): Likewise.
17038         * modules/strings (Makefile.am): Likewise.
17039         * modules/sys_file (Makefile.am): Likewise.
17040         * modules/sys_ioctl (Makefile.am): Likewise.
17041         * modules/sys_select (Makefile.am): Likewise.
17042         * modules/sys_socket (Makefile.am): Likewise.
17043         * modules/sys_stat (Makefile.am): Likewise.
17044         * modules/sys_time (Makefile.am): Likewise.
17045         * modules/sys_times (Makefile.am): Likewise.
17046         * modules/sys_utsname (Makefile.am): Likewise.
17047         * modules/sys_wait (Makefile.am): Likewise.
17048         * modules/sysexits (Makefile.am): Likewise.
17049         * modules/termios (Makefile.am): Likewise.
17050         * modules/time (Makefile.am): Likewise.
17051         * modules/unistd (Makefile.am): Likewise.
17052         * modules/wchar (Makefile.am): Likewise.
17053         * modules/wctype-h (Makefile.am): Likewise.
17054         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
17055
17056 2011-04-05  Bruno Haible  <bruno@clisp.org>
17057
17058         pipe2: Relicense under LGPLv2+.
17059         * modules/pipe2 (License): Change to LGPLv2+.
17060         Requested by Eric Blake, for libvirt.
17061
17062 2011-04-05  Bruce Korb  <bkorb@gnu.org>
17063
17064         bootstrap: compute gnulib_extra_files after updating build_aux
17065         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
17066         change build_aux or also supply gnulib_extra_files.  Handle correctly.
17067
17068 2011-04-05  Eric Blake  <eblake@redhat.com>
17069
17070         bootstrap: preserve git whitelist item sorting
17071         * build-aux/bootstrap (sort_patterns): New function.
17072         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
17073
17074 2011-04-05  Simon Josefsson  <simon@josefsson.org>
17075
17076         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
17077         sc_space_tab check.
17078
17079 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
17080
17081         areadlink, areadlinkat: rewrite in terms of careadlinkat
17082         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
17083         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
17084         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
17085         (malloc, realloc): Remove #undefs.
17086         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
17087         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
17088         readlink, ssize_t, stdint, unistd.
17089         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
17090         areadlink, stdint.
17091
17092         careadlinkat: new module
17093         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
17094         * modules/careadlinkat: New files, written by me with
17095         a review and feedback from Ben Pfaff in
17096         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
17097
17098 2011-04-01  Bruno Haible  <bruno@clisp.org>
17099
17100         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
17101         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
17102         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
17103         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
17104         Reported by Bruce Korb <bruce.korb@gmail.com>.
17105
17106 2011-04-01  Bruno Haible  <bruno@clisp.org>
17107
17108         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
17109         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
17110         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
17111         * modules/wcpcpy (Depends-on): Add extensions.
17112         * modules/wcpncpy (Depends-on): Likewise.
17113         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
17114         systems.
17115         * doc/posix-functions/wcpncpy.texi: Likewise.
17116         * doc/posix-functions/wcwidth.texi: Likewise.
17117
17118 2011-03-31  Eric Blake  <eblake@redhat.com>
17119
17120         nonblocking: fix mingw test failures
17121         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
17122         non-blocking flag on regular file.
17123         (get_nonblocking_flag): Set errno on invalid fd.
17124         * tests/test-nonblocking.c (main): Avoid test failure on
17125         directories if fchdir is not active.
17126         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
17127
17128 2011-03-31  Bruno Haible  <bruno@clisp.org>
17129
17130         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
17131         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
17132         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
17133         Reported by Simon Josefsson <simon@josefsson.org>.
17134
17135 2011-03-31  Bruno Haible  <bruno@clisp.org>
17136         and Eric Blake  <eblake@redhat.com>
17137
17138         nonblocking: new module
17139         * modules/nonblocking: New module.
17140         * modules/nonblocking-tests: Likewise.
17141         * lib/nonblocking.h: New file.
17142         * lib/nonblocking.c: Likewise.
17143         * tests/test-nonblocking.c: New test.
17144         * lib/ioctl.c (ioctl) [mingw]: Update comment.
17145
17146 2011-03-30  Bruno Haible  <bruno@clisp.org>
17147
17148         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
17149         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
17150         instead of 'printf' format for GCC >= 4.4.
17151         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
17152         (fprintf, printf, vfprintf, vprintf): Declare with
17153         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
17154         the system's vfprintf() function.
17155         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
17156
17157 2011-03-30  Eric Blake  <eblake@redhat.com>
17158
17159         passfd: fix scoping bug
17160         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
17161         before sendmsg/recvmsg.
17162
17163         passfd: standardize coding conventions
17164         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
17165         can be learned at compile time.
17166         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
17167         ifdefs.
17168         (sendfd, recvfd): Follow gnulib code conventions.
17169
17170         passfd: fix incorrect sendmsg arguments
17171         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
17172         incorrect msg_controllen value.
17173         * modules/passfd-tests (Depends-on): Check for alarm.
17174         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
17175         Reported by Bastien ROUCARIES.
17176
17177 2011-03-30  Bruno Haible  <bruno@clisp.org>
17178
17179         c-strcasestr: Relicense under LGPLv2+.
17180         * modules/c-strcasestr (License): Change to LGPLv2+.
17181         Requested by Eric Blake, for libvirt.
17182
17183 2011-03-30  Simon Josefsson  <simon@josefsson.org>
17184
17185         * users.txt: Add libidn2.  Fix libtasn1 link.
17186
17187 2011-03-30  Jim Meyering  <meyering@redhat.com>
17188
17189         tests: readlink* ("",... fails with EINVAL on newer kernels
17190         readlink and readlinkat have typically failed with ENOENT for
17191         the invalid, empty file name,  "".  However, with the advent
17192         of linux-2.6.39, they fail with EINVAL.
17193         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
17194         when operating on the empty file name.
17195         * tests/test-readlink.h (test_readlink): Likewise.
17196
17197 2011-03-29  Bruno Haible  <bruno@clisp.org>
17198
17199         Relicense some modules under LGPLv2+, for libidn2.
17200         * modules/array-mergesort (License): Change to LGPLv2+.
17201         * modules/c-strcaseeq (License): Likewise.
17202         * modules/striconveh (License): Likewise.
17203         * modules/striconveha (License): Likewise.
17204         * modules/uniconv/base (License): Likewise.
17205         * modules/uniconv/u8-conv-from-enc (License): Likewise.
17206         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
17207         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
17208         * modules/unictype/base (License): Likewise.
17209         * modules/unictype/bidiclass-of (License): Likewise.
17210         * modules/unictype/category-M (License): Likewise.
17211         * modules/unictype/category-none (License): Likewise.
17212         * modules/unictype/category-of (License): Likewise.
17213         * modules/unictype/category-test (License): Likewise.
17214         * modules/unictype/category-test-withtable (License): Likewise.
17215         * modules/unictype/combining-class (License): Likewise.
17216         * modules/unictype/joiningtype-of (License): Likewise.
17217         * modules/unictype/scripts (License): Likewise.
17218         * modules/uninorm/base (License): Likewise.
17219         * modules/uninorm/canonical-decomposition (License): Likewise.
17220         * modules/uninorm/composition (License): Likewise.
17221         * modules/uninorm/decompose-internal (License): Likewise.
17222         * modules/uninorm/decomposition-table (License): Likewise.
17223         * modules/uninorm/nfc (License): Likewise.
17224         * modules/uninorm/nfd (License): Likewise.
17225         * modules/uninorm/u32-normalize (License): Likewise.
17226         * modules/unistr/base (License): Likewise.
17227         * modules/unistr/u32-cpy (License): Likewise.
17228         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
17229         * modules/unistr/u32-to-u8 (License): Likewise.
17230         * modules/unistr/u32-uctomb (License): Likewise.
17231         * modules/unistr/u8-check (License): Likewise.
17232         * modules/unistr/u8-mblen (License): Likewise.
17233         * modules/unistr/u8-mbtouc (License): Likewise.
17234         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17235         * modules/unistr/u8-mbtoucr (License): Likewise.
17236         * modules/unistr/u8-prev (License): Likewise.
17237         * modules/unistr/u8-strlen (License): Likewise.
17238         * modules/unistr/u8-to-u32 (License): Likewise.
17239         * modules/unistr/u8-uctomb (License): Likewise.
17240         * modules/unitypes (License): Likewise.
17241         Requested by Simon Josefsson.
17242
17243 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17244
17245         lib-symbol-visibility: Add a notice.
17246         * modules/lib-symbol-visibility (Notice): New field.
17247
17248 2011-03-29  Bruno Haible  <bruno@clisp.org>
17249
17250         getaddrinfo: Doc fix.
17251         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17252         section "fixed in Gnulib".
17253
17254 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17255
17256         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17257         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17258
17259 2011-03-26  Bruno Haible  <bruno@clisp.org>
17260
17261         unictype/property-byname: Reduce the number of load-time relocations.
17262         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17263         (UC_PROPERTY_INDEX_*): New enumeration values.
17264         (uc_property_byname): Convert an index from the lookup table to an
17265         uc_property_t.
17266         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17267         values.
17268
17269 2011-03-26  Bruno Haible  <bruno@clisp.org>
17270
17271         unictype/property-byname: Allow omitted word separators and aliases.
17272         * lib/unictype/pr_byname.gperf: Add property names without word
17273         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17274         for 'space'.
17275
17276 2011-03-26  Bruno Haible  <bruno@clisp.org>
17277
17278         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17279         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17280         also hyphens to space.
17281         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17282         without spaces.
17283         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17284
17285 2011-03-26  Bruno Haible  <bruno@clisp.org>
17286
17287         unictype/joiningtype-byname: Recognize long names as well.
17288         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17289         a long name.
17290         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17291         unictype/joiningtype_byname.h.
17292         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17293         * lib/unictype/joiningtype_byname.gperf: New file.
17294         * modules/unictype/joiningtype-byname (Files): Add
17295         lib/unictype/joiningtype_byname.gperf.
17296         (Depends-on): Add gperf.
17297         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17298         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17299         long names.
17300
17301         Tests for module 'unictype/joiningtype-longname'.
17302         * modules/unictype/joiningtype-longname-tests: New file.
17303         * tests/unictype/test-joiningtype_longname.c: New file.
17304
17305         New module 'unictype/joiningtype-longname'.
17306         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17307         * lib/unictype/joiningtype_longname.c: New file.
17308         * modules/unictype/joiningtype-longname: New file.
17309         * modules/unictype/joiningtype-all (Depends-on): Add
17310         unictype/joiningtype-longname.
17311
17312 2011-03-26  Bruno Haible  <bruno@clisp.org>
17313
17314         unictype/bidiclass-byname: Recognize long names as well.
17315         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17316         name.
17317         * lib/unictype/bidi_byname.c: Include <string.h>,
17318         unictype/bidi_byname.h.
17319         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17320         * lib/unictype/bidi_byname.gperf: New file.
17321         * modules/unictype/bidiclass-byname (Files): Add
17322         lib/unictype/bidi_byname.gperf.
17323         (Depends-on): Add gperf.
17324         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17325         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17326         long names.
17327
17328         Tests for module 'unictype/bidiclass-longname'.
17329         * modules/unictype/bidiclass-longname-tests: New file.
17330         * tests/unictype/test-bidi_longname.c: New file.
17331
17332         New module 'unictype/bidiclass-longname'.
17333         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
17334         * lib/unictype/bidi_longname.c: New file.
17335         * modules/unictype/bidiclass-longname: New file.
17336         * modules/unictype/bidiclass-all (Depends-on): Add
17337         unictype/bidiclass-longname.
17338
17339 2011-03-26  Bruno Haible  <bruno@clisp.org>
17340
17341         unictype/bidi*: Rename modules.
17342         * modules/unictype/bidiclass-all: Renamed from
17343         modules/unictype/bidicategory-all.
17344         * modules/unictype/bidiclass-name: Renamed from
17345         modules/unictype/bidiclass-name.
17346         (Description): Update.
17347         * modules/unictype/bidiclass-name-tests: Renamed from
17348         modules/unictype/bidicategory-name-tests.
17349         * modules/unictype/bidiclass-byname: Renamed from
17350         modules/unictype/bidicategory-byname.
17351         (Description): Update.
17352         * modules/unictype/bidiclass-byname-tests: Renamed from
17353         modules/unictype/bidicategory-byname-tests.
17354         * modules/unictype/bidiclass-of: Renamed from
17355         modules/unictype/bidicategory-of.
17356         (Description): Update.
17357         * modules/unictype/bidiclass-of-tests: Renamed from
17358         modules/unictype/bidicategory-of-tests.
17359         * modules/unictype/bidiclass-test: Renamed from
17360         modules/unictype/bidicategory-test.
17361         (Description): Update.
17362         * modules/unictype/bidiclass-test-tests: Renamed from
17363         modules/unictype/bidicategory-test-tests.
17364         * modules/unictype/bidicategory-all: New file, a simple redirection.
17365         * modules/unictype/bidicategory-name: Likewise.
17366         * modules/unictype/bidicategory-byname: Likewise.
17367         * modules/unictype/bidicategory-of: Likewise.
17368         * modules/unictype/bidicategory-test: Likewise.
17369         * modules/unictype/property-bidi-* (Dependencies): Update.
17370         * lib/unictype/bidi_*.c: Update comment.
17371
17372 2011-03-26  Bruno Haible  <bruno@clisp.org>
17373
17374         unictype/bidi*: Rename functions, part 2.
17375         * modules/unictype/bidicategory-name (configure.ac): Update required
17376         libunistring version.
17377         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17378
17379 2011-03-25  Bruno Haible  <bruno@clisp.org>
17380
17381         New module 'unictype/combining-class-all'.
17382         * modules/unictype/combining-class-all: New file.
17383
17384         Tests for module 'unictype/combining-class-byname'.
17385         * modules/unictype/combining-class-byname-tests: New file.
17386         * tests/unictype/test-combiningclass_byname.c: New file.
17387
17388         New module 'unictype/combining-class-byname'.
17389         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17390         * lib/unictype/combiningclass_byname.c: New file.
17391         * lib/unictype/combiningclass_byname.gperf: New file.
17392         * modules/unictype/combining-class-byname: New file.
17393
17394         Tests for module 'unictype/combining-class-longname'.
17395         * modules/unictype/combining-class-longname-tests: New file.
17396         * tests/unictype/test-combiningclass_longname.c: New file.
17397
17398         New module 'unictype/combining-class-longname'.
17399         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17400         * lib/unictype/combiningclass_longname.c: New file.
17401         * modules/unictype/combining-class-longname: New file.
17402
17403         Tests for module 'unictype/combining-class-name'.
17404         * modules/unictype/combining-class-name-tests: New file.
17405         * tests/unictype/test-combiningclass_name.c: New file.
17406
17407         New module 'unictype/combining-class-name'.
17408         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17409         * lib/unictype/combiningclass_name.c: New file.
17410         * modules/unictype/combining-class-name: New file.
17411
17412 2011-03-25  Bruno Haible  <bruno@clisp.org>
17413
17414         unictype/combining-class: Rename source files.
17415         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17416         of unictype/combining.h.
17417         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17418         Update.
17419         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17420         * modules/unictype/combining-class (Description): Fix.
17421         (Files, Makefile.am): Update.
17422         * tests/unictype/test-combiningclass.c: Renamed from
17423         tests/unictype/test-combining.c.
17424         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17425
17426 2011-03-25  Bruno Haible  <bruno@clisp.org>
17427
17428         unictype: Update list of canonical combining classes.
17429         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17430
17431 2011-03-25  Bruno Haible  <bruno@clisp.org>
17432
17433         unictype/category-byname: Recognize long names as well.
17434         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17435         a long name.
17436         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17437         unictype/categ_byname.h.
17438         (UC_CATEGORY_INDEX_*): New enumeration values.
17439         (uc_general_category_byname): Use uc_general_category_lookup and
17440         convert from index to value.
17441         * lib/unictype/categ_byname.gperf: New file.
17442         * modules/unictype/category-byname (Files): Add
17443         lib/unictype/categ_byname.gperf.
17444         (Depends-on): Add gperf.
17445         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17446         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17447         long names.
17448
17449         Tests for module 'unictype/category-longname'.
17450         * modules/unictype/category-longname-tests: New file.
17451         * tests/unictype/test-categ_longname.c: New file.
17452
17453         New module 'unictype/category-longname'.
17454         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17455         * lib/unictype/categ_longname.c: New file.
17456         * modules/unictype/category-longname: New file.
17457         * modules/unictype/category-all (Depends-on): Add it.
17458
17459 2011-03-25  Bruno Haible  <bruno@clisp.org>
17460
17461         Tests for module 'unictype/category-LC'.
17462         * modules/unictype/category-LC-tests: New file.
17463         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17464
17465         New module 'unictype/category-LC'.
17466         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17467         (UC_CATEGORY_LC): New declaration.
17468         (UC_CASED_LETTER): New macro.
17469         * lib/gen-uni-tables.c (is_category_LC): New function.
17470         (output_categories): Also handle category LC.
17471         (UC_CATEGORY_MASK_LC): New enumeration value.
17472         (general_category_byname): Also handle category LC.
17473         * lib/unictype/categ_LC.c: New file.
17474         * lib/unictype/categ_LC.h: New file, automatically generated.
17475         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17476         category LC.
17477         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17478         * modules/unictype/category-LC: New file.
17479         * modules/unictype/category-byname (Depends-on): Add
17480         unictype/category-LC.
17481         * modules/unictype/category-all (Depends-on): Likewise.
17482
17483 2011-03-25  Eric Blake  <eblake@redhat.com>
17484
17485         xmalloc: revert yesterday's regression
17486         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17487         realloc's underlying behavior (allowing allocation of zero-size
17488         objects, especially if malloc-gnu is also in use).
17489
17490 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17491
17492         maint.mk: add missing version to VC-tag
17493         * top/maint.mk: git tag was missing actual tag name; add it.
17494
17495         valgrind: do leak checking, and exit with code 1 on error (not 0)
17496         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17497         to VALGRIND.
17498
17499 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17500
17501         posix-modules: say what it does.
17502         * posix-modules: Add a line to the --help output saying what it does.
17503
17504 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17505
17506         xmalloc: Do not leak if underlying realloc is C99 compatible.
17507         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17508         This avoids a leak on C99-based systems.  See
17509         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17510
17511 2011-03-24  Eric Blake  <eblake@redhat.com>
17512
17513         realloc: document portability problem
17514         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17515         passing 0 size to realloc.
17516
17517 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17518
17519         doc: update users.txt
17520         * users.txt: Add cvsps, tmpwatch
17521
17522 2011-03-23  Matt Rice  <ratmice@gmail.com>
17523
17524         doc: update users.txt
17525         * users.txt: Add gdb.
17526
17527 2011-03-23  Jim Meyering  <meyering@redhat.com>
17528
17529         doc: update users.txt
17530         Looking through matches up to the following URL (there are still
17531         several more pages), I found several projects that use gnulib:
17532         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17533         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17534         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17535
17536 2011-03-22  Bruno Haible  <bruno@clisp.org>
17537
17538         unictype/bidi*: Rename functions.
17539         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17540         uc_bidi_class, uc_is_bidi_class): New declarations.
17541         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17542         uc_bidi_category_byname.
17543         (uc_bidi_category_byname): New function.
17544         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17545         u_bidi_category_name.
17546         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17547         (uc_bidi_category_name): New function.
17548         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17549         uc_bidi_category.
17550         (uc_bidi_category): New function.
17551         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17552         uc_is_bidi_category. Invoke uc_bidi_class.
17553         (uc_is_bidi_category): New function.
17554         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17555         instead of uc_bidi_category_byname.
17556         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17557         instead of uc_bidi_category_name.
17558         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17559         uc_bidi_category.
17560         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17561         instead of uc_is_bidi_category.
17562
17563 2011-03-21  Bruno Haible  <bruno@clisp.org>
17564
17565         New module 'unictype/joininggroup-all'.
17566         * modules/unictype/joininggroup-all: New file.
17567
17568         Tests for module 'unictype/joininggroup-of'.
17569         * modules/unictype/joininggroup-of-tests: New file.
17570         * tests/unictype/test-joininggroup_of.c: New file.
17571         * tests/unictype/test-joininggroup_of.h: New file, automatically
17572         generated by gen-uni-tables.
17573
17574         New module 'unictype/joininggroup-of'.
17575         * modules/unictype/joininggroup-of: New file.
17576         * lib/unictype/joininggroup_of.c: New file.
17577         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17578         gen-uni-tables.
17579
17580         Tests for module 'unictype/joininggroup-byname'.
17581         * modules/unictype/joininggroup-byname-tests: New file.
17582         * tests/unictype/test-joininggroup_byname.c: New file.
17583
17584         New module 'unictype/joininggroup-byname'.
17585         * modules/unictype/joininggroup-byname: New file.
17586         * lib/unictype/joininggroup_byname.c: New file.
17587         * lib/unictype/joininggroup_byname.gperf: New file.
17588
17589         Tests for module 'unictype/joininggroup-name'.
17590         * modules/unictype/joininggroup-name-tests: New file.
17591         * tests/unictype/test-joininggroup_name.c: New file.
17592
17593         New module 'unictype/joininggroup-name'.
17594         * modules/unictype/joininggroup-name: New file.
17595         * lib/unictype/joininggroup_name.c: New file.
17596         * lib/unictype/joininggroup_name.h: New file.
17597
17598         New module 'unictype/joiningtype-all'.
17599         * modules/unictype/joiningtype-all: New file.
17600
17601         Tests for module 'unictype/joiningtype-of'.
17602         * modules/unictype/joiningtype-of-tests: New file.
17603         * tests/unictype/test-joiningtype_of.c: New file.
17604         * tests/unictype/test-joiningtype_of.h: New file, automatically
17605         generated by gen-uni-tables.
17606
17607         New module 'unictype/joiningtype-of'.
17608         * modules/unictype/joiningtype-of: New file.
17609         * lib/unictype/joiningtype_of.c: New file.
17610         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17611         gen-uni-tables.
17612
17613         Tests for module 'unictype/joiningtype-byname'.
17614         * modules/unictype/joiningtype-byname-tests: New file.
17615         * tests/unictype/test-joiningtype_byname.c: New file.
17616
17617         New module 'unictype/joiningtype-byname'.
17618         * modules/unictype/joiningtype-byname: New file.
17619         * lib/unictype/joiningtype_byname.c: New file.
17620
17621         Tests for module 'unictype/joiningtype-name'.
17622         * modules/unictype/joiningtype-name-tests: New file.
17623         * tests/unictype/test-joiningtype_name.c: New file.
17624
17625         New module 'unictype/joiningtype-name'.
17626         * modules/unictype/joiningtype-name: New file.
17627         * lib/unictype/joiningtype_name.c: New file.
17628
17629         unictype: Add support for Arabic shaping properties.
17630         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17631         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17632         declarations.
17633         (UC_JOINING_GROUP_*): New enumeration values.
17634         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17635         declarations.
17636         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17637         (unicode_joining_type): New variable.
17638         (UC_JOINING_GROUP_*): New enumeration values.
17639         (unicode_joining_group): New variable.
17640         (fill_arabicshaping, joining_type_as_c_identifier,
17641         output_joining_type_test, output_joining_type,
17642         joining_group_as_c_identifier, output_joining_group_test,
17643         output_joining_group): New functions.
17644         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17645         fill_arabicshaping and output_joining_type_test, output_joining_type,
17646         output_joining_group_test, output_joining_group.
17647         Reported by Simon Josefsson.
17648
17649 2011-03-21  Jim Meyering  <meyering@redhat.com>
17650
17651         strftime: fix a bug in yesterday's change
17652         * lib/strftime.c (add): Accommodate width's initial value of -1.
17653         Otherwise, nstrftime would copy uninitialized data into
17654         the result buffer.
17655
17656 2011-03-21  Jim Meyering  <meyering@redhat.com>
17657
17658         tests: add strftime-tests module
17659         * tests/test-strftime.c: New file.
17660         * modules/strftime-tests: New module.
17661
17662 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17663
17664         strftime: don't assume a byte count fits in 'int'
17665         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17666         found this problem by static analysis, using gcc -Wstrict-overflow
17667         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17668         on an integer overflow having undefined behavior, but it turns out
17669         that the argument is a size, which might not fit in 'int' anyway,
17670
17671 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17672
17673         stdio: don't require ignore_value around fwrite
17674
17675         This patch works around libc bug 11959
17676         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17677         Without this patch, applications must often write
17678         ignore_value (fwrite (...)) even though the ignore_value is
17679         not helpful here.  It's common to write many objects, using
17680         fwrite/printf/etc., and then use ferror to detect output error.
17681
17682         I considered making this patch optional, but decided against it,
17683         because libc is obviously being inconsistent here: there is no
17684         reason libc should insist that user code must inspect fwrite
17685         return's value without also insisting that it inspect printf's,
17686         putchar's, etc.  If user code wants to have a strict style where
17687         all these functions' values are checked (so that ferror need not
17688         be checked), we could add support for that style in a new gnulib
17689         module, but in the meantime it's better to be consistent and to
17690         support common usage.
17691
17692         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17693         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17694         that we are compiling in checking mode, and if not C++, and
17695         if not already wrapping fwrite for some other reason.
17696         (fwrite): #define to rpl_fwrite if the latter is defined.
17697
17698 2011-03-20  Bruno Haible  <bruno@clisp.org>
17699
17700         verror: Fix compilation error introduced on 2011-02-13.
17701         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17702         instead of __attribute__.
17703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17704
17705 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17706             Bruno Haible  <bruno@clisp.org>
17707
17708         socklen: do not depend on sys_socket
17709         While trying to modify Emacs to use gnulib's socklen module,
17710         I discovered a circular dependency: socklen depends on sys_socket
17711         and vice versa.  Emacs can use socklen, but it does not need
17712         sys_socket because it has its own substitute for sys/socket.h.
17713         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17714         gl_TYPE_SOCKLEN_T.
17715         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17716         gl_PREREQ_SYS_H_SOCKET.
17717         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17718         gl_PREREQ_SYS_H_SOCKET.
17719         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17720         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17721         * modules/socklen (Depends-on): Do not depend on sys_socket.
17722         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17723
17724 2011-03-20  Jim Meyering  <meyering@redhat.com>
17725
17726         maint.mk: sort file names *after* new transformation
17727         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17728         prefix would have led to an unwarranted failure in GNU parted.
17729         Sort after that transformation.
17730
17731 2011-03-19  Jim Meyering  <meyering@redhat.com>
17732
17733         maint.mk: fix po-file syntax-check rule
17734         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17735         Patch by Bruno Haible.
17736
17737 2011-03-19  Bruno Haible  <bruno@clisp.org>
17738
17739         socklen: Update comment.
17740         * m4/socklen.m4: Update comment about platforms.
17741
17742 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17743             Bruno Haible  <bruno@clisp.org>
17744
17745         inet_ntop, inet_pton: Simplify.
17746         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17747         documented to provide socklen_t and we already depend on sys_socket.
17748         * modules/inet_pton (Depends-on): Likewise.
17749         * lib/arpa_inet.in.h: Adjust comment.
17750
17751 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17752             Bruno Haible  <bruno@clisp.org>
17753
17754         netdb: Simplify.
17755         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17756         documented to provide socklen_t and we already depend on sys_socket.
17757         * lib/netdb.in.h: Adjust comment.
17758
17759 2011-03-19  Bruno Haible  <bruno@clisp.org>
17760
17761         sys_socket, netdb: Document problem with socklen_t.
17762         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17763         platforms.
17764         * doc/posix-headers/netdb.texi: Likewise.
17765
17766 2011-03-18  Eric Blake  <eblake@redhat.com>
17767
17768         maint.mk: let po check work in VPATH build
17769         * top/maint.mk (po_file): Allow cfg.mk override.
17770         (sc_po_check): Allow VPATH use.
17771         Reported by Jiri Denemark.
17772
17773 2011-03-16  Jim Meyering  <meyering@redhat.com>
17774
17775         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17776         Before, you would have had to create one .x-sc_ file per rule in order
17777         to exempt offending files.  Now, you may instead use a Make variable --
17778         usually defined in cfg.mk -- whose name identifies the affected rule.
17779         * top/maint.mk (_sc_excl): Define.
17780         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17781         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17782
17783 2011-03-13  Bruno Haible  <bruno@clisp.org>
17784
17785         ignore-value tests: Avoid warnings.
17786         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17787         empty for gcc < 3.4.
17788
17789 2011-03-13  Bruno Haible  <bruno@clisp.org>
17790
17791         passfd: Fix link error on Solaris.
17792         * modules/passfd (Description): Correct.
17793         (Depends-on): Add socketlib.
17794         (Link): New section.
17795         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17796
17797 2011-03-13  Bruno Haible  <bruno@clisp.org>
17798
17799         passfd: Fix link error on AIX 5.2.
17800         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17801
17802 2011-03-13  Bruno Haible  <bruno@clisp.org>
17803
17804         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17805         * lib/sys_socket.in.h: Include <stddef.h>.
17806         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17807         CMSG_FIRSTHDR. Remove unused variable.
17808
17809 2011-03-13  Bruno Haible  <bruno@clisp.org>
17810
17811         passfd: Fix compilation error on OpenBSD.
17812         * lib/passfd.c: Include <sys/uio.h>.
17813
17814 2011-03-13  Bruno Haible  <bruno@clisp.org>
17815
17816         passfd test: Fix warnings.
17817         * tests/test-passfd.c: Include <sys/wait.h>.
17818         (main): Fix typo.
17819
17820 2011-03-13  Bruno Haible  <bruno@clisp.org>
17821
17822         passfd module, part 4, tweaks.
17823         * tests/test-passfd.c: Reorder includes.
17824         (main): Fix perror and printf calls.
17825
17826 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17827
17828         passfd module, part 4.
17829         * modules/passfd-tests: New file.
17830         * tests/test-passfd.c: New file.
17831
17832 2011-03-13  Jim Meyering  <meyering@redhat.com>
17833
17834         Makefile: rely on GNU make; derive syntax-check rule names
17835         Rather than requiring that each sc_ rule be listed as a dependent
17836         of "check", use features of GNU make to derive the list.
17837         * Makefile (syntax-check-rules): Define.
17838         (check): Depend on the new variable, not the hard-coded list.
17839
17840 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17841             Bruno Haible  <bruno@clisp.org>
17842
17843         passfd module, part 3.
17844         * lib/passfd.h (recvfd): Add a flags argument.
17845         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17846         (recvfd): Add a flags argument.
17847         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17848         exists.
17849         * modules/passfd (Depends-on): Add cloexec.
17850         Suggested by Eric Blake.
17851
17852 2011-03-13  Bruno Haible  <bruno@clisp.org>
17853
17854         passfd module, part 2, tweaks.
17855         * modules/passfd (Files): Reorder.
17856         (Depends-on): Remove errno.
17857         (Include): Remove <sys/socket.h>, <sys/un.h>.
17858         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17859         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17860         specification header. Include <sys/socket.h> always. Don't include
17861         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17862         (sendfd): Clarify that it sets errno when it fails.
17863         (recvfd): Fix specification.
17864
17865 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17866
17867         passfd module, part 2.
17868         * modules/passfd: New file.
17869         * lib/passfd.h: New file.
17870         * lib/passfd.c: New file.
17871
17872 2011-03-12  Bruno Haible  <bruno@clisp.org>
17873
17874         wcswidth, mbswidth: Avoid integer overflow.
17875         * lib/wcswidth.c: Include <limits.h>.
17876         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17877         * lib/mbswidth.c: Include <limits.h>.
17878         (mbsnwidth): Avoid 'int' overflow.
17879         Reported by Jim Meyering.
17880
17881 2011-03-12  Bruno Haible  <bruno@clisp.org>
17882
17883         futimens, utimensat: Avoid endless recursion on Solaris 10.
17884         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17885         Solaris.
17886         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17887         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17888
17889 2011-03-11  Jim Meyering  <meyering@redhat.com>
17890
17891         maint.mk: relax a regexp to accommodate other formatting styles
17892         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17893         between "ngettext" and the following "(".
17894
17895 2011-03-11  Pádraig Brady <P@draigBrady.com>
17896
17897         maint.mk: suppress a false positive warning
17898         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17899         diagnostics are marked with ngettext.
17900
17901 2011-03-10  Eric Blake  <eblake@redhat.com>
17902
17903         wchar: add explicit dependencies, for Tru64
17904         * modules/mbmemcasecoll (Depends-on): Add wchar.
17905         * modules/mbtowc (Depends-on): Likewise.
17906         * modules/vasnprintf (Depends-on): Likewise.
17907         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17908         * modules/wctomb (Depends-on): Likewise.
17909         Reported by Peter O'Gorman.
17910
17911 2011-03-08  Bruno Haible  <bruno@clisp.org>
17912
17913         passfd module, part 1, tweaks.
17914         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17915         Improve indentation. Improve AC_MSG_CHECKING messages.
17916         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17917         gl_SOCKET_FAMILIES.
17918
17919 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17920
17921         passfd module, part 1.
17922         * m4/afunix.m4: New file.
17923         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17924         sockets.
17925
17926 2011-03-08  Bruno Haible  <bruno@clisp.org>
17927
17928         regex-quote: New API.
17929         * lib/regex-quote.h: Include <stdbool.h>.
17930         (struct regex_quote_spec): New type.
17931         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17932         New declarations.
17933         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17934         'const struct regex_quote_spec *' argument.
17935         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17936         (pcre_special): New constant.
17937         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17938         New functions.
17939         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17940         'const struct regex_quote_spec *' argument.
17941         * modules/regex-quote (Depends-on): Add stdbool.
17942         * tests/test-regex-quote.c (check): Update for new API. Add test for
17943         anchored results.
17944         * NEWS: Mention the API change.
17945         Reported by Reuben Thomas and Eric Blake.
17946
17947 2011-03-06  Bruno Haible  <bruno@clisp.org>
17948
17949         regex-quote: Fix creation of POSIX extended regular expressions.
17950         * lib/regex-quote.c (ere_special): Add grouping and alternation
17951         operators.
17952
17953 2011-03-05  Bruno Haible  <bruno@clisp.org>
17954
17955         doc: Improve doc regarding autopoint vs. gnulib.
17956         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17957         disable autopoint while running autoreconf.
17958         Suggested by Ralf Wildenhues.
17959
17960 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17961
17962         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17963         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17964
17965 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17966
17967         parse-duration: remove xalloc.h dependency
17968         * lib/parse-duration.c (parse_period): handle NULL return from
17969         strdup instead of calling xstrdup().
17970         * modules/parse-duration: remove "xalloc" dependency
17971
17972 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17973
17974         bootstrap: honor m4_base when running aclocal
17975         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17976
17977 2011-03-02  Jim Meyering  <meyering@redhat.com>
17978
17979         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17980         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17981         on request from Matt Booth.
17982
17983 2011-03-01  Eric Blake  <eblake@redhat.com>
17984
17985         test-link: work on Hurd
17986         * tests/test-link.h (test_link): Hurd rejects linking directories
17987         with EISDIR instead of the POSIX-mandated EPERM.
17988
17989 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17990
17991         stdio: simplify by moving files to printf-posix, sigpipe
17992         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17993         since this symbol is needed only if printf is replaced.
17994         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17995         Require gl_ASM_SYMBOL_PREFIX.
17996         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17997         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17998         (Depends-on): Add 'raise'.
17999         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
18000         * modules/stdio (Files): Remove lib/stdio-write.c,
18001         m4/asm-underscore.m4.
18002         (Depends-on): Remove 'raise'.
18003
18004         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
18005         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
18006         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
18007         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
18008
18009 2011-02-28  Bruno Haible  <bruno@clisp.org>
18010
18011         localcharset: Assume ANSI C behaviour of free().
18012         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
18013         calling free().
18014         Suggested by Simon Josefsson <simon@josefsson.org>.
18015
18016 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
18017             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
18018             Bruno Haible  <bruno@clisp.org>  (tiny change)
18019
18020         On Cygwin, use /proc file system instead of win32 API.
18021         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
18022         Win32 file names.
18023         (DllMain): Simplify by removing Cygwin specific code.
18024         (find_shared_library_fullname): Use Linux specific implementation also
18025         for Cygwin.
18026         (get_shared_library_fullname): Update accordingly.
18027         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
18028         Win32 file names.
18029         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
18030         Cygwin specific code.
18031
18032 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
18033             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
18034
18035         Fix OpenMP flag detection for various Fortran compilers.
18036         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
18037         OpenMP-conditional compilation construct, to force compile
18038         failure with missing OpenMP flag.
18039         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
18040
18041 2011-02-25  Eric Blake  <eblake@redhat.com>
18042
18043         strstr: expand test coverage
18044         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
18045         compilation.
18046         * tests/test-memmem.c (main): Duplicate tests.
18047         * tests/test-strcasestr.c (main): Likewise.
18048         * tests/test-c-strcasestr.c (main): Likewise.
18049
18050 2011-02-25  Jim Meyering  <meyering@redhat.com>
18051
18052         maint.mk: detect missing-NL-at-EOF, too
18053         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
18054         it also detects when a file lacks a newline at EOF.
18055         (require_exactly_one_NL_at_EOF_): Renamed from
18056         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
18057         since people may well have .x-sc_... file names tied to the
18058         existing name.  Suggested by Eric Blake.
18059
18060 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18061
18062         dirname: move m4/dos.m4 functionality into lib/dosname.h
18063
18064         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
18065         extracts symbols from it, puts them into config.h; but it's much
18066         easier to use the symbols directly.  filename.h already does this,
18067         but it disagrees with dos.m4 in some respects.  This patch
18068         introduces a different include file dosname.h that packages up
18069         dos.m4, and then later we can work on merging filename.h and
18070         dosname.h.  Applications that need only the easy-to-configure
18071         symbols should consider including dosname.h rather than dirname.h.
18072         * NEWS: Mention incompatible changes.
18073         * m4/dos.m4: Remove.
18074         * lib/dosname.h, modules/dosname: New files.
18075         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
18076         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
18077         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
18078         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
18079         Include dosname.h, not dirname.h.
18080         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
18081         Include dosname.h, for definitions of symbols like ISSLASH
18082         that used to be in config.h.
18083         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
18084         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18085         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18086         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18087         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
18088         * modules/rmdir (Files): Likewise.
18089         * modules/stat (Files): Likewise.
18090         * modules/unlink (Files): Likewise.
18091         * modules/dirname-lgpl (Depends-on): Add dosname.
18092         * modules/lstat (Depends-on): Likewise.
18093         * modules/openat (Depends-on): Likewise.
18094         * modules/rmdir (Depends-on): Likewise.
18095         * modules/savewd (Depends-on): Likewise.
18096         * modules/stat (Depends-on): Likewise.
18097         * modules/unlink (Depends-on): Likewise.
18098         * modules/openat (Depends-on): Remove dirname-lgpl.
18099         * modules/savewd (Depends-on): Likewise.
18100         * tests/test-dirname.c: Do not use removed symbols like
18101         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
18102         the remaining symbols, e.g., ISSLASH ('\\').
18103
18104 2011-02-25  Eric Blake  <eblake@redhat.com>
18105
18106         strstr: revert patches that introduced bug and pessimization
18107         * lib/str-two-way.h: Add another reference.
18108         (two_way_short_needle, two_way_long_needle): Revert changes from
18109         2011-02-24; they pessimize search speed.
18110         (critical_factorization): Partially revert changes from
18111         2010-06-22; they violate the requirement that the left half of the
18112         needle be smaller than the period of the needle.
18113
18114 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
18115
18116         filenamecat: remove unnecessary dependency on dirname-lgpl
18117         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
18118         is no direct dependency, just an indirect one via filenamecat-lgpl.
18119
18120         remove: remove unnecessary use of m4/dos.m4
18121         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
18122         * modules/remove (FILES): Remove m4/dos.m4.
18123
18124         * lib/openat-proc.c: Don't include dirname.h; not needed.
18125
18126         backupfile: remove unnecessary use of m4/dos.m4
18127         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
18128         of its symbols are used by the backupfile code.  backupfile.c does
18129         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
18130         for the rare case of programs that want all their backup file
18131         names to live within 8+3 limits, and dos.m4 doesn't address that.
18132         * modules/backupfile (Files): Remove m4/dos.m4.
18133
18134 2011-02-24  Jim Meyering  <meyering@redhat.com>
18135
18136         strstr: fix a bug whereby strstr would mistakenly return NULL
18137         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
18138         in period calculation.
18139         (two_way_long_needle): Likewise.
18140         The original problem was reported by Mike Stump in
18141         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
18142         Ralf Wildenhues provided the short needle and haystack.
18143         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
18144         Add a more involved test to trigger the bug in two_way_long_needle.
18145
18146 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
18147
18148         gnulib-tool: remove use of bold display in help screen
18149         * gnulib-tool (func_usage): Do not use bold display anymore in the
18150         help screen.  That was just meant to be a temporary emphasis for a
18151         backward-incompatible change.
18152
18153 2011-02-23  Bruno Haible  <bruno@clisp.org>
18154
18155         Fix misindentation of preprocessor directives.
18156         * lib/argp-namefrob.h: Reindent preprocessor directives.
18157         * lib/getopt_int.h (struct _getopt_data): Likewise.
18158         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
18159         * lib/vasnprintf.c (decode_long_double): Likewise.
18160         * tests/test-argmatch.c: Insert blank lines, for clarity.
18161         * tests/test-exclude.c: Likewise.
18162
18163 2011-02-22  Bruno Haible  <bruno@clisp.org>
18164
18165         ioctl: Fix for MacOS X in 64-bit mode.
18166         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
18167         value.
18168         Suggested by Eric Blake.
18169         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
18170
18171 2011-02-22  Jim Meyering  <meyering@redhat.com>
18172
18173         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
18174         * Makefile (sc_cpp_indent_check): Don't limit the check to files
18175         in lib/.
18176
18177 2011-02-22  Eric Blake  <eblake@redhat.com>
18178
18179         maint: avoid any CDPATH issue
18180         * Makefile (sc_cpp_indent_check): Anchor cd argument.
18181
18182         maint: adjust cpp indentation for my modules, as well
18183         * Makefile (sc_cpp_indent_check): Add my name.
18184         * lib/fbufmode.c: Filter through cppi.
18185         * lib/fpurge.c: Likewise.
18186         * lib/freadable.c: Likewise.
18187         * lib/freading.c: Likewise.
18188         * lib/fwritable.c: Likewise.
18189         * lib/fwriting.c: Likewise.
18190         * lib/sigaction.c: Likewise.
18191
18192 2011-02-22  Jim Meyering  <meyering@redhat.com>
18193
18194         maint: adjust cpp indentation to reflect nesting depth
18195         I.e., in a block of code that begins with an unnested "#if",
18196         put one space between the "#" in column 1 and following token.
18197         For example,
18198         -#include <sys/vfs.h>
18199         +# include <sys/vfs.h>
18200         Do this only in .c files that are part of a module I maintain.
18201         * lib/linkat.c: Filter through cppi.
18202         * lib/nanosleep.c: Likewise.
18203         * lib/openat.c: Likewise.
18204         * lib/openat-die.c: Likewise.
18205         * lib/dup3.c: Likewise.
18206         * lib/fchownat.c: Likewise.
18207         * lib/flock.c: Likewise.
18208         * lib/fsync.c: Likewise.
18209         * lib/fts.c: Likewise.
18210         * lib/getpass.c: Likewise.
18211         * lib/gettimeofday.c: Likewise.
18212         * lib/userspec.c: Likewise.
18213         * Makefile (sc_cpp_indent_check): New rule, to check this.
18214
18215 2011-02-22  Bruno Haible  <bruno@clisp.org>
18216
18217         New module 'wctomb'.
18218         * lib/stdlib.in.h (wctomb): New declaration.
18219         * lib/wctomb.c: New file.
18220         * lib/wctomb-impl.h: New file.
18221         * m4/wctomb.m4: New file.
18222         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
18223         REPLACE_WCTOMB.
18224         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
18225         REPLACE_WCTOMB.
18226         * modules/wctomb: New file.
18227         * tests/test-stdlib-c++.cc: Test signature of wctomb.
18228         * doc/posix-functions/wctomb.texi: Mention the new module.
18229         * modules/wctob (Depends-on): Add wctomb.
18230
18231 2011-02-22  Bruno Haible  <bruno@clisp.org>
18232
18233         New module 'mbtowc'.
18234         * lib/stdlib.in.h (mbtowc): New declaration.
18235         * lib/mbtowc.c: New file.
18236         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18237         * m4/mbtowc.m4: New file.
18238         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18239         REPLACE_MBTOWC.
18240         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18241         REPLACE_MBTOWC.
18242         * modules/mbtowc: New file.
18243         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18244         * doc/posix-functions/mbtowc.texi: Mention the new module.
18245         * modules/btowc (Depends-on): Add mbtowc.
18246
18247 2011-02-22  Bruno Haible  <bruno@clisp.org>
18248
18249         wcrtomb: Add more tests for native Windows platforms.
18250         * tests/test-wcrtomb-w32-1.sh: New file.
18251         * tests/test-wcrtomb-w32-2.sh: New file.
18252         * tests/test-wcrtomb-w32-3.sh: New file.
18253         * tests/test-wcrtomb-w32-4.sh: New file.
18254         * tests/test-wcrtomb-w32-5.sh: New file.
18255         * tests/test-wcrtomb-w32.c: New file.
18256         * modules/wcrtomb-tests (Files): Add them.
18257         (Makefile.am): Arrange to run these tests.
18258         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18259         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18260
18261 2011-02-20  Bruno Haible  <bruno@clisp.org>
18262
18263         wcrtomb: Enhance test.
18264         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18265
18266 2011-02-20  Bruno Haible  <bruno@clisp.org>
18267
18268         mbrtowc: Tiny optimization.
18269         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18270
18271 2011-02-20  Jim Meyering  <meyering@redhat.com>
18272
18273         test-exclude.c: remove unmatched #endif
18274         * tests/test-exclude.c: Remove stray #endif, left over from
18275         the change of a week ago.
18276
18277 2011-02-19  Jim Meyering  <meyering@redhat.com>
18278
18279         git-version-gen: skip "-dirty" check when appropriate
18280         * build-aux/git-version-gen: Don't run any git commands when the
18281         version string comes from .tarball-version.  Prior to this, we
18282         would run git update-index --refresh even from a just-unpacked
18283         tarball directory, and that could affect a .git/ directory in a
18284         parent of the build directory.  Reported by Mike Frysinger.
18285
18286 2011-02-19  Bruno Haible  <bruno@clisp.org>
18287
18288         unictype/property-byname: Reduce the size of the 'data' segment.
18289         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18290
18291 2011-02-19  Bruno Haible  <bruno@clisp.org>
18292
18293         unictype/scripts: Reduce the size of the 'data' segment.
18294         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18295         '%pic'.
18296         * lib/unictype/scripts_byname.gperf: Regenerated.
18297
18298 2011-02-19  Bruno Haible  <bruno@clisp.org>
18299
18300         stdint: Update documentation.
18301         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18302
18303 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18304
18305         stdint: omit redundant check for wchar.h
18306         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18307         always tests whether wchar.h exists, so remove the now-redundant test.
18308
18309 2011-02-18  Bruno Haible  <bruno@clisp.org>
18310
18311         stdint: Cut dependency to module 'wchar'.
18312         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18313         include the necessary prerequisites.
18314         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18315         * modules/stdint (Depends-on): Remove wchar.
18316         (Makefile.am): Substitute HAVE_WCHAR_H.
18317         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18318
18319 2011-02-18  Eric Blake  <eblake@redhat.com>
18320
18321         longlong: skip, rather than fail, on cross-compilation
18322         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18323         when cross-compiling; regression from 2011-02-16.
18324
18325 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18326
18327         * NEWS: Mention 2011-02-08 change to stdlib.
18328
18329 2011-02-17  Bruno Haible  <bruno@clisp.org>
18330
18331         getloadavg: Add comments about platforms.
18332         * m4/getloadavg.m4: Add comment.
18333         * lib/getloadavg.c: Likewise.
18334
18335 2011-02-17  Bruno Haible  <bruno@clisp.org>
18336
18337         getloadavg: Fix link error on Solaris 2.6.
18338         * modules/getloadavg (Link): New section.
18339         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
18340         linking test-getloadavg.
18341         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
18342         getloadavg.
18343
18344 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18345
18346         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
18347         It was 'int', but this doesn't match the IRIX 6.5 manual.
18348         Suggested by Bruno Haible in
18349         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
18350
18351 2011-02-17  Bruno Haible  <bruno@clisp.org>
18352
18353         havelib: Fix comments.
18354         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18355         change.
18356
18357 2011-02-17  Bruno Haible  <bruno@clisp.org>
18358
18359         havelib: Update config.rpath.
18360         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18361
18362 2011-02-17  Bruno Haible  <bruno@clisp.org>
18363
18364         getloadavg test: Add some plausibility checks.
18365         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18366         is improbable.
18367
18368 2011-02-16  Eric Blake  <eblake@redhat.com>
18369
18370         maintainer-makefile: make syntax-check a no-op from tarballs
18371         * top/maint.mk (no-vc-detected): New rule.
18372         (local-checks-available): Use it to avoid hanging if someone tries
18373         'make syntax-check' from a tarball.  Also append to any non-syntax
18374         checks already defined in cfg.mk.
18375
18376 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18377
18378         longlong: tune, particularly for common case of c99
18379
18380         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18381         or running anything if c99, or if unsigned long long int does not
18382         work.  In either case, we know the answer without further tests.
18383         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18384         it at most once, and use its results for both long long int and
18385         unsigned long long int.  This is more likely to be efficient in
18386         the common case where the program wants to check for both long
18387         long int and unsigned long long int.
18388         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18389         since the answer is already known.
18390
18391 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18392
18393         getloadavg: set errno
18394         * lib/getloadavg.c: Set errno when returning -1.  If no other
18395         error number looks appropriate, set it to ENOSYS if the getloadavg
18396         looks like it can't possibly ever work, ENOTSUP otherwise.
18397         Suggested by Bruno Haible in
18398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18399
18400         getloadavg: trim unused parts and speed up 'configure'
18401         * NEWS: Document this.
18402         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18403         always compiled if getloadavg is absent.
18404         Move test code to ...
18405         * tests/test-getloadavg.c: New file, containing previous
18406         contents of test from lib/getloadavg.c.  It also contains
18407         suggestions by Bruno Haible in
18408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18409         * modules/getloadavg-tests: New file.
18410         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18411         Do tests in the same order as they're needed for getloadavg.c.
18412         Omit setgid-related tests that generate symbols KMEM_GROUP,
18413         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18414         Do only the tests that are needed to see whether the system has
18415         getloadavg, moving the other tests into ...
18416         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18417         NLIST_NAME_UNION; nobody should be using it.  Do not define
18418         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18419         relevant, as the user of this module shouldn't care how getloadavg
18420         is implemented.
18421
18422         getloadavg: omit unused var
18423         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18424
18425 2011-02-15  Jim Meyering  <meyering@redhat.com>
18426
18427         doc: update users.txt
18428         * users.txt: Update iwhd's URL.
18429
18430 2011-02-13  Bruno Haible  <bruno@clisp.org>
18431
18432         Consistent macro naming for macros that use GCC __attribute__.
18433         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18434         _ATTRIBUTE_NONNULL_.
18435         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18436         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18437         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18438         ATTRIBUTE_DEPRECATED.
18439         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18440         ATTRIBUTE_NORETURN.
18441         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18442         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18443         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18444         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18445         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18446         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18447         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18448         ATTRIBUTE_SENTINEL.
18449         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18450         ATTRIBUTE_RETURN_CHECK.
18451         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18452         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18453         ATTRIBUTE_NORETURN.
18454         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18455         Reported by Paul Eggert.
18456
18457 2011-02-13  Bruno Haible  <bruno@clisp.org>
18458
18459         Don't interfere with a program's definition of __attribute__.
18460         * lib/argp.h (__attribute__): Remove definition.
18461         (_GL_ATTRIBUTE_FORMAT): New macro.
18462         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18463         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18464         (_GL_ATTRIBUTE_FORMAT): New macro.
18465         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18466         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18467         GCC 3 or newer.
18468         * lib/error.h (__attribute__): Remove definition.
18469         (_GL_ATTRIBUTE_FORMAT): New macro.
18470         (error, error_at_line): Use it.
18471         * lib/hash.h (__attribute__): Remove definition.
18472         (ATTRIBUTE_WUR): Update definition. Define always.
18473         * lib/openat.h (__attribute__): Remove definition.
18474         (ATTRIBUTE_NORETURN): Update definition. Define always.
18475         * lib/sigpipe-die.h (__attribute__): Remove definition.
18476         (ATTRIBUTE_NORETURN): Update definition. Define always.
18477         * lib/vasnprintf.h (__attribute__): Remove definition.
18478         (_GL_ATTRIBUTE_FORMAT): New macro.
18479         (asnprintf, vasnprintf): Use it.
18480         * lib/xalloc.h (__attribute__): Remove definition.
18481         (ATTRIBUTE_NORETURN): Update definition. Define always.
18482         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18483         * lib/xmemdup0.h (__attribute__): Remove definition.
18484         (ATTRIBUTE_NORETURN): Update definition. Define always.
18485         * lib/xprintf.h (__attribute__): Remove definition.
18486         (_GL_ATTRIBUTE_FORMAT): New macro.
18487         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18488         * lib/xstrtol.h (__attribute__): Remove definition.
18489         (ATTRIBUTE_NORETURN): Update definition. Define always.
18490         * lib/xvasprintf.h (__attribute__): Remove definition.
18491         (_GL_ATTRIBUTE_FORMAT): New macro.
18492         (xasprintf, xvasprintf): Use it.
18493         * tests/test-argmatch.c (__attribute__): Remove definition.
18494         (ATTRIBUTE_NORETURN): Update definition. Define always.
18495         * tests/test-exclude.c (__attribute__): Remove definition.
18496         (ATTRIBUTE_NORETURN): Update definition. Define always.
18497         Reported by Paul Eggert.
18498
18499 2011-02-13  Bruno Haible  <bruno@clisp.org>
18500
18501         mbrtowc: Add more tests for native Windows platforms.
18502         * tests/test-mbrtowc-w32-1.sh: New file.
18503         * tests/test-mbrtowc-w32-2.sh: New file.
18504         * tests/test-mbrtowc-w32-3.sh: New file.
18505         * tests/test-mbrtowc-w32-4.sh: New file.
18506         * tests/test-mbrtowc-w32-5.sh: New file.
18507         * tests/test-mbrtowc-w32.c: New file.
18508         * modules/mbrtowc-tests (Files): Add them.
18509         (Makefile.am): Arrange to run these tests.
18510         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18511         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18512
18513 2011-02-13  Bruno Haible  <bruno@clisp.org>
18514
18515         mbrtowc: Work around native Windows bug.
18516         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18517         guess when no suitable locale for testing was found.
18518         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18519
18520 2011-02-13  Bruno Haible  <bruno@clisp.org>
18521
18522         mbsinit: Work around mingw bug.
18523         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18524         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18525         Windows.
18526         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18527
18528 2011-02-13  Bruno Haible  <bruno@clisp.org>
18529
18530         mbsinit: Don't crash for a NULL argument.
18531         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18532         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18533
18534 2011-02-13  Bruno Haible  <bruno@clisp.org>
18535
18536         Don't interfere with a program's definition of __attribute__.
18537         * lib/stdio.in.h (__attribute__): Remove definition.
18538         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18539         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18540         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18541         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18542         * lib/string.in.h (__attribute__): Remove definition.
18543         Reported by Paul Eggert.
18544
18545 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18546
18547         stdlib: don't get in the way of non-GCC __attribute__
18548         See thread starting at
18549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18550         Revert previous stdlib change, installing the following instead:
18551         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18552         to get in the way of a non-GCC compiler that supports __attribute__.
18553         (_GL_ATTRIBUTE_RETURN): New macro.
18554         (_Exit): Use it instead of __attribute__.
18555
18556 2011-02-12  Bruno Haible  <bruno@clisp.org>
18557
18558         quotearg test: Avoid test failure on mingw.
18559         * tests/test-quotearg.sh: Convert the locale identifier from native
18560         Windows syntax to Unix syntax.
18561
18562 2011-02-12  Bruno Haible  <bruno@clisp.org>
18563
18564         setlocale: Prefer gnulib's override over libintl's override.
18565         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18566         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18567         GNULIB_defined_setlocale is set.
18568
18569 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18570
18571         stdlib: support non-GCC __attribute__
18572
18573         Fix a serious and tricky problem encountered when attempting to
18574         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18575         5.5, but it crashed due to memory corruption on Solaris 10 with
18576         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18577         bits that are otherwise zero.  This tagging is optional inside
18578         Emacs but is preferred and is used when __attribute__ ((__aligned
18579         (8))) works, as it does with both recent-enough GCC and with Sun C
18580         5.11.  However, Sun C 5.11 is not GCC and does not #define
18581         __GNUC__ and __GNUC_MINOR__.
18582
18583         When I added the getloadavg module to Emacs, it brought in
18584         stdlib.in.h, which contained this fragment:
18585
18586            #ifndef __attribute__
18587            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18588            #  define __attribute__(Spec)   /* empty */
18589            # endif
18590            #endif
18591
18592         When files that include <stdlib.h> were compiled with Sun C 5.11,
18593         the above code disabled __attribute__ ((__aligned (8))), which
18594         caused variables to not be properly aligned, which eventually led
18595         to the pointer corruption mentioned above.  (This was a bit hard
18596         to diagnose, unfortunately.)
18597
18598         Several "#define __attribute__(X) /* empty */" code snippets need
18599         to be eradicated from Gnulib to work with non-GCC compilers that
18600         support __attribute__.  The Autoconf way to do this is to test for
18601         each kind of attribute that we want support for, and selectively
18602         enable that in source code.
18603
18604         Fix this problem just for stdlib.h, by adding a test for the
18605         __noreturn__ attribute, and change stdlib.in.h to use that test
18606         when needed.  This technique can be easily generalized to the
18607         other *.in.h files and attributes, and a similar technique can be
18608         used for *.h and *.c files.  This patch is enough to solve the
18609         problem for Emacs + getloadavg, and I thought I'd publish it for
18610         feedback before undertaking further, similar fixes in other
18611         modules.
18612
18613         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18614         because it's not needed for stdlib.h.  It merely substitutes the
18615         value directly into stdlib.h.  We may well need to #define it, or
18616         similar symbols, for other modules, but it's nice to also have an
18617         option to not #define it for applications like Emacs that do not
18618         need it.
18619
18620         * lib/stdlib.in.h (__attribute__): Do not #define.
18621         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18622         be defined only if the _Exit module is also used.
18623         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18624         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18625         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18626         platforms.
18627         * modules/_Exit (Files): Add m4/attribute.m4.
18628         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18629         * m4/attribute.m4: New file.
18630
18631 2011-02-12  Bruno Haible  <bruno@clisp.org>
18632
18633         wcsrtombs: Work around bug on native Windows.
18634         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18635         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18636         instead of len.
18637         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18638
18639 2011-02-12  Bruno Haible  <bruno@clisp.org>
18640
18641         mbsrtowcs: Work around bug on native Windows.
18642         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18643         against mingw bug.
18644         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18645
18646 2011-02-12  Bruno Haible  <bruno@clisp.org>
18647
18648         Avoid setlocale bugs in tests.
18649         * modules/btowc (Dependencies): Add setlocale.
18650         * modules/c-strcase (Dependencies): Likewise.
18651         * modules/mbmemcasecmp (Dependencies): Likewise.
18652         * modules/mbmemcasecoll (Dependencies): Likewise.
18653         * modules/mbrtowc (Dependencies): Likewise.
18654         * modules/mbscasecmp (Dependencies): Likewise.
18655         * modules/mbscasestr (Dependencies): Likewise.
18656         * modules/mbschr (Dependencies): Likewise.
18657         * modules/mbscspn (Dependencies): Likewise.
18658         * modules/mbsinit (Dependencies): Likewise.
18659         * modules/mbsncasecmp (Dependencies): Likewise.
18660         * modules/mbsnrtowcs (Dependencies): Likewise.
18661         * modules/mbspbrk (Dependencies): Likewise.
18662         * modules/mbspcasecmp (Dependencies): Likewise.
18663         * modules/mbsrchr (Dependencies): Likewise.
18664         * modules/mbsrtowcs (Dependencies): Likewise.
18665         * modules/mbsspn (Dependencies): Likewise.
18666         * modules/mbsstr (Dependencies): Likewise.
18667         * modules/nl_langinfo (Dependencies): Likewise.
18668         * modules/quotearg (Dependencies): Likewise.
18669         * modules/unicase/locale-language (Dependencies): Likewise.
18670         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18671         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18672         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18673         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18674         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18675         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18676         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18677         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18678         * modules/vasnprintf-posix (Dependencies): Likewise.
18679         * modules/wcrtomb (Dependencies): Likewise.
18680         * modules/wcsnrtombs (Dependencies): Likewise.
18681         * modules/wcsrtombs (Dependencies): Likewise.
18682
18683 2011-02-12  Bruno Haible  <bruno@clisp.org>
18684
18685         setlocale: Workaround native Windows bug.
18686         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18687         succeeds but sets LC_CTYPE to "C", report a failure.
18688         * tests/test-setlocale2.sh: New file.
18689         * tests/test-setlocale2.c: New file.
18690         * modules/setlocale-tests (Files): Add the new files.
18691         (Makefile.am): Enable test-setlocale2.sh test.
18692         * doc/posix-functions/setlocale.texi: Mention workaround.
18693
18694 2011-02-11  Bruno Haible  <bruno@clisp.org>
18695
18696         Tests for module 'setlocale'.
18697         * modules/setlocale-tests: New file.
18698         * tests/test-setlocale1.sh: New file.
18699         * tests/test-setlocale1.c: New file.
18700
18701         New module 'setlocale'.
18702         * lib/locale.in.h (setlocale): New declaration.
18703         * lib/setlocale.c: New file, based on
18704         gettext/gettext-runtime/intl/setlocale.c.
18705         * m4/setlocale.m4: New file.
18706         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18707         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18708         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18709         REPLACE_SETLOCALE.
18710         * modules/setlocale: New file.
18711         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18712         * doc/posix-functions/setlocale.texi: Mention the new module.
18713
18714 2011-02-11  Bruno Haible  <bruno@clisp.org>
18715
18716         Prepare for locale dependent tests on mingw.
18717         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18718         because it has the wrong locale encoding.
18719         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18720         French_France.1252 instead of "fr".
18721         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18722         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18723         because it has the wrong locale encoding.
18724         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18725         native Windows, try Turkish_Turkey.65001.
18726         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18727         Chinese_China.54936.
18728
18729         Prepare for locale dependent tests on mingw.
18730         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18731         differently.
18732         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18733         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18734         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18735         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18736
18737 2011-02-11  Eric Blake  <eblake@redhat.com>
18738
18739         strptime: avoid compiler warnings
18740         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18741         compiler warnings about dead code.
18742         Reported by Daniel P. Berrange.
18743
18744 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18745
18746         doc: update users.txt
18747         * users.txt: Add rcs.
18748
18749 2011-02-10  John W. Eaton  <jwe@gnu.org>
18750
18751         doc: update users.txt
18752         * users.txt: Add octave.
18753
18754 2011-02-10  Jim Meyering  <meyering@redhat.com>
18755
18756         doc: update users.txt
18757         * users.txt: Add iwhd.
18758
18759 2011-02-09  Bruno Haible  <bruno@clisp.org>
18760
18761         gnulib-tool: Make copyright notice adjustment more robust.
18762         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18763         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18764         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18765         License".
18766         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18767
18768 2011-02-06  Bruno Haible  <bruno@clisp.org>
18769
18770         New module 'towctrans'.
18771         * modules/towctrans: New file.
18772         * lib/wctype.in.h (towctrans): New declaration.
18773         * lib/towctrans.c: New file.
18774         * lib/towctrans-impl.h: New file.
18775         * m4/towctrans.m4: New file.
18776         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18777         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18778         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18779         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18780         * doc/posix-functions/towctrans.texi: Mention the new module.
18781
18782 2011-02-06  Bruno Haible  <bruno@clisp.org>
18783
18784         New module 'wctrans'.
18785         * modules/wctrans: New file.
18786         * lib/wctype.in.h (wctrans): New declaration.
18787         * lib/wctrans.c: New file.
18788         * lib/wctrans-impl.h: New file.
18789         * m4/wctrans.m4: New file.
18790         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18791         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18792         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18793         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18794         * doc/posix-functions/wctrans.texi: Mention the new module.
18795
18796 2011-02-06  Bruno Haible  <bruno@clisp.org>
18797
18798         New module 'iswctype'.
18799         * modules/iswctype: New file.
18800         * lib/wctype.in.h (iswctype): New declaration.
18801         * lib/iswctype.c: New file.
18802         * lib/iswctype-impl.h: New file.
18803         * m4/iswctype.m4: New file.
18804         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18805         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18806         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18807         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18808         * doc/posix-functions/iswctype.texi: Mention the new module and the
18809         HP-UX 11.00 problem.
18810
18811 2011-02-06  Bruno Haible  <bruno@clisp.org>
18812
18813         New module 'wctype'.
18814         * modules/wctype: Change to represent the wctype() substitute.
18815         * lib/wctype.in.h (wctype): New declaration.
18816         * lib/wctype.c: New file.
18817         * lib/wctype-impl.h: New file.
18818         * m4/wctype.m4: New file.
18819         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18820         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18821         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18822         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18823         * doc/posix-functions/wctype.texi: Mention the new module and the
18824         HP-UX 11.00 problem.
18825
18826 2011-02-06  Bruno Haible  <bruno@clisp.org>
18827
18828         wctype-h: Ensure wctype_t and wctrans_t are defined.
18829         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18830         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18831         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18832         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18833         HAVE_WCTRANS_T.
18834         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18835
18836 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18837
18838         flock: fix license typo
18839
18840         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18841         omitted.
18842
18843 2011-02-08  Bruno Haible  <bruno@clisp.org>
18844
18845         Split large sed scripts, for HP-UX sed.
18846         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18847         to avoid HP-UX limit of 99 commands, in the near future.
18848         * modules/stdlib (Makefile.am): Likewise.
18849         * modules/unistd (Makefile.am): Likewise.
18850         * modules/wchar (Makefile.am): Likewise.
18851         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18852         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18853         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18854
18855 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18856             Bruno Haible  <bruno@clisp.org>
18857
18858         stdlib: improve random_r modularization
18859         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18860         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18861         you also need the random_r module to get this material right.
18862         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18863         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18864         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18865
18866 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18867
18868         stdlib: don't depend on stdint
18869         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18870         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18871         be independent of whether stdint.h is needed.
18872         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18873         here, instead of ...
18874         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18875         struct random_data should be using the random_r module, not just
18876         the stdlib module (which wouldn't make sense: what package needs
18877         just struct random_data without also needing random_r?).
18878         * modules/stdlib (Depends-on): Remove stdint.
18879
18880         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18881         See the thread rooted at
18882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18883         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18884         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18885         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18886         __VMS)); previously it was always included (via fcntl--.h).
18887         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18888         hand; this is good enough for load averages.  Also, do not use
18889         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18890         flags directly if available and don't bother otherwise.  (Packages
18891         that need the extra reliability should use the modules that define
18892         these flags on older platforms that lack them.)
18893         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18894         fcntl-safer.
18895
18896 2011-02-08  Jim Meyering  <meyering@redhat.com>
18897
18898         di-set.h, ino-map.h: add multiple-inclusion guard
18899         Technically, the guard is required only for ino-map.h, due to its
18900         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18901         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18902         * lib/ino-map.h: Likewise.
18903
18904 2011-02-06  Bruno Haible  <bruno@clisp.org>
18905
18906         iswblank: Ensure declaration on glibc systems.
18907         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18908         * modules/iswblank (Dependencies): Add 'extensions'.
18909         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18910
18911 2011-02-06  Bruno Haible  <bruno@clisp.org>
18912
18913         New module 'iswblank'.
18914         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18915         * modules/iswblank: New file.
18916         * modules/wctype-h (Files): Remove lib/iswblank.c.
18917         (Makefile.am): Substitute GNULIB_ISWBLANK.
18918         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18919         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18920         (gl_WCTYPE_H_DEFAULTS): New macro.
18921         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18922         * modules/iswblank-tests: New file.
18923         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18924         * tests/test-wctype-h.c (main): Remove iswblank tests.
18925         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18926         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18927         of 'wctype-h'.
18928         * NEWS: Mention the change.
18929         * modules/mbchar (Depends-on): Add iswblank.
18930
18931 2011-02-08  Bruno Haible  <bruno@clisp.org>
18932
18933         di-set tests: Refactor.
18934         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18935         unnecessary includes.
18936         (ASSERT): Remove macro.
18937         (main): Make C90 compliant by avoiding variable declaration after
18938         statement.
18939         * modules/di-set-tests (Files): Add tests/macros.h.
18940
18941 2011-02-08  Bruno Haible  <bruno@clisp.org>
18942
18943         ino-map tests: Refactor.
18944         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18945         unnecessary includes.
18946         (ASSERT): Remove macro.
18947         (main): Make C90 compliant by avoiding variable declaration after
18948         statement.
18949         * modules/ino-map-tests (Files): Add tests/macros.h.
18950
18951 2011-02-08  Jim Meyering  <meyering@redhat.com>
18952
18953         di-set: add "const" to a cast
18954         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18955         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18956
18957 2011-02-06  Bruno Haible  <bruno@clisp.org>
18958
18959         Rename module 'wctype' to 'wctype-h'.
18960         * modules/wctype-h: Renamed from modules/wctype.
18961         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18962         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18963         (Files, Depends-on, Makefile.am): Update.
18964         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18965         (Files, Makefile.am): Update.
18966         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18967         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18968         * doc/posix-headers/wctype.texi: Update.
18969         * doc/posix-functions/iswalnum.texi: Update.
18970         * doc/posix-functions/iswalpha.texi: Update.
18971         * doc/posix-functions/iswblank.texi: Update.
18972         * doc/posix-functions/iswcntrl.texi: Update.
18973         * doc/posix-functions/iswdigit.texi: Update.
18974         * doc/posix-functions/iswgraph.texi: Update.
18975         * doc/posix-functions/iswlower.texi: Update.
18976         * doc/posix-functions/iswprint.texi: Update.
18977         * doc/posix-functions/iswpunct.texi: Update.
18978         * doc/posix-functions/iswspace.texi: Update.
18979         * doc/posix-functions/iswupper.texi: Update.
18980         * doc/posix-functions/iswxdigit.texi: Update.
18981         * doc/posix-functions/towlower.texi: Update.
18982         * doc/posix-functions/towupper.texi: Update.
18983         * NEWS: Mention the change.
18984         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18985         * modules/mbchar (Dependencies): Likewise.
18986         * modules/mbswidth (Dependencies): Likewise.
18987         * modules/quotearg (Dependencies): Likewise.
18988         * modules/regex (Dependencies): Likewise.
18989         * modules/wcscasecmp (Dependencies): Likewise.
18990         * modules/wcsncasecmp (Dependencies): Likewise.
18991         * modules/wcwidth (Dependencies): Likewise.
18992
18993 2011-02-06  Bruno Haible  <bruno@clisp.org>
18994
18995         New module 'wcswidth'.
18996         * modules/wcswidth: New file.
18997         * lib/wchar.in.h (wcswidth): New declaration.
18998         * lib/wcswidth.c: New file.
18999         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
19000         * m4/wcswidth.m4: New file.
19001         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
19002         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
19003         REPLACE_WCSWIDTH.
19004         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
19005         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
19006         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
19007         * doc/posix-functions/wcswidth.texi: Mention the new module.
19008
19009 2011-02-06  Bruno Haible  <bruno@clisp.org>
19010
19011         New module 'wcstok'.
19012         * modules/wcstok: New file.
19013         * lib/wchar.in.h (wcstok): New declaration.
19014         * lib/wcstok.c: New file.
19015         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
19016         * m4/wcstok.m4: New file.
19017         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
19018         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
19019         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
19020         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
19021         * doc/posix-functions/wcstok.texi: Mention the new module.
19022
19023 2011-02-06  Bruno Haible  <bruno@clisp.org>
19024
19025         New module 'wcsstr'.
19026         * modules/wcsstr: New file.
19027         * lib/wchar.in.h (wcsstr): New declaration.
19028         * lib/wcsstr.c: New file.
19029         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
19030         * m4/wcsstr.m4: New file.
19031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
19032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
19033         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
19034         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
19035         * doc/posix-functions/wcsstr.texi: Mention the new module.
19036
19037 2011-02-06  Bruno Haible  <bruno@clisp.org>
19038
19039         New module 'wcspbrk'.
19040         * modules/wcspbrk: New file.
19041         * lib/wchar.in.h (wcspbrk): New declaration.
19042         * lib/wcspbrk.c: New file.
19043         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
19044         * m4/wcspbrk.m4: New file.
19045         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
19046         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
19047         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
19048         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
19049         * doc/posix-functions/wcspbrk.texi: Mention the new module.
19050
19051 2011-02-06  Bruno Haible  <bruno@clisp.org>
19052
19053         New module 'wcsspn'.
19054         * modules/wcsspn: New file.
19055         * lib/wchar.in.h (wcsspn): New declaration.
19056         * lib/wcsspn.c: New file.
19057         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
19058         * m4/wcsspn.m4: New file.
19059         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
19060         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
19061         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
19062         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
19063         * doc/posix-functions/wcsspn.texi: Mention the new module.
19064
19065 2011-02-06  Bruno Haible  <bruno@clisp.org>
19066
19067         New module 'wcscspn'.
19068         * modules/wcscspn: New file.
19069         * lib/wchar.in.h (wcscspn): New declaration.
19070         * lib/wcscspn.c: New file.
19071         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
19072         * m4/wcscspn.m4: New file.
19073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
19074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
19075         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
19076         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
19077         * doc/posix-functions/wcscspn.texi: Mention the new module.
19078
19079 2011-02-06  Bruno Haible  <bruno@clisp.org>
19080
19081         New module 'wcsrchr'.
19082         * modules/wcsrchr: New file.
19083         * lib/wchar.in.h (wcsrchr): New declaration.
19084         * lib/wcsrchr.c: New file.
19085         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
19086         * m4/wcsrchr.m4: New file.
19087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
19088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
19089         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
19090         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
19091         * doc/posix-functions/wcsrchr.texi: Mention the new module.
19092
19093 2011-02-06  Bruno Haible  <bruno@clisp.org>
19094
19095         New module 'wcschr'.
19096         * modules/wcschr: New file.
19097         * lib/wchar.in.h (wcschr): New declaration.
19098         * lib/wcschr.c: New file.
19099         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
19100         * m4/wcschr.m4: New file.
19101         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
19102         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
19103         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
19104         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
19105         * doc/posix-functions/wcschr.texi: Mention the new module.
19106
19107 2011-02-06  Bruno Haible  <bruno@clisp.org>
19108
19109         New module 'wcsdup'.
19110         * modules/wcsdup: New file.
19111         * lib/wchar.in.h (wcsdup): New declaration.
19112         * lib/wcsdup.c: New file.
19113         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
19114         * m4/wcsdup.m4: New file.
19115         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
19116         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
19117         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
19118         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
19119         * doc/posix-functions/wcsdup.texi: Mention the new module.
19120
19121 2011-02-06  Bruno Haible  <bruno@clisp.org>
19122
19123         New module 'wcsxfrm'.
19124         * modules/wcsxfrm: New file.
19125         * lib/wchar.in.h (wcsxfrm): New declaration.
19126         * lib/wcsxfrm.c: New file.
19127         * lib/wcsxfrm-impl.h: New file.
19128         * m4/wcsxfrm.m4: New file.
19129         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
19130         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
19131         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
19132         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
19133         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
19134
19135 2011-02-06  Bruno Haible  <bruno@clisp.org>
19136
19137         New module 'wcscoll'.
19138         * modules/wcscoll: New file.
19139         * lib/wchar.in.h (wcscoll): New declaration.
19140         * lib/wcscoll.c: New file.
19141         * lib/wcscoll-impl.h: New file.
19142         * m4/wcscoll.m4: New file.
19143         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
19144         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
19145         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
19146         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
19147         * doc/posix-functions/wcscoll.texi: Mention the new module.
19148
19149 2011-02-06  Bruno Haible  <bruno@clisp.org>
19150
19151         New module 'wcsncasecmp'.
19152         * modules/wcsncasecmp: New file.
19153         * lib/wchar.in.h (wcsncasecmp): New declaration.
19154         * lib/wcsncasecmp.c: New file.
19155         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
19156         * m4/wcsncasecmp.m4: New file.
19157         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
19158         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
19159         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
19160         HAVE_WCSNCASECMP.
19161         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
19162         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
19163
19164 2011-02-06  Bruno Haible  <bruno@clisp.org>
19165
19166         New module 'wcscasecmp'.
19167         * modules/wcscasecmp: New file.
19168         * lib/wchar.in.h (wcscasecmp): New declaration.
19169         * lib/wcscasecmp.c: New file.
19170         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
19171         * m4/wcscasecmp.m4: New file.
19172         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
19173         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
19174         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
19175         HAVE_WCSCASECMP.
19176         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
19177         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
19178
19179 2011-02-05  Bruno Haible  <bruno@clisp.org>
19180
19181         New module 'wcsncmp'.
19182         * modules/wcsncmp: New file.
19183         * lib/wchar.in.h (wcsncmp): New declaration.
19184         * lib/wcsncmp.c: New file.
19185         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
19186         * m4/wcsncmp.m4: New file.
19187         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
19188         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
19189         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
19190         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
19191         * doc/posix-functions/wcsncmp.texi: Mention the new module.
19192
19193 2011-02-05  Bruno Haible  <bruno@clisp.org>
19194
19195         New module 'wcscmp'.
19196         * modules/wcscmp: New file.
19197         * lib/wchar.in.h (wcscmp): New declaration.
19198         * lib/wcscmp.c: New file.
19199         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
19200         * m4/wcscmp.m4: New file.
19201         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
19202         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
19203         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
19204         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
19205         * doc/posix-functions/wcscmp.texi: Mention the new module.
19206
19207 2011-02-05  Bruno Haible  <bruno@clisp.org>
19208
19209         New module 'wcsncat'.
19210         * modules/wcsncat: New file.
19211         * lib/wchar.in.h (wcsncat): New declaration.
19212         * lib/wcsncat.c: New file.
19213         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
19214         * m4/wcsncat.m4: New file.
19215         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
19216         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
19217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
19218         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
19219         * doc/posix-functions/wcsncat.texi: Mention the new module.
19220
19221 2011-02-05  Bruno Haible  <bruno@clisp.org>
19222
19223         New module 'wcscat'.
19224         * modules/wcscat: New file.
19225         * lib/wchar.in.h (wcscat): New declaration.
19226         * lib/wcscat.c: New file.
19227         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
19228         * m4/wcscat.m4: New file.
19229         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
19230         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
19231         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
19232         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
19233         * doc/posix-functions/wcscat.texi: Mention the new module.
19234
19235 2011-02-05  Bruno Haible  <bruno@clisp.org>
19236
19237         New module 'wcpncpy'.
19238         * modules/wcpncpy: New file.
19239         * lib/wchar.in.h (wcpncpy): New declaration.
19240         * lib/wcpncpy.c: New file.
19241         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19242         * m4/wcpncpy.m4: New file.
19243         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19244         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19245         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19246         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19247         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19248
19249 2011-02-05  Bruno Haible  <bruno@clisp.org>
19250
19251         New module 'wcsncpy'.
19252         * modules/wcsncpy: New file.
19253         * lib/wchar.in.h (wcsncpy): New declaration.
19254         * lib/wcsncpy.c: New file.
19255         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19256         * m4/wcsncpy.m4: New file.
19257         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19258         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19259         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19260         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19261         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19262
19263 2011-02-05  Bruno Haible  <bruno@clisp.org>
19264
19265         New module 'wcpcpy'.
19266         * modules/wcpcpy: New file.
19267         * lib/wchar.in.h (wcpcpy): New declaration.
19268         * lib/wcpcpy.c: New file.
19269         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19270         * m4/wcpcpy.m4: New file.
19271         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19272         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19273         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19274         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19275         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19276
19277 2011-02-05  Bruno Haible  <bruno@clisp.org>
19278
19279         New module 'wcscpy'.
19280         * modules/wcscpy: New file.
19281         * lib/wchar.in.h (wcscpy): New declaration.
19282         * lib/wcscpy.c: New file.
19283         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19284         * m4/wcscpy.m4: New file.
19285         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19286         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19287         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19288         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19289         * doc/posix-functions/wcscpy.texi: Mention the new module.
19290
19291 2011-02-05  Bruno Haible  <bruno@clisp.org>
19292
19293         New module 'wcsnlen'.
19294         * modules/wcsnlen: New file.
19295         * lib/wchar.in.h (wcsnlen): New declaration.
19296         * lib/wcsnlen.c: New file.
19297         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19298         * m4/wcsnlen.m4: New file.
19299         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19300         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19301         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19302         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19303         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19304
19305 2011-02-05  Bruno Haible  <bruno@clisp.org>
19306
19307         New module 'wcslen'.
19308         * modules/wcslen: New file.
19309         * lib/wchar.in.h (wcslen): New declaration.
19310         * lib/wcslen.c: New file.
19311         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19312         * m4/wcslen.m4: New file.
19313         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19314         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19315         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19316         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19317         * doc/posix-functions/wcslen.texi: Mention the new module.
19318
19319 2011-02-05  Bruno Haible  <bruno@clisp.org>
19320
19321         New module 'wmemset'.
19322         * modules/wmemset: New file.
19323         * lib/wchar.in.h (wmemset): New declaration.
19324         * lib/wmemset.c: New file.
19325         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19326         * m4/wmemset.m4: New file.
19327         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19328         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19329         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19330         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
19331         * doc/posix-functions/wmemset.texi: Mention the new module.
19332
19333 2011-02-05  Bruno Haible  <bruno@clisp.org>
19334
19335         New module 'wmemmove'.
19336         * modules/wmemmove: New file.
19337         * lib/wchar.in.h (wmemmove): New declaration.
19338         * lib/wmemmove.c: New file.
19339         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
19340         * m4/wmemmove.m4: New file.
19341         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
19342         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
19343         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
19344         HAVE_WMEMMOVE.
19345         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
19346         * doc/posix-functions/wmemmove.texi: Mention the new module.
19347
19348 2011-02-05  Bruno Haible  <bruno@clisp.org>
19349
19350         New module 'wmemcpy'.
19351         * modules/wmemcpy: New file.
19352         * lib/wchar.in.h (wmemcpy): New declaration.
19353         * lib/wmemcpy.c: New file.
19354         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19355         * m4/wmemcpy.m4: New file.
19356         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19357         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19358         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19359         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19360         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19361
19362 2011-02-05  Bruno Haible  <bruno@clisp.org>
19363
19364         New module 'wmemcmp'.
19365         * modules/wmemcmp: New file.
19366         * lib/wchar.in.h (wmemcmp): New declaration.
19367         * lib/wmemcmp.c: New file.
19368         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19369         * m4/wmemcmp.m4: New file.
19370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19372         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19373         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19374         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19375
19376 2011-02-07  Jim Meyering  <meyering@redhat.com>
19377
19378         di-set, ino-map: new modules, from coreutils
19379         * lib/di-set.c: New file.
19380         * lib/di-set.h: Likewise.
19381         * lib/ino-map.c: Likewise.
19382         * lib/ino-map.h: Likewise.
19383         * modules/di-set: Likewise.
19384         * modules/di-set-tests: Likewise.
19385         * modules/ino-map: Likewise.
19386         * modules/ino-map-tests: Likewise.
19387         * tests/test-di-set.c: Likewise.
19388         * tests/test-ino-map.c: Likewise.
19389
19390 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19391
19392         getloadavg: merge minor changes from Emacs
19393
19394         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19395         (getloadavg): Use memset, not bzero.
19396
19397         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19398         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19399         clash (bug#86).
19400
19401 2010-11-14  Bruno Haible  <bruno@clisp.org>
19402
19403         Allow multiple gnulib generated replacements to coexist.
19404         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19405         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19406         * lib/langinfo.in.h (nl_item): Likewise.
19407         * lib/math.in.h (_NaN, NAN): Likewise.
19408         * lib/netdb.in.h (struct addrinfo): Likewise.
19409         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19410         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19411         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19412         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19413         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19414         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19415         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19416         pthread_mutexattr_init, pthread_mutexattr_settype,
19417         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19418         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19419         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19420         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19421         * lib/sched.in.h (struct sched_param): Likewise.
19422         * lib/se-selinux.in.h (security_class_t, security_context_t,
19423         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19424         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19425         lsetfilecon, fsetfilecon, security_check_context,
19426         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19427         Likewise.
19428         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19429         Likewise.
19430         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19431         _gl_function_taking_int_returning_void_t, union sigval,
19432         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19433         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19434         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19435         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19436         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19437         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19438         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19439         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19440         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19441         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19442         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19443         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19444         socklen_t, rpl_fd_isset): Likewise.
19445         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19446         * lib/sys_time.in.h (struct timeval): Likewise.
19447         * lib/sys_times.in.h (struct tms): Likewise.
19448         * lib/sys_utsname.in.h (struct utsname):
19449         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19450         * lib/unistd.in.h (getpagesize): Likewise.
19451         * lib/wchar.in.h (mbstate_t): Likewise.
19452         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19453         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19454         towlower, towupper): Likewise.
19455         Reported by Sam Steingold <sds@gnu.org>.
19456
19457 2011-02-05  Eric Blake  <eblake@redhat.com>
19458
19459         unsetenv: work around Haiku issues
19460         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19461         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19462
19463 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19464
19465         libposix: avoid calling error() within libposix
19466         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19467         is defined.
19468
19469 2011-02-05  Eric Blake  <eblake@redhat.com>
19470
19471         strerror_r-posix: port to cygwin
19472         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19473         implementation.
19474         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19475         * tests/test-strerror_r.c (main): Fix test.
19476         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19477         issue.
19478
19479 2011-02-05  Bruno Haible  <bruno@clisp.org>
19480
19481         New module 'wmemchr'.
19482         * modules/wmemchr: New file.
19483         * lib/wchar.in.h (wmemchr): New declaration.
19484         * lib/wmemchr.c: New file.
19485         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19486         * m4/wmemchr.m4: New file.
19487         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19488         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19489         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19490         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19491         * doc/posix-functions/wmemchr.texi: Mention the new module.
19492
19493 2011-02-04  Eric Blake  <eblake@redhat.com>
19494
19495         fdopendir: detect FreeBSD bug
19496         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19497         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19498
19499 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19500
19501         stdbool: do not define HAVE_STDBOOL_H
19502         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19503         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19504         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19505         imported from the latest Autoconf git.  It was motivated by Emacs,
19506         which uses gnulib but does not need HAVE_STDBOOL_H.
19507
19508 2011-02-04  Bruno Haible  <bruno@clisp.org>
19509
19510         wcsnrtombs: Prepare for new module wwcsnrtombs.
19511         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19512         * lib/wcsnrtombs.c: Include it.
19513         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19514
19515         wcsrtombs: Prepare for new module wwcsrtombs.
19516         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19517         * lib/wcsrtombs.c: Include it.
19518         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19519
19520         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19521         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19522         * lib/mbsnrtowcs.c: Include it.
19523         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19524
19525         mbsrtowcs: Prepare for new module mbsrtowwcs.
19526         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19527         * lib/mbsrtowcs.c: Include it.
19528         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19529
19530 2011-02-04  Bruno Haible  <bruno@clisp.org>
19531
19532         vasnprintf: Reduce use of malloc for small format strings.
19533         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19534         (arguments): Add room for the first 7 arguments.
19535         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19536         (char_directives, u8_directives, u16_directives, u32_directives): Add
19537         room for the first 7 directives.
19538         * lib/printf-parse.c: Include <string.h>.
19539         (PRINTF_PARSE): Change memory handling code so that it uses the first
19540         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19541         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19542         Reported by Pádraig Brady <P@draigbrady.com>.
19543
19544 2011-01-31  Eric Blake  <eblake@redhat.com>
19545
19546         dup2: work around Haiku bug
19547         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19548         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19549         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19550         * tests/test-dup2.c (main): Enhance test.
19551
19552 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19553
19554         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19555         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19556         declared by eglibc 2.11.2.
19557         * lib/stdio.in.h: Likewise.
19558
19559 2011-01-31  Eric Blake  <eblake@redhat.com>
19560
19561         ignore-value: add missing test dependency
19562         * tests/test-ignore-value.c: Revert previous change; stdio.h
19563         provides off_t.
19564         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19565
19566 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19567
19568         mktime: clarify long_int width checking
19569         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19570         the top level, to make it clearer that the assumption about
19571         long_int width is being checked.  See
19572         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19573
19574 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19575
19576         ignore-value: Fix self-test.
19577         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19578
19579 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19580
19581         TYPE_MAXIMUM: avoid theoretically undefined behavior
19582         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19583         negative number, which the C Standard says has undefined behavior.
19584         In practice this is not a problem, but might as well do it by the book.
19585         Reported by Rich Felker and Eric Blake; see
19586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19587         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19588         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19589         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19590         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19591         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19592         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19593
19594         mktime: #undef mktime before #defining it
19595         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19596
19597         mktime: systematically normalize tm_isdst comparisons
19598         * lib/mktime.c (isdst_differ): New function.
19599         (__mktime_internal): Use it systematically for all isdst comparisons.
19600         This completes the fix for libc BZ #6723, and removes the need for
19601         normalizing tm_isdst.  See
19602         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19603         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19604
19605         mktime: fix some integer overflow issues and sidestep the rest
19606
19607         This was prompted by a bug report by Benjamin Lindner for MinGW
19608         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19609         His bug is due to signed integer overflow (0 - INT_MIN), and I
19610         I scanned through mktime.c looking for other integer overflow
19611         problems, fixing all the bugs I found.
19612
19613         Although the C Standard says the resulting code is still not safe
19614         in the presence of integer overflow, in practice it should be good
19615         enough for all real-world two's-complement implementations, except
19616         for debugging environments that deliberately trap on integer
19617         overflow (e.g., gcc -ftrapv).
19618
19619         * lib/mktime.c (WRAPV): New macro.
19620         (SHR): Also check that long_int and time_t shift right in the
19621         usual way, before using the fast-but-unportable method.
19622         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19623         used.  The code already assumed two's complement, so there's
19624         no need to test for alternatives.  All uses removed.
19625         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19626         the C standard.  Problem reported by Rich Felker in
19627         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19628         (twos_complement_arithmetic): Also check long_int and time_t.
19629         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19630         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19631         (__mktime_internal): Avoid integer overflow with unary subtraction
19632         in two instances where -1 - X is an adequate replacement for -X,
19633         since the calculations are approximate.
19634
19635 2011-01-29  Eric Blake  <eblake@redhat.com>
19636
19637         mktime: avoid infinite loop
19638         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19639         type; behavior is still undefined but portable to all known targets.
19640         Reported by Rich Felker.
19641
19642 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19643
19644         rename, unlink, same-inode: Relicense.
19645         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19646         * modules/unlink (License): Likewise.
19647         * modules/same-inode (License): Likewise.
19648
19649 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19650
19651         mktime: avoid problems on NetBSD 5 / i386
19652         * lib/mktime.c (long_int): New type.  This works around a problem
19653         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19654         but time_t is 64 bits, and where I expect the existing code is
19655         wrong in some cases.
19656         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19657         (ydhms_diff): Bring back the compile-time check for wide-enough
19658         year and yday.
19659
19660         mktime: fix misspelling in comment
19661         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19662         This merges all recent glibc changes of importance.
19663
19664 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19665
19666         move-if-change: cope with concurrent mv of identical file.
19667         * build-aux/move-if-change (CMPPROG): Accept environment
19668         variable as an override for `cmp'.
19669         (usage): Document CMPPROG.
19670         Adjust comparison to drop stdout.  Cope with failure of mv if
19671         the target file exists and is identical to the source, for
19672         parallel builds.
19673         Report from H.J. Lu against binutils in PR binutils/12283.
19674
19675 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19676
19677         * users.txt: Mention sharutils.
19678
19679 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19680
19681         * users.txt: Mention OATH Toolkit.
19682
19683 2011-01-27  Bruno Haible  <bruno@clisp.org>
19684
19685         Prepare for supporting FreeBSD 10.
19686         * build-aux/config.libpath: Remove handling of freebsd1*.
19687
19688 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19689
19690         Prepare for supporting FreeBSD 10.
19691         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19692         match FreeBSD 10.0.
19693
19694 2011-01-27  Bruno Haible  <bruno@clisp.org>
19695
19696         vma-iter, get-rusage-as: Add OpenBSD support.
19697         * modules/vma-iter (configure.ac): Test for mquery.
19698         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19699         * lib/vma-iter.c: Include <sys/mman.h>.
19700         (vma_iterate): Add an implementation based on mquery().
19701         * lib/resource-ext.h (get_rusage_as): Update comments.
19702         * lib/get-rusage-as.c: Likewise.
19703         * lib/get-rusage-data.c: Likewise.
19704
19705 2011-01-26  Karl Berry  <karl@gnu.org>
19706
19707         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19708         variables to make it easier to override the makeinfo program used.
19709
19710 2011-01-26  Eric Blake  <eblake@redhat.com>
19711
19712         fcntl: work around Haiku F_DUPFD bugs
19713         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19714         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19715         cloexec bit on duplication.
19716         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19717
19718 2011-01-26  Bruno Haible  <bruno@clisp.org>
19719
19720         Enable memory leak tests on AIX.
19721         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19722         * tests/test-fprintf-posix3.c (main): Likewise.
19723
19724 2011-01-26  Bruno Haible  <bruno@clisp.org>
19725
19726         Tests for module 'get-rusage-data'.
19727         * modules/get-rusage-data-tests: New file.
19728         * tests/test-get-rusage-data.c: New file.
19729
19730         New module 'get-rusage-data'.
19731         * lib/resource-ext.h (get_rusage_data): New declaration.
19732         * lib/get-rusage-data.c: New file.
19733         * modules/get-rusage-data: New file.
19734
19735 2011-01-25  Bruno Haible  <bruno@clisp.org>
19736
19737         get-rusage-as: Allow for easier testing.
19738         * lib/resource-ext.h (get_rusage_as): Add comment.
19739         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19740         (main): New function for interactive testing.
19741
19742 2011-01-25  Bruno Haible  <bruno@clisp.org>
19743
19744         vma-iter: Treat Haiku like BeOS.
19745         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19746         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19747
19748 2011-01-25  Eric Blake  <eblake@redhat.com>
19749
19750         c-stack: fix regression on cygwin when libsigsegv is present
19751         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19752
19753 2011-01-24  Bruno Haible  <bruno@clisp.org>
19754
19755         vma-iter: Avoid empty intervals.
19756         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19757         on an empty interval.
19758
19759 2011-01-24  Jim Meyering  <meyering@redhat.com>
19760
19761         u64: remove unnecessary #include
19762         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19763
19764 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19765
19766         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19767         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19768
19769 2011-01-23  Bruno Haible  <bruno@clisp.org>
19770
19771         New module 'vma-iter'.
19772         * lib/vma-iter.h: New file.
19773         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19774         * modules/vma-iter: New file.
19775         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19776         for get_rusage_as_via_iterator.
19777         (vma_iterate_callback): New function.
19778         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19779         * modules/get-rusage-as (Depends-on): Add vma-iter.
19780
19781 2011-01-23  Bruno Haible  <bruno@clisp.org>
19782
19783         uninorm: Tweak includes.
19784         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19785         Reported by Jim Meyering.
19786
19787 2011-01-23  Bruno Haible  <bruno@clisp.org>
19788
19789         get-rusage-as: Improve on NetBSD.
19790         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19791         /proc, like on FreeBSD.
19792
19793 2011-01-23  Jim Meyering  <meyering@redhat.com>
19794
19795         xreadlink.h: remove unnecessary #include
19796         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19797
19798         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19799         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19800
19801 2011-01-23  Bruno Haible  <bruno@clisp.org>
19802
19803         get-rusage-as: Fix bug.
19804         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19805         original limit when aborting the first loop.
19806
19807 2011-01-23  Bruno Haible  <bruno@clisp.org>
19808
19809         wctype: Ensure valid C syntax.
19810         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19811         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19812
19813 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19814
19815         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19816         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19817         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19818         as they are needed only for configure's test case.
19819         This removes two unnecessary symbols from config.h.
19820
19821         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19822         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19823         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19824         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19825         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19826         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19827         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19828         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19829         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19830         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19831         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19832         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19833         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19834         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19835         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19836         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19837         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19838         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19839
19840 2011-01-21  Eric Blake  <eblake@redhat.com>
19841
19842         maintainer-makefile: work with older git for submodule check
19843         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19844         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19845         Reported by Matthias Bolte.
19846
19847         bootstrap: minor portability fixes
19848         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19849         (usage): Omit leading capital and trailing . on help phrases, per
19850         GNU Coding Standards.
19851         (check_versions, top level): Prefix messages with script name.
19852
19853 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19854
19855         bootstrap: support --no-git option
19856         * build-aux/bootstrap: Add --no-git option, to be used when
19857         --gnulib-srcdir points to the exact desired checkout.
19858
19859 2011-01-21  Eric Blake  <eblake@redhat.com>
19860
19861         strerror_r-posix: work with glibc 2.13
19862         * lib/strerror_r.c (strerror_r): Fix return type.
19863
19864 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19865             Bruno Haible  <bruno@clisp.org>
19866
19867         uN_strstr: New unit tests.
19868         * modules/unistr/u8-strstr-tests: New file.
19869         * modules/unistr/u16-strstr-tests: New file.
19870         * modules/unistr/u32-strstr-tests: New file.
19871         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19872         * tests/unistr/test-u8-strstr.c: New file.
19873         * tests/unistr/test-u16-strstr.c: New file.
19874         * tests/unistr/test-u32-strstr.c: New file.
19875
19876 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19877             Bruno Haible  <bruno@clisp.org>
19878
19879         Make uN_strstr functions O(n) worst-case.
19880         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19881         16-bit and 32-bit unit cases, use the unibyte algorithm from
19882         lib/mbsstr.c.
19883         * lib/unistr/u8-strstr.c: Include <string.h>.
19884         (UNIT_IS_UINT8_T): New macro.
19885         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19886         (U_STRLEN, U_STRNLEN): New macros.
19887         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19888         (U_STRLEN, U_STRNLEN): New macros.
19889         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19890         (configure.ac): Update required libunistring version.
19891         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19892         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19893         malloca.
19894         (configure.ac): Update required libunistring version.
19895         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19896         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19897         malloca.
19898         (configure.ac): Update required libunistring version.
19899
19900 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19901             Bruno Haible  <bruno@clisp.org>
19902
19903         Prepare for faster uN_strstr functions.
19904         * lib/str-kmp.h: Support definable UNITs.
19905         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19906         needle_len argument.
19907         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19908         * lib/mbscasestr.c (mbscasestr): Likewise.
19909
19910 2011-01-21  Pádraig Brady <P@draigBrady.com>
19911
19912         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19913         * tests/test-malloca.c (main): Unset the environment variable
19914         to greatly speed up the test.
19915         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19916         * modules/malloca-tests: Depend on unsetenv.
19917
19918 2011-01-21  Pádraig Brady <P@draigBrady.com>
19919
19920         ignore-value: remove stdint dependency
19921         * lib/ignore-value.h: Remove <stdint.h>
19922         * modules/ignore-value: Remove stdint dependency.
19923
19924 2011-01-21  Jim Meyering  <meyering@redhat.com>
19925
19926         maint.mk: adjust variable name to be consistent with other gl_ vars
19927         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19928         to be lower case.
19929
19930 2011-01-20  Jim Meyering  <meyering@redhat.com>
19931
19932         maint.mk: make "check" depend on public-submodule-commit by default
19933         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19934
19935 2011-01-20  Bruno Haible  <bruno@clisp.org>
19936
19937         mbfile, mbiter: Complete change from 2008-12-21.
19938         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19939         * m4/mbiter.m4 (gl_MBITER): Likewise.
19940
19941 2011-01-20  Jim Meyering  <meyering@redhat.com>
19942
19943         init.sh: insert space between each function name and "()"
19944         * tests/init.sh: Make it a little easier to see that a function's
19945         name is "warn_", and not "warn" when looking at the first part of
19946         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19947
19948 2011-01-20  Jim Meyering  <meyering@redhat.com>
19949
19950         mountlist: clean up code formatting
19951         * lib/mountlist.c (read_file_system_list): Split a long line,
19952         correct bracing style, use NULL in place of "(struct statfs *)0",
19953         don't parenthesize return value, add spaces around "=" and after
19954         ";-in-for-stmt".
19955
19956 2011-01-14  Markus Duft <mduft@gentoo.org>
19957
19958         mountlist: add support for Interix
19959         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19960         Apply statvfs to all entries of /dev/fs.
19961         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19962         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19963
19964 2011-01-20  Jim Meyering  <meyering@redhat.com>
19965
19966         maint.mk: improve the public-submodule-commit rule
19967         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19968         to suppress printing of its commands... unless V=1.
19969         Add git submodule's --quiet option to suppress printing of e.g.,
19970         "Entering gnulib" output.
19971         "cd" into $(srcdir) before running git submodule.
19972
19973 2011-01-20  Bruno Haible  <bruno@clisp.org>
19974
19975         include_next: Fix bug introduced on 2011-01-18.
19976         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19977         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19978         ac_cv_header_... variable if the second argument is not 'check'.
19979         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19980         gl_NEXT_HEADERS_INTERNAL.
19981
19982 2011-01-20  Bruno Haible  <bruno@clisp.org>
19983
19984         Allow the user to avoid the GNULIB_TEST_* macros.
19985         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19986         Suggested by Paul Eggert.
19987
19988 2011-01-14  Jim Meyering  <meyering@redhat.com>
19989
19990         bootstrap: avoid failure when there is no .gitmodules file
19991         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19992         has been assigned to, even when its value is the empty string.
19993         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19994         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19995         Reported by John W. Eaton <jwe@gnu.org>.
19996
19997 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19998
19999         assume <ctype.h>, ..., <time.h> exist
20000         For years gnulib has been assuming the existence of the headers
20001         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
20002         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
20003         them, since they don't appear to be needed.
20004         * README (Portability guidelines): Document this.
20005         * lib/flock.c: Assume <fcntl.h> exists.
20006         * lib/regex_internal.h: Assume <locale.h> exists.
20007         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
20008         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
20009         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
20010         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
20011         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
20012         * m4/regex.m4 (gl_REGEX): Likewise.
20013         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
20014         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
20015         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
20016         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
20017         * tests/test-argp.c: Likewise.
20018         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
20019
20020         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
20021         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
20022         AA_APPLE_UNIVERSAL_BUILD.  See
20023         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
20024         * NEWS: Document this.
20025
20026 2011-01-19  Eric Blake  <eblake@redhat.com>
20027
20028         c-stack: assume stack overflow if SA_SIGINFO unsupported
20029         * lib/c-stack.c (SIGACTION_WORKS): Rename...
20030         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
20031         sigaction will work.
20032         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
20033         behavior match Linux.
20034         * tests/test-c-stack.c (main): Prefer NULL for pointers.
20035
20036         stdbool-tests: accomodate Haiku
20037         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
20038
20039         binary-io: fix O_TEXT on Haiku
20040         * modules/binary-io (Depends-on): Add fcntl-h.
20041         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
20042         than blindly undefining O_TEXT.
20043         Reported by Scott McCreary.
20044
20045 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20046
20047         include_next: do not check for standard headers like stddef.h
20048
20049         I found this problem when modifying Emacs to use gnulib.
20050         I noticed that it added HAVE_STDDEF_H to config.h, even though
20051         gnulib always assumes <stddef.h> exists as per README and this
20052         symbol is unnecessary.
20053         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
20054         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
20055         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
20056         faster for headers like stddef.h that are known to exist.
20057         (gl_CHECK_NEXT_HEADERS): Use it.
20058         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
20059         rather than gl_CHECK_NEXT_HEADERS.
20060         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
20061         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
20062
20063 2011-01-18  Eric Blake  <eblake@redhat.com>
20064
20065         ansi-c++-opt: skip C++ dependency style if C++ is unused
20066         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
20067         tests when we know C++ compilation is not desired.
20068         Reported by Scott McCreary.
20069
20070 2011-01-18  Bruno Haible  <bruno@clisp.org>
20071
20072         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
20073         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
20074         (main): Perform test also when getrlimit and setrlimit don't exist or
20075         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
20076         limiting the address space size using setrlimit, compare the address
20077         space size before and after the the test.
20078         * tests/test-dprintf-posix2.c: Likewise.
20079         * tests/test-fprintf-posix3.sh: Update skip messages.
20080         * tests/test-dprintf-posix2.sh: Likewise.
20081         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
20082         * modules/dprintf-posix-tests (Depends-on): Likewise.
20083         Reported by Bruce Korb <bkorb@gnu.org> and
20084         Gary V. Vaughan <gary@gnu.org>.
20085
20086 2011-01-18  Bruno Haible  <bruno@clisp.org>
20087
20088         get-rusage-as: Improvement for Cygwin.
20089         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
20090         areas that are merely reserved.
20091
20092 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20093
20094         strftime: remove dependencies on multibyte modules
20095
20096         strftime depended on mbrlen, mbsinit, and wchar, but these modules
20097         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
20098         only if __osf__ is defined, and I suspect OSF doesn't need these
20099         other modules.  If my guess is wrong, we'll need to come up with a
20100         variant of strftime that doesn't need the multibyte modules.
20101
20102         I discovered this problem when attempting modify Emacs to use the
20103         strftime module.  With the previous gnulib, this caused Emacs to
20104         need 31 new files, ranging from lib/config.charset to
20105         m4/wint_t.m4.  This was overkill and I expect would be offputting
20106         to the Emacs maintainers.  After this change, only 6 new files are
20107         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
20108         stdbool.m4, and tm_gmtoff.m4.
20109
20110         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
20111         Suggested by Bruno Haible in
20112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
20113         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
20114         and do not check for wchar.h.
20115         * modules/strftime (Files): Remove m4/mbstate_t.m4.
20116         (Depends-on): Remove mbrlen, mbsinit, wchar.
20117
20118 2011-01-18  Bruno Haible  <bruno@clisp.org>
20119
20120         Tests for module 'get-rusage-as'.
20121         * modules/get-rusage-as-tests: New file.
20122         * tests/test-get-rusage-as.c: New file.
20123
20124         New module 'get-rusage-as'.
20125         * modules/get-rusage-as: New file.
20126         * lib/resource-ext.h: New file.
20127         * lib/get-rusage-as.c: New file.
20128
20129 2011-01-17  Eric Blake  <eblake@redhat.com>
20130
20131         sigaction: relax license from LGPLv3+ to LGPLv2+
20132         * modules/sigaction (License): Relax to LGPLv2+.
20133
20134 2011-01-14  Bruno Haible  <bruno@clisp.org>
20135
20136         filemode: Make function declarations usable in C++ mode.
20137         * lib/filemode.h: Enclose function declarations in extern "C" block.
20138         Reported by John W. Eaton <jwe@gnu.org>.
20139
20140 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
20141
20142         save-cwd: no longer include "xgetcwd.h"
20143         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
20144         This avoids a compilation failure in projects that use save-cwd
20145         without also using the xgetcwd module.
20146
20147 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20148
20149         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
20150         This is so that a program like Emacs, which needs only dtoastr,
20151         does not have to bother with distributing and compiling ftoastr
20152         and ldtoastr.
20153         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
20154         * modules/dtoastr, modules/ldtoastr: New files.
20155         * modules/ftoastr: Now works just for 'float'.
20156         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
20157         (Makefile.am): Remove ftoastr.h (not needed and no effect),
20158         dtoastr.c, ldtoastr.c.
20159
20160 2011-01-11  Jim Meyering  <meyering@redhat.com>
20161
20162         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
20163         There is no need to work around the lack of the fchdir function,
20164         since gnulib can now provide a replacement when required.
20165         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
20166         * modules/save-cwd (Depends-on): Add fchdir.
20167
20168 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20169
20170         openat, save-cwd: avoid xmalloc
20171
20172         This removes a direct (but undocumented) dependency of openat on
20173         xalloc, along with an indirect dependency via save-cwd.  It also
20174         removes a dependency of save-cwd on xgetcwd, and thereby
20175         indirectly on xalloc.  This change causes the openat substitute
20176         to fall back on save_cwd when memory is tight, and for save_cwd to
20177         fail instead of dying when memory is tight, but that's good enough.
20178         Problem and initial idea for fix reported by Bastien Roucaries in
20179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
20180
20181         * lib/openat-proc.c: Include stdlib.h (for malloc), not
20182         xalloc.h (for xmalloc).
20183         (openat_proc_name): Use malloc, not xmalloc.
20184         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
20185         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
20186
20187         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
20188         This avoids heap allocation for file names whose lengths are in
20189         the range 512..1023, with the upper bound increasing to at most
20190         4031 depending on the platform's PATH_MAX.  (We do not want
20191         pathmax.h here as it might supply a non-constant PATH_MAX.)
20192         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
20193         Perhaps they should be moved to malloca.h?
20194         (OPENAT_BUFFER_SIZE): Use them.
20195
20196 2011-01-10  Bruno Haible  <bruno@clisp.org>
20197
20198         doc: Update users.txt.
20199         * users.txt: Add recutils.
20200
20201 2011-01-09  Karl Berry  <karl@gnu.org>
20202
20203         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
20204
20205         * doc/configmake.texi: New file.
20206         * doc/gnulib.texi: Include it.
20207         * modules/configmake: Move documentation from here.
20208
20209 2011-01-09  Bruno Haible  <bruno@clisp.org>
20210
20211         Update to Unicode 6.0.0.
20212         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
20213         (get_lbp): Update for Unicode 6.0.0.
20214         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
20215         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
20216         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
20217         U+11001, U+11038..U+11046. Remove U+06DE.
20218         (uc_width): Fix bounds of planes.
20219         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20220         lib/uniwidth/width.c.
20221         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
20222         trailing whitespace removed.
20223         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
20224         without comments, but with the original copyright notice.
20225         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
20226         * lib/unicase/ignorable.h: Likewise.
20227         * lib/unicase/tocasefold.h: Likewise.
20228         * lib/unicase/tolower.h: Likewise.
20229         * lib/unicase/totitle.h: Likewise.
20230         * lib/unicase/toupper.h: Likewise.
20231         * lib/unictype/bidi_of.h: Likewise.
20232         * lib/unictype/blocks.h: Likewise.
20233         * lib/unictype/categ_C.h: Likewise.
20234         * lib/unictype/categ_Cn.h: Likewise.
20235         * lib/unictype/categ_L.h: Likewise.
20236         * lib/unictype/categ_Ll.h: Likewise.
20237         * lib/unictype/categ_Lm.h: Likewise.
20238         * lib/unictype/categ_Lo.h: Likewise.
20239         * lib/unictype/categ_Lu.h: Likewise.
20240         * lib/unictype/categ_M.h: Likewise.
20241         * lib/unictype/categ_Mc.h: Likewise.
20242         * lib/unictype/categ_Me.h: Likewise.
20243         * lib/unictype/categ_Mn.h: Likewise.
20244         * lib/unictype/categ_N.h: Likewise.
20245         * lib/unictype/categ_Nd.h: Likewise.
20246         * lib/unictype/categ_No.h: Likewise.
20247         * lib/unictype/categ_P.h: Likewise.
20248         * lib/unictype/categ_Po.h: Likewise.
20249         * lib/unictype/categ_S.h: Likewise.
20250         * lib/unictype/categ_Sc.h: Likewise.
20251         * lib/unictype/categ_Sk.h: Likewise.
20252         * lib/unictype/categ_Sm.h: Likewise.
20253         * lib/unictype/categ_So.h: Likewise.
20254         * lib/unictype/categ_of.h: Likewise.
20255         * lib/unictype/combining.h: Likewise.
20256         * lib/unictype/ctype_alnum.h: Likewise.
20257         * lib/unictype/ctype_alpha.h: Likewise.
20258         * lib/unictype/ctype_graph.h: Likewise.
20259         * lib/unictype/ctype_lower.h: Likewise.
20260         * lib/unictype/ctype_print.h: Likewise.
20261         * lib/unictype/ctype_punct.h: Likewise.
20262         * lib/unictype/ctype_upper.h: Likewise.
20263         * lib/unictype/decdigit.h: Likewise.
20264         * lib/unictype/digit.h: Likewise.
20265         * lib/unictype/numeric.h: Likewise.
20266         * lib/unictype/pr_alphabetic.h: Likewise.
20267         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20268         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20269         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20270         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20271         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20272         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20273         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20274         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20275         * lib/unictype/pr_case_ignorable.h: Likewise.
20276         * lib/unictype/pr_cased.h: Likewise.
20277         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20278         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20279         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20280         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20281         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20282         * lib/unictype/pr_combining.h: Likewise.
20283         * lib/unictype/pr_composite.h: Likewise.
20284         * lib/unictype/pr_currency_symbol.h: Likewise.
20285         * lib/unictype/pr_decimal_digit.h: Likewise.
20286         * lib/unictype/pr_deprecated.h: Likewise.
20287         * lib/unictype/pr_format_control.h: Likewise.
20288         * lib/unictype/pr_grapheme_base.h: Likewise.
20289         * lib/unictype/pr_grapheme_extend.h: Likewise.
20290         * lib/unictype/pr_grapheme_link.h: Likewise.
20291         * lib/unictype/pr_id_continue.h: Likewise.
20292         * lib/unictype/pr_id_start.h: Likewise.
20293         * lib/unictype/pr_ideographic.h: Likewise.
20294         * lib/unictype/pr_lowercase.h: Likewise.
20295         * lib/unictype/pr_math.h: Likewise.
20296         * lib/unictype/pr_numeric.h: Likewise.
20297         * lib/unictype/pr_other_alphabetic.h: Likewise.
20298         * lib/unictype/pr_other_id_continue.h: Likewise.
20299         * lib/unictype/pr_other_math.h: Likewise.
20300         * lib/unictype/pr_punctuation.h: Likewise.
20301         * lib/unictype/pr_sentence_terminal.h: Likewise.
20302         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20303         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20304         * lib/unictype/pr_unified_ideograph.h: Likewise.
20305         * lib/unictype/pr_uppercase.h: Likewise.
20306         * lib/unictype/pr_xid_continue.h: Likewise.
20307         * lib/unictype/pr_xid_start.h: Likewise.
20308         * lib/unictype/scripts.h: Likewise.
20309         * lib/unictype/scripts_byname.gperf: Likewise.
20310         * lib/unictype/sy_java_ident.h: Likewise.
20311         * lib/unigbrk/gbrkprop.h: Likewise.
20312         * lib/unilbrk/lbrkprop1.h: Likewise.
20313         * lib/unilbrk/lbrkprop2.h: Likewise.
20314         * lib/uninorm/decomposition-table2.h: Likewise.
20315         * lib/uniwbrk/wbrkprop.h: Likewise.
20316         * tests/unicase/test-cased.c: Likewise.
20317         * tests/unicase/test-ignorable.c: Likewise.
20318         * tests/unicase/test-uc_tolower.c: Likewise.
20319         * tests/unicase/test-uc_totitle.c: Likewise.
20320         * tests/unicase/test-uc_toupper.c: Likewise.
20321         * tests/unictype/test-categ_C.c: Likewise.
20322         * tests/unictype/test-categ_Cn.c: Likewise.
20323         * tests/unictype/test-categ_L.c: Likewise.
20324         * tests/unictype/test-categ_Ll.c: Likewise.
20325         * tests/unictype/test-categ_Lm.c: Likewise.
20326         * tests/unictype/test-categ_Lo.c: Likewise.
20327         * tests/unictype/test-categ_Lu.c: Likewise.
20328         * tests/unictype/test-categ_M.c: Likewise.
20329         * tests/unictype/test-categ_Mc.c: Likewise.
20330         * tests/unictype/test-categ_Me.c: Likewise.
20331         * tests/unictype/test-categ_Mn.c: Likewise.
20332         * tests/unictype/test-categ_N.c: Likewise.
20333         * tests/unictype/test-categ_Nd.c: Likewise.
20334         * tests/unictype/test-categ_No.c: Likewise.
20335         * tests/unictype/test-categ_P.c: Likewise.
20336         * tests/unictype/test-categ_Po.c: Likewise.
20337         * tests/unictype/test-categ_S.c: Likewise.
20338         * tests/unictype/test-categ_Sc.c: Likewise.
20339         * tests/unictype/test-categ_Sk.c: Likewise.
20340         * tests/unictype/test-categ_Sm.c: Likewise.
20341         * tests/unictype/test-categ_So.c: Likewise.
20342         * tests/unictype/test-ctype_alnum.c: Likewise.
20343         * tests/unictype/test-ctype_alpha.c: Likewise.
20344         * tests/unictype/test-ctype_graph.c: Likewise.
20345         * tests/unictype/test-ctype_lower.c: Likewise.
20346         * tests/unictype/test-ctype_print.c: Likewise.
20347         * tests/unictype/test-ctype_punct.c: Likewise.
20348         * tests/unictype/test-ctype_upper.c: Likewise.
20349         * tests/unictype/test-decdigit.h: Likewise.
20350         * tests/unictype/test-digit.h: Likewise.
20351         * tests/unictype/test-numeric.h: Likewise.
20352         * tests/unictype/test-pr_alphabetic.c: Likewise.
20353         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20354         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20355         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20356         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20357         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20358         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20359         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20360         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20361         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20362         * tests/unictype/test-pr_cased.c: Likewise.
20363         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20364         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20365         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20366         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20367         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20368         * tests/unictype/test-pr_combining.c: Likewise.
20369         * tests/unictype/test-pr_composite.c: Likewise.
20370         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20371         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20372         * tests/unictype/test-pr_deprecated.c: Likewise.
20373         * tests/unictype/test-pr_format_control.c: Likewise.
20374         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20375         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20376         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20377         * tests/unictype/test-pr_id_continue.c: Likewise.
20378         * tests/unictype/test-pr_id_start.c: Likewise.
20379         * tests/unictype/test-pr_ideographic.c: Likewise.
20380         * tests/unictype/test-pr_lowercase.c: Likewise.
20381         * tests/unictype/test-pr_math.c: Likewise.
20382         * tests/unictype/test-pr_numeric.c: Likewise.
20383         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20384         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20385         * tests/unictype/test-pr_other_math.c: Likewise.
20386         * tests/unictype/test-pr_punctuation.c: Likewise.
20387         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20388         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20389         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20390         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20391         * tests/unictype/test-pr_uppercase.c: Likewise.
20392         * tests/unictype/test-pr_xid_continue.c: Likewise.
20393         * tests/unictype/test-pr_xid_start.c: Likewise.
20394         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20395         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20396         changes.
20397         * lib/unictype/categ_Cc.h: Likewise.
20398         * lib/unictype/categ_Cf.h: Likewise.
20399         * lib/unictype/categ_Co.h: Likewise.
20400         * lib/unictype/categ_Cs.h: Likewise.
20401         * lib/unictype/categ_Lt.h: Likewise.
20402         * lib/unictype/categ_Nl.h: Likewise.
20403         * lib/unictype/categ_Pc.h: Likewise.
20404         * lib/unictype/categ_Pd.h: Likewise.
20405         * lib/unictype/categ_Pe.h: Likewise.
20406         * lib/unictype/categ_Pf.h: Likewise.
20407         * lib/unictype/categ_Pi.h: Likewise.
20408         * lib/unictype/categ_Ps.h: Likewise.
20409         * lib/unictype/categ_Z.h: Likewise.
20410         * lib/unictype/categ_Zl.h: Likewise.
20411         * lib/unictype/categ_Zp.h: Likewise.
20412         * lib/unictype/categ_Zs.h: Likewise.
20413         * lib/unictype/ctype_blank.h: Likewise.
20414         * lib/unictype/ctype_cntrl.h: Likewise.
20415         * lib/unictype/ctype_digit.h: Likewise.
20416         * lib/unictype/ctype_space.h: Likewise.
20417         * lib/unictype/ctype_xdigit.h: Likewise.
20418         * lib/unictype/mirror.h: Likewise.
20419         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20420         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20421         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20422         * lib/unictype/pr_bidi_control.h: Likewise.
20423         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20424         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20425         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20426         * lib/unictype/pr_bidi_pdf.h: Likewise.
20427         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20428         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20429         * lib/unictype/pr_dash.h: Likewise.
20430         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20431         * lib/unictype/pr_diacritic.h: Likewise.
20432         * lib/unictype/pr_extender.h: Likewise.
20433         * lib/unictype/pr_hex_digit.h: Likewise.
20434         * lib/unictype/pr_hyphen.h: Likewise.
20435         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20436         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20437         * lib/unictype/pr_ignorable_control.h: Likewise.
20438         * lib/unictype/pr_iso_control.h: Likewise.
20439         * lib/unictype/pr_join_control.h: Likewise.
20440         * lib/unictype/pr_left_of_pair.h: Likewise.
20441         * lib/unictype/pr_line_separator.h: Likewise.
20442         * lib/unictype/pr_logical_order_exception.h: Likewise.
20443         * lib/unictype/pr_non_break.h: Likewise.
20444         * lib/unictype/pr_not_a_character.h: Likewise.
20445         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20446         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20447         * lib/unictype/pr_other_id_start.h: Likewise.
20448         * lib/unictype/pr_other_lowercase.h: Likewise.
20449         * lib/unictype/pr_other_uppercase.h: Likewise.
20450         * lib/unictype/pr_paired_punctuation.h: Likewise.
20451         * lib/unictype/pr_paragraph_separator.h: Likewise.
20452         * lib/unictype/pr_pattern_syntax.h: Likewise.
20453         * lib/unictype/pr_pattern_white_space.h: Likewise.
20454         * lib/unictype/pr_private_use.h: Likewise.
20455         * lib/unictype/pr_quotation_mark.h: Likewise.
20456         * lib/unictype/pr_radical.h: Likewise.
20457         * lib/unictype/pr_soft_dotted.h: Likewise.
20458         * lib/unictype/pr_space.h: Likewise.
20459         * lib/unictype/pr_titlecase.h: Likewise.
20460         * lib/unictype/pr_variation_selector.h: Likewise.
20461         * lib/unictype/pr_white_space.h: Likewise.
20462         * lib/unictype/pr_zero_width.h: Likewise.
20463         * lib/unictype/sy_c_ident.h: Likewise.
20464         * lib/unictype/sy_c_whitespace.h: Likewise.
20465         * lib/unictype/sy_java_whitespace.h: Likewise.
20466         * lib/uninorm/composition-table.gperf: Likewise.
20467         * lib/uninorm/decomposition-table1.h: Likewise.
20468         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20469         LB8.
20470         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20471         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20472         * modules/unictype/*: Bump version number of expected libunistring
20473         version.
20474
20475 2011-01-09  Bruno Haible  <bruno@clisp.org>
20476
20477         Update to Unicode 5.2.0.
20478         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20479         trailing whitespace removed.
20480
20481 2011-01-09  Bruno Haible  <bruno@clisp.org>
20482
20483         New Unicode character properties, from Unicode 5.2.0.
20484         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20485         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20486         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20487         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20488         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20489         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20490         uc_is_property_cased, uc_is_property_case_ignorable,
20491         uc_is_property_changes_when_lowercased,
20492         uc_is_property_changes_when_uppercased,
20493         uc_is_property_changes_when_titlecased,
20494         uc_is_property_changes_when_casefolded,
20495         uc_is_property_changes_when_casemapped): New declarations.
20496         * lib/unictype/pr_byname.gperf: Add the new properties.
20497         * modules/unictype/property-byname (Depends-on): Depend on the new
20498         properties modules.
20499         * modules/unictype/property-all (Depends-on): Likewise.
20500         * MODULES.html.sh (Unicode string functions): Add
20501         unictype/property-case-ignorable, unictype/property-cased,
20502         unictype/property-changes-when-casefolded,
20503         unictype/property-changes-when-casemapped,
20504         unictype/property-changes-when-lowercased,
20505         unictype/property-changes-when-titlecased,
20506         unictype/property-changes-when-uppercased.
20507
20508         New module 'unictype/property-changes-when-casemapped'.
20509         * modules/unictype/property-changes-when-casemapped: New file.
20510         * lib/unictype/pr_changes_when_casemapped.c: New file.
20511         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20512         generated by gen-uni-tables.
20513         * modules/unictype/property-changes-when-casemapped-tests: New file.
20514         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20515         automatically generated by gen-uni-tables.
20516
20517         New module 'unictype/property-changes-when-casefolded'.
20518         * modules/unictype/property-changes-when-casefolded: New file.
20519         * lib/unictype/pr_changes_when_casefolded.c: New file.
20520         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20521         generated by gen-uni-tables.
20522         * modules/unictype/property-changes-when-casefolded-tests: New file.
20523         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20524         automatically generated by gen-uni-tables.
20525
20526         New module 'unictype/property-changes-when-titlecased'.
20527         * modules/unictype/property-changes-when-titlecased: New file.
20528         * lib/unictype/pr_changes_when_titlecased.c: New file.
20529         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20530         generated by gen-uni-tables.
20531         * modules/unictype/property-changes-when-titlecased-tests: New file.
20532         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20533         automatically generated by gen-uni-tables.
20534
20535         New module 'unictype/property-changes-when-uppercased'.
20536         * modules/unictype/property-changes-when-uppercased: New file.
20537         * lib/unictype/pr_changes_when_uppercased.c: New file.
20538         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20539         generated by gen-uni-tables.
20540         * modules/unictype/property-changes-when-uppercased-tests: New file.
20541         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20542         automatically generated by gen-uni-tables.
20543
20544         New module 'unictype/property-changes-when-lowercased'.
20545         * modules/unictype/property-changes-when-lowercased: New file.
20546         * lib/unictype/pr_changes_when_lowercased.c: New file.
20547         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20548         generated by gen-uni-tables.
20549         * modules/unictype/property-changes-when-lowercased-tests: New file.
20550         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20551         automatically generated by gen-uni-tables.
20552
20553         New module 'unictype/property-case-ignorable'.
20554         * modules/unictype/property-case-ignorable: New file.
20555         * lib/unictype/pr_case_ignorable.c: New file.
20556         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20557         by gen-uni-tables.
20558         * modules/unictype/property-case-ignorable-tests: New file.
20559         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20560         generated by gen-uni-tables.
20561
20562         New module 'unictype/property-cased'.
20563         * modules/unictype/property-cased: New file.
20564         * lib/unictype/pr_cased.c: New file.
20565         * lib/unictype/pr_cased.h: New file, automatically generated by
20566         gen-uni-tables.
20567         * modules/unictype/property-cased-tests: New file.
20568         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20569         gen-uni-tables.
20570
20571 2011-01-09  Bruno Haible  <bruno@clisp.org>
20572
20573         Update to Unicode 5.2.0.
20574         * lib/gen-uni-tables.c (output_predicate, output_category,
20575         output_combclass, output_bidi_category, output_decimal_digit_test,
20576         output_decimal_digit, output_digit_test, output_digit,
20577         output_numeric_test, output_numeric, output_mirror, output_scripts,
20578         output_scripts_byname, output_blocks, output_ident_category): Fix
20579         comment header.
20580         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20581         get_wbp.
20582         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20583         items.
20584         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20585         Changes_When_Lowercased, Changes_When_Uppercased,
20586         Changes_When_Titlecased, Changes_When_Casefolded,
20587         Changes_When_Casemapped.
20588         (is_property_alphabetic, is_property_default_ignorable_code_point):
20589         Update for Unicode 5.2.0.
20590         (is_property_cased, is_property_case_ignorable,
20591         is_property_changes_when_lowercased,
20592         is_property_changes_when_uppercased,
20593         is_property_changes_when_titlecased,
20594         is_property_changes_when_casefolded,
20595         is_property_changes_when_casemapped): New functions.
20596         (output_properties): Output also the properties cased, case_ignorable,
20597         changes_when_lowercased, changes_when_uppercased,
20598         changes_when_titlecased, changes_when_casefolded,
20599         changes_when_casemapped.
20600         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20601         Unicode TR#11 revision 17 -> 19.
20602         (LBP_CP): New enumeration value.
20603         (LBP_*): Adjust values accordingly.
20604         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20605         TR#14 revision 22 -> 24.
20606         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20607         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20608         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20609         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20610         is_WBP_MIDLETTER.
20611         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20612         the code1 and code2 of each composition rule.
20613         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20614         * lib/unicase/ignorable.h: Likewise.
20615         * lib/unicase/tocasefold.h: Likewise.
20616         * lib/unicase/tolower.h: Likewise.
20617         * lib/unicase/totitle.h: Likewise.
20618         * lib/unicase/toupper.h: Likewise.
20619         * lib/unictype/bidi_of.h: Likewise.
20620         * lib/unictype/blocks.h: Likewise.
20621         * lib/unictype/categ_C.h: Likewise.
20622         * lib/unictype/categ_Cf.h: Likewise.
20623         * lib/unictype/categ_Cn.h: Likewise.
20624         * lib/unictype/categ_L.h: Likewise.
20625         * lib/unictype/categ_Ll.h: Likewise.
20626         * lib/unictype/categ_Lm.h: Likewise.
20627         * lib/unictype/categ_Lo.h: Likewise.
20628         * lib/unictype/categ_Lu.h: Likewise.
20629         * lib/unictype/categ_M.h: Likewise.
20630         * lib/unictype/categ_Mc.h: Likewise.
20631         * lib/unictype/categ_Mn.h: Likewise.
20632         * lib/unictype/categ_N.h: Likewise.
20633         * lib/unictype/categ_Nd.h: Likewise.
20634         * lib/unictype/categ_Nl.h: Likewise.
20635         * lib/unictype/categ_No.h: Likewise.
20636         * lib/unictype/categ_P.h: Likewise.
20637         * lib/unictype/categ_Pd.h: Likewise.
20638         * lib/unictype/categ_Po.h: Likewise.
20639         * lib/unictype/categ_S.h: Likewise.
20640         * lib/unictype/categ_Sc.h: Likewise.
20641         * lib/unictype/categ_So.h: Likewise.
20642         * lib/unictype/categ_of.h: Likewise.
20643         * lib/unictype/combining.h: Likewise.
20644         * lib/unictype/ctype_alnum.h: Likewise.
20645         * lib/unictype/ctype_alpha.h: Likewise.
20646         * lib/unictype/ctype_graph.h: Likewise.
20647         * lib/unictype/ctype_lower.h: Likewise.
20648         * lib/unictype/ctype_print.h: Likewise.
20649         * lib/unictype/ctype_punct.h: Likewise.
20650         * lib/unictype/ctype_upper.h: Likewise.
20651         * lib/unictype/decdigit.h: Likewise.
20652         * lib/unictype/digit.h: Likewise.
20653         * lib/unictype/numeric.h: Likewise.
20654         * lib/unictype/pr_alphabetic.h: Likewise.
20655         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20656         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20657         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20658         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20659         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20660         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20661         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20662         * lib/unictype/pr_combining.h: Likewise.
20663         * lib/unictype/pr_composite.h: Likewise.
20664         * lib/unictype/pr_currency_symbol.h: Likewise.
20665         * lib/unictype/pr_dash.h: Likewise.
20666         * lib/unictype/pr_decimal_digit.h: Likewise.
20667         * lib/unictype/pr_deprecated.h: Likewise.
20668         * lib/unictype/pr_diacritic.h: Likewise.
20669         * lib/unictype/pr_extender.h: Likewise.
20670         * lib/unictype/pr_grapheme_base.h: Likewise.
20671         * lib/unictype/pr_grapheme_extend.h: Likewise.
20672         * lib/unictype/pr_grapheme_link.h: Likewise.
20673         * lib/unictype/pr_id_continue.h: Likewise.
20674         * lib/unictype/pr_id_start.h: Likewise.
20675         * lib/unictype/pr_ideographic.h: Likewise.
20676         * lib/unictype/pr_ignorable_control.h: Likewise.
20677         * lib/unictype/pr_logical_order_exception.h: Likewise.
20678         * lib/unictype/pr_lowercase.h: Likewise.
20679         * lib/unictype/pr_numeric.h: Likewise.
20680         * lib/unictype/pr_other_alphabetic.h: Likewise.
20681         * lib/unictype/pr_punctuation.h: Likewise.
20682         * lib/unictype/pr_sentence_terminal.h: Likewise.
20683         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20684         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20685         * lib/unictype/pr_unified_ideograph.h: Likewise.
20686         * lib/unictype/pr_uppercase.h: Likewise.
20687         * lib/unictype/pr_xid_continue.h: Likewise.
20688         * lib/unictype/pr_xid_start.h: Likewise.
20689         * lib/unictype/pr_zero_width.h: Likewise.
20690         * lib/unictype/scripts.h: Likewise.
20691         * lib/unictype/scripts_byname.gperf: Likewise.
20692         * lib/unictype/sy_java_ident.h: Likewise.
20693         * lib/unigbrk/gbrkprop.h: Likewise.
20694         * lib/unilbrk/lbrkprop1.h: Likewise.
20695         * lib/unilbrk/lbrkprop2.h: Likewise.
20696         * lib/unilbrk/lbrktables.h: Likewise.
20697         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20698         LBP_CP. Implement rule LB30.
20699         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20700         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20701         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20702         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20703         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20704         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20705         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20706         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20707         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20708         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20709         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20710         bits instead of 16 bits in the code1 and code2 of each composition
20711         rule.
20712         (uc_composition): Update for Unicode 5.2.0.
20713         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20714         * lib/uninorm/decomposition-table2.h: Likewise.
20715         * lib/uniwbrk/wbrkprop.h: Likewise.
20716         * tests/unicase/test-cased.c: Likewise.
20717         * tests/unicase/test-ignorable.c: Likewise.
20718         * tests/unicase/test-uc_tolower.c: Likewise.
20719         * tests/unicase/test-uc_totitle.c: Likewise.
20720         * tests/unicase/test-uc_toupper.c: Likewise.
20721         * tests/unictype/test-categ_C.c: Likewise.
20722         * tests/unictype/test-categ_Cf.c: Likewise.
20723         * tests/unictype/test-categ_Cn.c: Likewise.
20724         * tests/unictype/test-categ_L.c: Likewise.
20725         * tests/unictype/test-categ_Ll.c: Likewise.
20726         * tests/unictype/test-categ_Lm.c: Likewise.
20727         * tests/unictype/test-categ_Lo.c: Likewise.
20728         * tests/unictype/test-categ_Lu.c: Likewise.
20729         * tests/unictype/test-categ_M.c: Likewise.
20730         * tests/unictype/test-categ_Mc.c: Likewise.
20731         * tests/unictype/test-categ_Mn.c: Likewise.
20732         * tests/unictype/test-categ_N.c: Likewise.
20733         * tests/unictype/test-categ_Nd.c: Likewise.
20734         * tests/unictype/test-categ_Nl.c: Likewise.
20735         * tests/unictype/test-categ_No.c: Likewise.
20736         * tests/unictype/test-categ_P.c: Likewise.
20737         * tests/unictype/test-categ_Pd.c: Likewise.
20738         * tests/unictype/test-categ_Po.c: Likewise.
20739         * tests/unictype/test-categ_S.c: Likewise.
20740         * tests/unictype/test-categ_Sc.c: Likewise.
20741         * tests/unictype/test-categ_So.c: Likewise.
20742         * tests/unictype/test-ctype_alnum.c: Likewise.
20743         * tests/unictype/test-ctype_alpha.c: Likewise.
20744         * tests/unictype/test-ctype_graph.c: Likewise.
20745         * tests/unictype/test-ctype_lower.c: Likewise.
20746         * tests/unictype/test-ctype_print.c: Likewise.
20747         * tests/unictype/test-ctype_punct.c: Likewise.
20748         * tests/unictype/test-ctype_upper.c: Likewise.
20749         * tests/unictype/test-decdigit.h: Likewise.
20750         * tests/unictype/test-digit.h: Likewise.
20751         * tests/unictype/test-numeric.h: Likewise.
20752         * tests/unictype/test-pr_alphabetic.c: Likewise.
20753         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20754         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20755         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20756         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20757         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20758         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20759         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20760         * tests/unictype/test-pr_combining.c: Likewise.
20761         * tests/unictype/test-pr_composite.c: Likewise.
20762         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20763         * tests/unictype/test-pr_dash.c: Likewise.
20764         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20765         * tests/unictype/test-pr_deprecated.c: Likewise.
20766         * tests/unictype/test-pr_diacritic.c: Likewise.
20767         * tests/unictype/test-pr_extender.c: Likewise.
20768         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20769         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20770         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20771         * tests/unictype/test-pr_id_continue.c: Likewise.
20772         * tests/unictype/test-pr_id_start.c: Likewise.
20773         * tests/unictype/test-pr_ideographic.c: Likewise.
20774         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20775         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20776         * tests/unictype/test-pr_lowercase.c: Likewise.
20777         * tests/unictype/test-pr_numeric.c: Likewise.
20778         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20779         * tests/unictype/test-pr_punctuation.c: Likewise.
20780         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20781         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20782         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20783         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20784         * tests/unictype/test-pr_uppercase.c: Likewise.
20785         * tests/unictype/test-pr_xid_continue.c: Likewise.
20786         * tests/unictype/test-pr_xid_start.c: Likewise.
20787         * tests/unictype/test-pr_zero_width.c: Likewise.
20788         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20789         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20790         changed behaviour: line breaking is now disallowed between a letter
20791         or '=' and '('.
20792         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20793         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20794         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20795         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20796         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20797         lib/uniwidth/width.c.
20798         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20799         without comments, but with the original copyright notice.
20800         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20801         changes.
20802         * lib/unictype/categ_Cc.h: Likewise.
20803         * lib/unictype/categ_Co.h: Likewise.
20804         * lib/unictype/categ_Cs.h: Likewise.
20805         * lib/unictype/categ_Lt.h: Likewise.
20806         * lib/unictype/categ_Me.h: Likewise.
20807         * lib/unictype/categ_Pc.h: Likewise.
20808         * lib/unictype/categ_Pe.h: Likewise.
20809         * lib/unictype/categ_Pf.h: Likewise.
20810         * lib/unictype/categ_Pi.h: Likewise.
20811         * lib/unictype/categ_Ps.h: Likewise.
20812         * lib/unictype/categ_Sk.h: Likewise.
20813         * lib/unictype/categ_Sm.h: Likewise.
20814         * lib/unictype/categ_Z.h: Likewise.
20815         * lib/unictype/categ_Zl.h: Likewise.
20816         * lib/unictype/categ_Zp.h: Likewise.
20817         * lib/unictype/categ_Zs.h: Likewise.
20818         * lib/unictype/ctype_blank.h: Likewise.
20819         * lib/unictype/ctype_cntrl.h: Likewise.
20820         * lib/unictype/ctype_digit.h: Likewise.
20821         * lib/unictype/ctype_space.h: Likewise.
20822         * lib/unictype/ctype_xdigit.h: Likewise.
20823         * lib/unictype/mirror.h: Likewise.
20824         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20825         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20826         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20827         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20828         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20829         * lib/unictype/pr_bidi_control.h: Likewise.
20830         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20831         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20832         * lib/unictype/pr_bidi_pdf.h: Likewise.
20833         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20834         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20835         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20836         * lib/unictype/pr_format_control.h: Likewise.
20837         * lib/unictype/pr_hex_digit.h: Likewise.
20838         * lib/unictype/pr_hyphen.h: Likewise.
20839         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20840         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20841         * lib/unictype/pr_iso_control.h: Likewise.
20842         * lib/unictype/pr_join_control.h: Likewise.
20843         * lib/unictype/pr_left_of_pair.h: Likewise.
20844         * lib/unictype/pr_line_separator.h: Likewise.
20845         * lib/unictype/pr_math.h: Likewise.
20846         * lib/unictype/pr_non_break.h: Likewise.
20847         * lib/unictype/pr_not_a_character.h: Likewise.
20848         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20849         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20850         * lib/unictype/pr_other_id_continue.h: Likewise.
20851         * lib/unictype/pr_other_id_start.h: Likewise.
20852         * lib/unictype/pr_other_lowercase.h: Likewise.
20853         * lib/unictype/pr_other_math.h: Likewise.
20854         * lib/unictype/pr_other_uppercase.h: Likewise.
20855         * lib/unictype/pr_paired_punctuation.h: Likewise.
20856         * lib/unictype/pr_paragraph_separator.h: Likewise.
20857         * lib/unictype/pr_pattern_syntax.h: Likewise.
20858         * lib/unictype/pr_pattern_white_space.h: Likewise.
20859         * lib/unictype/pr_private_use.h: Likewise.
20860         * lib/unictype/pr_quotation_mark.h: Likewise.
20861         * lib/unictype/pr_radical.h: Likewise.
20862         * lib/unictype/pr_soft_dotted.h: Likewise.
20863         * lib/unictype/pr_space.h: Likewise.
20864         * lib/unictype/pr_titlecase.h: Likewise.
20865         * lib/unictype/pr_variation_selector.h: Likewise.
20866         * lib/unictype/pr_white_space.h: Likewise.
20867         * lib/unictype/sy_c_ident.h: Likewise.
20868         * lib/unictype/sy_c_whitespace.h: Likewise.
20869         * lib/unictype/sy_java_whitespace.h: Likewise.
20870         * modules/uni*/*: Bump version number of expected libunistring version.
20871         Reported by Simon Josefsson.
20872
20873 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20874
20875         useless-if-before-free: fix typo in --help and make the internal,
20876         automatic version date update process work once again.
20877         --help output contained a NUL character instead of the
20878         backslash-zero that was intended.  Also, the "must lie within
20879         the first 8 lines" line is on line 9, and hence not getting
20880         automatically updated.
20881         * build-aux/useless-if-before-free: Fix the former by adding a
20882         backslash, and the latter by condensing the three lines of what-it-does
20883         to a single line, leaving one line of slack for the future.
20884
20885 2011-01-09  Bruno Haible  <bruno@clisp.org>
20886
20887         uniwidth/width: Fix width of U+1D173..U+1D17A.
20888         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20889         symbolic_width, output_width_property_test): New functions.
20890         (main): Invoke output_nonspacing_property, output_width_property_test.
20891         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20892         U+1D173..U+1D17A.
20893         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20894         1.
20895         * modules/uniwidth/*: Bump version number of expected libunistring
20896         version.
20897         * modules/unilbrk/*: Likewise.
20898
20899 2011-01-08  Bruno Haible  <bruno@clisp.org>
20900
20901         uninorm tests: Preserve copyright of Unicode data file.
20902         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20903         Mention modifications.
20904
20905 2011-01-08  Bruno Haible  <bruno@clisp.org>
20906
20907         gen-uni-tables: Prepare for Unicode 5.2.0.
20908         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20909         (debug_output_lbp, output_lbp): Update.
20910
20911 2011-01-08  Bruno Haible  <bruno@clisp.org>
20912
20913         unilbrk: Clarify gen-uni-tables.c code.
20914         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20915         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20916         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20917
20918 2011-01-07  Bruno Haible  <bruno@clisp.org>
20919
20920         strtod: Restore errno when successfully parsing Infinity or NaN.
20921         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20922         restore the original errno.
20923
20924 2011-01-07  Bruno Haible  <bruno@clisp.org>
20925
20926         remove test: Avoid failure on HP-UX 11.
20927         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20928
20929 2011-01-07  Bruno Haible  <bruno@clisp.org>
20930
20931         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20932         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20933         error code.
20934
20935 2011-01-07  Pádraig Brady <P@draigBrady.com>
20936
20937         ignore-value: fixup comments, and add Eric Blake
20938         as an author since he rewrote the macros.
20939         * lib/ignore-value.h (ignore_value):  State that
20940         we now support aggregates.  Also specify exactly
20941         when the GCC warn_unused_result feature was added.
20942
20943 2011-01-06  Eric Blake  <eblake@redhat.com>
20944
20945         ignore-value: support aggregate types
20946         * lib/ignore-value.h (ignore_value): Provide separate gcc
20947         definition.
20948         * modules/ignore-value-tests: New test module.
20949         * tests/test-ignore-value.c: New test.
20950
20951         maint.mk: improve sc_prohibit_strcmp regex
20952         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20953         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20954         definition of STRNEQ.
20955
20956         signal: work around Haiku issue with SIGBUS
20957         * lib/siglist.h: Add comment.
20958         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20959         strsignal's favoring of SIGSEGV.
20960         * tests/test-signal.c (main): Avoid test failure.
20961         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20962         Reported by Scott McCreary.
20963
20964         maint.mk: add pre-release check to ensure submodule commits are public
20965         * top/maint.mk (public-submodule-commit): New rule.
20966         (submodule-checks): New variable.
20967         (alpha beta stable): Depend on the variable.
20968
20969 2011-01-05  Pádraig Brady <P@draigBrady.com>
20970         and Jim Meyering  <meyering@redhat.com>
20971
20972         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20973         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20974         (ATTRIBUTE_DEPRECATED): Define.
20975         (_ignore_case): New function.
20976         (ignore_value): New macro, to replace the old function.
20977         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20978         * modules/ignore-value (Depends-on): Add stdint.
20979
20980 2011-01-04  Eric Blake  <eblake@redhat.com>
20981
20982         doc: regenerate INSTALL
20983         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20984         @firstparagraphindent support, now that autoconf dropped it.
20985         (INSTALL_PRELUDE): Reinstate old macro.
20986         * doc/install.texi: Resync from autoconf.
20987         * doc/INSTALL: Reflect recent autoconf update.
20988         * doc/INSTALL.ISO: Likewise.
20989         * doc/INSTALL.UTF-8: Likewise.
20990         Reported by Karl Berry.
20991
20992 2011-01-04  Bruce Korb  <address@hidden>
20993
20994         git-version-gen: avoid a sub-shell
20995         * build-aux/git-version-gen: Redirect stderr in `...` via
20996         "exec 2>...", rather than via an added sub-shell.
20997
20998 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20999
21000         git-version-gen: use (...) rather than sh -c '...'
21001         * build-aux/git-version-gen: Rather than hard-coding a shell's name
21002         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
21003
21004 2011-01-03  Jim Meyering  <meyering@redhat.com>
21005
21006         git-version-gen: convert leading TABs to spaces
21007         * build-aux/git-version-gen: Expand leading TABs.
21008
21009         git-version-gen: handle failed "git rev-list"
21010         * build-aux/git-version-gen: Rather than leaking a "fatal" error
21011         from git and proceeding as if it had succeeded but printed no SHA1
21012         checksums, suppress the diagnostic and handle the failure.
21013         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
21014
21015         git-version-gen: include command name in one more diagnostic
21016         * build-aux/git-version-gen: When the required .tarball-version file
21017         was missing or unreadable, you might see the diagnostic from "cat",
21018         but no trace of the name of the invoking script.  Now, you still see
21019         the diagnostic from cat, but also get one from "git-version-gen: ".
21020         Inspired by a patch from Bruce Korb.
21021
21022         update-copyright: adjust test to match changed code
21023         * tests/test-update-copyright.sh: Change test's expected output
21024         to match new actual output.
21025
21026 2011-01-02  Bruno Haible  <bruno@clisp.org>
21027
21028         getlogin_r: Avoid test failure on HP-UX 11.
21029         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
21030         ERANGE when the second argument is zero.
21031         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
21032         portability problem.
21033
21034 2011-01-02  Bruce Korb  <bkorb@gnu.org>
21035
21036         * build-aux/update-copyright: doc Simon's changes
21037
21038 2011-01-02  Simon Josefsson  <simon@josefsson.org>
21039
21040         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
21041         environment variable.
21042
21043 2011-01-02  Bruno Haible  <bruno@clisp.org>
21044
21045         unigbrk: Avoid gcc warnings.
21046         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
21047         unused variable.
21048         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
21049         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
21050         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
21051         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
21052         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
21053         Change type of first argument to 'const char *'.
21054         (main): Remove unused variable.
21055         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
21056         type of first argument to 'const char *'.
21057         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
21058         Likewise.
21059         (main): Change type of variable 's'.
21060         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
21061         to 'int'.
21062
21063 2011-01-02  Bruno Haible  <bruno@clisp.org>
21064
21065         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
21066         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
21067         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
21068         bug.
21069         * lib/pwrite.c: Undo 2010-12-31 patch.
21070         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
21071
21072 2011-01-02  Bruno Haible  <bruno@clisp.org>
21073
21074         pread: Fix test whether it works.
21075         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
21076
21077 2011-01-02  Bruno Haible  <bruno@clisp.org>
21078
21079         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
21080         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
21081         ends in "6". Don't require a specific month name. Try also the locale
21082         names found on HP-UX 11 and Solaris 7.
21083
21084 2011-01-02  Bruno Haible  <bruno@clisp.org>
21085
21086         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
21087         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
21088         C linkage.
21089         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
21090
21091 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21092
21093         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
21094         for consistency, since the "cluster" term is not used elsewhere.
21095         * lib/unigbrk.in.h: Update name.
21096         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
21097         * lib/unigbrk/u16-grapheme-next.c: Update name.
21098         * lib/unigbrk/u16-grapheme-prev.c: Update name.
21099         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
21100         * lib/unigbrk/u32-grapheme-next.c: Update name.
21101         * lib/unigbrk/u32-grapheme-prev.c: Update name.
21102         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
21103         * lib/unigbrk/u8-grapheme-next.c: Update name.
21104         * lib/unigbrk/u8-grapheme-prev.c: Update name.
21105         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
21106         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
21107         Suggested by Bruno Haible.
21108
21109 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21110
21111         Remove module 'u8-grapheme-len' as too redundant with
21112         'u8-grapheme-next'.
21113         * modules/unigbrk/u8-grapheme-len: Delete file.
21114         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
21115         * lib/unigbrk.in.h: Remove prototype for deleted function.
21116         * lib/unigbrk/u8-grapheme-len.c: Delete file.
21117         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
21118
21119         Remove module 'u16-grapheme-len' as too redundant with
21120         'u16-grapheme-next'.
21121         * modules/unigbrk/u16-grapheme-len: Delete file.
21122         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
21123         * lib/unigbrk.in.h: Remove prototype for deleted function.
21124         * lib/unigbrk/u16-grapheme-len.c: Delete file.
21125         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
21126
21127         Remove module 'u32-grapheme-len' as too redundant with
21128         'u32-grapheme-next'.
21129         * modules/unigbrk/u32-grapheme-len: Delete file.
21130         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
21131         * lib/unigbrk.in.h: Remove prototype for deleted function.
21132         * lib/unigbrk/u32-grapheme-len.c: Delete file.
21133         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
21134
21135         Suggested by Bruno Haible.
21136
21137 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
21138
21139         * unigbrk.in.h: Fix typo: "ben" => "been".
21140         Reported by Bruno Haible.
21141
21142 2011-01-01  Jim Meyering  <meyering@redhat.com>
21143
21144         maint: update almost all copyright ranges to include 2011
21145         Run the new "make update-copyright" rule.
21146
21147 2011-01-01  Jim Meyering  <meyering@redhat.com>
21148
21149         maint: update-copyright: exempt doc/INSTALL*
21150         * Makefile (update-copyright): Also exclude doc/INSTALL*,
21151         since they are generated.  Suggested by Bruno Haible.
21152
21153 2011-01-01  Jim Meyering  <meyering@redhat.com>
21154
21155         maint: refine the update-copyright rule
21156         * Makefile (update-copyright): Also exclude any file that includes
21157         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
21158         code that merely generates the comment.
21159
21160 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21161
21162         New module 'u8-grapheme-len'.
21163         * modules/unigbrk/u8-grapheme-len: New file.
21164         * modules/unigbrk/u8-grapheme-len-tests: New file.
21165         * lib/unigbrk.in.h: Add prototype for new function.
21166         * lib/unigbrk/u8-grapheme-len.c: New file.
21167         * tests/unigbrk/test-u8-grapheme-len.c: New file.
21168
21169         New module 'u16-grapheme-len'.
21170         * modules/unigbrk/u16-grapheme-len: New file.
21171         * modules/unigbrk/u16-grapheme-len-tests: New file.
21172         * lib/unigbrk.in.h: Add prototype for new function.
21173         * lib/unigbrk/u16-grapheme-len.c: New file.
21174         * tests/unigbrk/test-u16-grapheme-len.c: New file.
21175
21176         New module 'u32-grapheme-len'.
21177         * modules/unigbrk/u32-grapheme-len: New file.
21178         * modules/unigbrk/u32-grapheme-len-tests: New file.
21179         * lib/unigbrk.in.h: Add prototype for new function.
21180         * lib/unigbrk/u32-grapheme-len.c: New file.
21181         * tests/unigbrk/test-u32-grapheme-len.c: New file.
21182
21183         New module 'u8-grapheme-next'.
21184         * modules/unigbrk/u8-grapheme-next: New file.
21185         * modules/unigbrk/u8-grapheme-next-tests: New file.
21186         * lib/unigbrk.in.h: Add prototype for new function.
21187         * lib/unigbrk/u8-grapheme-next.c: New file.
21188         * tests/unigbrk/test-u8-grapheme-next.c: New file.
21189
21190         New module 'u16-grapheme-next'.
21191         * modules/unigbrk/u16-grapheme-next: New file.
21192         * modules/unigbrk/u16-grapheme-next-tests: New file.
21193         * lib/unigbrk.in.h: Add prototype for new function.
21194         * lib/unigbrk/u16-grapheme-next.c: New file.
21195         * tests/unigbrk/test-u16-grapheme-next.c: New file.
21196
21197         New module 'u32-grapheme-next'.
21198         * modules/unigbrk/u32-grapheme-next: New file.
21199         * modules/unigbrk/u32-grapheme-next-tests: New file.
21200         * lib/unigbrk.in.h: Add prototype for new function.
21201         * lib/unigbrk/u32-grapheme-next.c: New file.
21202         * tests/unigbrk/test-u32-grapheme-next.c: New file.
21203
21204         New module 'u8-grapheme-prev'.
21205         * modules/unigbrk/u8-grapheme-prev: New file.
21206         * modules/unigbrk/u8-grapheme-prev-tests: New file.
21207         * lib/unigbrk.in.h: Add prototype for new function.
21208         * lib/unigbrk/u8-grapheme-prev.c: New file.
21209         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
21210
21211         New module 'u16-grapheme-prev'.
21212         * modules/unigbrk/u16-grapheme-prev: New file.
21213         * modules/unigbrk/u16-grapheme-prev-tests: New file.
21214         * lib/unigbrk.in.h: Add prototype for new function.
21215         * lib/unigbrk/u16-grapheme-prev.c: New file.
21216         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
21217
21218         New module 'u32-grapheme-prev'.
21219         * modules/unigbrk/u32-grapheme-prev: New file.
21220         * modules/unigbrk/u32-grapheme-prev-tests: New file.
21221         * lib/unigbrk.in.h: Add prototype for new function.
21222         * lib/unigbrk/u32-grapheme-prev.c: New file.
21223         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
21224
21225         New module 'u8-grapheme-breaks'.
21226         * modules/unigbrk/u8-grapheme-breaks: New file.
21227         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
21228         * lib/unigbrk.in.h: Add prototype for new function.
21229         * lib/unigbrk/u8-grapheme-breaks.c: New file.
21230         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
21231
21232         New module 'u16-grapheme-breaks'.
21233         * modules/unigbrk/u16-grapheme-breaks: New file.
21234         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21235         * lib/unigbrk.in.h: Add prototype for new function.
21236         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21237         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21238
21239         New module 'u32-grapheme-breaks'.
21240         * modules/unigbrk/u32-grapheme-breaks: New file.
21241         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21242         * lib/unigbrk.in.h: Add prototype for new function.
21243         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21244         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21245
21246         New module 'ulc-grapheme-breaks'.
21247         * modules/unigbrk/ulc-grapheme-breaks: New file.
21248         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21249         * m4/locale-ar.m4: New file.
21250         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21251         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21252         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21253
21254 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21255
21256         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21257         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21258         modified how this file was generated before I initially submitted
21259         the module, but failed to regenerate it.  This meant that several
21260         of the level2 entries were wrong.
21261         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21262         Remove the division-by-2 that is folded into the table now that
21263         gbrkprop.h has been regenerated properly.  Now -1 entries are
21264         handled correctly.
21265
21266         New module 'unigbrk/uc-gbrk-prop-tests'.
21267         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21268         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21269         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21270         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21271
21272 2011-01-01  Bruno Haible  <bruno@clisp.org>
21273
21274         Avoid use of hexadecimal escapes.
21275         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21276         instead of hexadecimal escapes.
21277
21278 2011-01-01  Jim Meyering  <meyering@redhat.com>
21279
21280         maint: new rule to update copyright year ranges
21281         * Makefile (update-copyright): New rule.
21282
21283         maint: indent with TABs in Makefile
21284         * Makefile: Expand leading sequences of spaces to TABs
21285
21286         version-etc: update the copyright year it reports
21287         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21288
21289 2010-12-31  Bruno Haible  <bruno@clisp.org>
21290
21291         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21292         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21293         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21294         zero.
21295
21296 2010-12-31  Bruno Haible  <bruno@clisp.org>
21297
21298         pwrite: Work around HP-UX 11.11 bug.
21299         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21300         works and set REPLACE_PWRITE if not.
21301         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21302         function.
21303         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21304
21305 2010-12-31  Bruno Haible  <bruno@clisp.org>
21306
21307         pread: Work around HP-UX 11 bugs.
21308         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21309         and set REPLACE_PREAD if not.
21310         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21311
21312 2010-12-31  Eric Blake  <eblake@redhat.com>
21313
21314         nl_langinfo: fix YESEXPR on Irix 6.5
21315         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21316         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21317         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21318         it.
21319
21320 2010-12-31  Bruno Haible  <bruno@clisp.org>
21321
21322         iconv: Document HP-UX 11 bug.
21323         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21324
21325 2010-12-31  Bruno Haible  <bruno@clisp.org>
21326
21327         ldexpl: Fix link error on HP-UX 11.
21328         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21329         LDEXPL_LIBM, using $ISNANL_LIBM.
21330
21331 2010-12-31  Eric Blake  <eblake@redhat.com>
21332
21333         ftello: avoid compilation failure with SunStudio c89
21334         * lib/ftello.c (ftello): Use lseek, not llseek.
21335
21336         tests: avoid failing coreutils tests on cygwin
21337         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
21338         (create_exe_shims_): Return 0 when skipping.
21339
21340 2010-12-31  Bruno Haible  <bruno@clisp.org>
21341
21342         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
21343         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
21344
21345 2010-12-31  Bruno Haible  <bruno@clisp.org>
21346
21347         waitpid: Fix link error in C++ mode.
21348         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
21349
21350 2010-12-31  Bruno Haible  <bruno@clisp.org>
21351
21352         isnan: Use GCC built-ins when possible.
21353         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21354         __builtin_isnan.
21355         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21356         (isnan): Define using GCC built-ins for GCC >= 4.0.
21357
21358 2010-12-31  Bruno Haible  <bruno@clisp.org>
21359
21360         isnand: Fix mistake.
21361         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21362         __builtin_isnand.
21363
21364 2010-12-31  Bruno Haible  <bruno@clisp.org>
21365
21366         open: Avoid C++ error on HP-UX 11.
21367         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21368
21369 2010-12-31  Bruno Haible  <bruno@clisp.org>
21370
21371         time_r: Add missing declarations on HP-UX 11.
21372         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21373         instead of HAVE_LOCALTIME_R.
21374         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21375         HAVE_LOCALTIME_R always.
21376         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21377         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21378         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21379         HAVE_LOCALTIME_R.
21380         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21381         * doc/posix-functions/localtime_r.texi: Likewise.
21382
21383 2010-12-29  Eric Blake  <eblake@redhat.com>
21384
21385         mountlist: tweak previous commit
21386         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21387         Reported by Paul Eggert.
21388
21389         mountlist: fix local drive detection on cygwin
21390         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21391         that works for cygwin.
21392
21393 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21394
21395         ftoastr, snprintf: ftoastr + snprintf module
21396         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21397         since the snprintf module now should be good enough here.
21398         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21399         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21400         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21401         GNULIB_SNPRINTF only for the test directory, and the latter
21402         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21403         seems to suffice by itself.
21404
21405 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21406
21407         alloca: one step towards thread-safety
21408         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21409         need for a static variable.  All callers changed.  This does not
21410         make the alloca replacement thread-safe, but it's one step.
21411
21412         tests: minor indenting change
21413         * tests/init.sh: Sync from coreutils housekeeping patch
21414         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21415         to keep lines within 80 columns.
21416
21417 2010-12-28  Jim Meyering  <meyering@redhat.com>
21418
21419         regex: don't infloop on persistent failing calloc
21420         * lib/regexec.c (build_trtable): Return failure indication upon
21421         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21422         In glibc, this was fixed for version 2.13:
21423         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21424
21425 2010-12-28  Bruno Haible  <bruno@clisp.org>
21426             Paul Eggert <eggert@cs.ucla.edu>
21427
21428         linkat: Make implementation robust against system behaviour variations.
21429         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21430         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21431         way, and to -2 if it needs a generic runtime test.
21432         * lib/linkat.c (solaris_optimized_link_immediate,
21433         solaris_optimized_link_follow): New functions.
21434         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21435         (check_same_link): Use it.
21436
21437 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21438
21439         New module 'unigbrk/base'.
21440         * modules/unigbrk/base: New file.
21441         * lib/unigbrk.in.h: New file.
21442
21443         New module 'unigbrk/uc-gbrk-prop'.
21444         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21445         * modules/unigbrk/uc-gbrk-prop: New file.
21446         * lib/unigbrk/gbrkprop.h: New file.
21447         * lib/unigbrk/uc-gbrk-prop.c: New file.
21448
21449         New module 'unigbrk/uc-is-grapheme-break'.
21450         * modules/unigbrk/uc-is-grapheme-break: New file.
21451         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21452         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21453         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21454         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21455         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21456
21457         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21458
21459 2010-12-27  Bruno Haible  <bruno@clisp.org>
21460
21461         linkat test: Avoid failure on Solaris 11 2010-11.
21462         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21463
21464 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21465
21466         utimens: work around glibc rounding bug on more platforms
21467         * lib/utimens.c (fdutimens): Work around rounding bug even if
21468         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21469         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21470
21471 2010-12-27  Bruno Haible  <bruno@clisp.org>
21472
21473         select tests: Improve comments.
21474         * tests/test-select.c (do_select): Add comments.
21475
21476 2010-12-27  Bruno Haible  <bruno@clisp.org>
21477
21478         select tests: Safer way of handling timeout.
21479         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21480         at every invocation.
21481
21482 2010-12-27  Bruno Haible  <bruno@clisp.org>
21483
21484         select tests: Use 'bool' where appropriate.
21485         * tests/test-select.c (connect_to_socket): Change argument type to
21486         'bool'.
21487
21488 2010-12-27  Bruno Haible  <bruno@clisp.org>
21489
21490         select tests: Use existing modules.
21491         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21492         (configure.ac): Don't test for unistd.h.
21493         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21494         declared in <unistd.h>.
21495
21496 2010-12-27  Bruno Haible  <bruno@clisp.org>
21497
21498         mbrtowc: Work around a Solaris 7 bug.
21499         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21500         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21501         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21502         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21503         MBRTOWC_NULL_ARG1_BUG.
21504         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21505         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21506         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21507         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21508
21509 2010-12-27  Jim Meyering  <meyering@redhat.com>
21510
21511         read-file.c: tweak syntax
21512         * lib/read-file.c (fread_file): Remove space after "*" in function
21513         definitions.
21514
21515 2010-12-27  Bruno Haible  <bruno@clisp.org>
21516
21517         times test: Avoid gcc warnings on OSF/1.
21518         * tests/test-times.c (main): Cast printf arguments from clock_t to
21519         'long int'.
21520
21521 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21522
21523         utimens: work around glibc rounding bug on older Linux kernels
21524         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21525         on Linux with a glibc whose utimes might not work, then work
21526         around a longstanding glibc bug involving rounding rather than
21527         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21528         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21529
21530 2010-12-26  Bruno Haible  <bruno@clisp.org>
21531
21532         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21533         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21534         _GL_CXXALIAS_SYS.
21535         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21536
21537 2010-12-26  Bruno Haible  <bruno@clisp.org>
21538
21539         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21540         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21541         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21542         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21543         looking for the declaration.
21544         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21545         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21546         problem.
21547         * doc/posix-functions/inet_pton.texi: Likewise.
21548
21549 2010-12-26  Bruno Haible  <bruno@clisp.org>
21550
21551         arpa_inet: Use the common idioms with C++ support.
21552         * lib/arpa_inet.in.h: Include c++defs.h.
21553         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21554         support.
21555         * modules/arpa_inet (Depends-on): Add c++defs.
21556         (Makefile.am): Substitute the contents of c++defs.h.
21557         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21558         * modules/arpa_inet-c++-tests: New file.
21559         * tests/test-arpa_inet-c++.cc: New file.
21560
21561 2010-12-25  Bruno Haible  <bruno@clisp.org>
21562
21563         Fix more C++ link errors on Solaris 8.
21564         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21565         $(LIB_EACCESS).
21566         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21567         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21568         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21569         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21570         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21571
21572 2010-12-25  Bruno Haible  <bruno@clisp.org>
21573
21574         printf-posix: Fix link error when a non-GCC compiler is used.
21575         * lib/stdio.in.h (printf): When not using GCC, override printf
21576         correctly.
21577         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21578
21579 2010-12-25  Bruno Haible  <bruno@clisp.org>
21580
21581         strerror_r-posix: Update doc.
21582         * doc/posix-functions/strerror_r.texi: Update doc about the return
21583         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21584
21585 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21586
21587         utimens: simplify the logic of the previous change
21588         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21589         This should not affect whether the test succeeds or fails.
21590
21591         utimens: configure better on hosts with NFS clock skew
21592         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21593         uses the clock of the local host.  It might use the clock of the
21594         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21595         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21596
21597 2010-12-25  Bruno Haible  <bruno@clisp.org>
21598
21599         ptsname test: Avoid failure on Solaris.
21600         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21601         open a pseudo-terminal; don't use BSD-style ptys.
21602         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21603
21604 2010-12-25  Bruno Haible  <bruno@clisp.org>
21605
21606         ptsname: Avoid ERANGE failure on some systems.
21607         * lib/ptsname.c (buffer): Increase size.
21608
21609 2010-12-25  Bruno Haible  <bruno@clisp.org>
21610
21611         rename, renameat: Avoid test failures at NFS mounted locations.
21612         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21613         so that subsequent mkdir calls succeed.
21614
21615 2010-12-25  Bruno Haible  <bruno@clisp.org>
21616
21617         iswblank: Fix C++ link error on Solaris 8.
21618         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21619         _GL_FUNCDECL_SYS.
21620
21621 2010-12-25  Bruno Haible  <bruno@clisp.org>
21622
21623         unistd: Fix C++ link error on Solaris 8.
21624         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21625
21626 2010-12-25  Bruno Haible  <bruno@clisp.org>
21627
21628         readlink doc: Mention an old glibc bug.
21629         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21630
21631 2010-12-25  Bruno Haible  <bruno@clisp.org>
21632
21633         fcntl-h: Fix for use of C++ on glibc systems.
21634         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21635         also on glibc systems in C++ mode.
21636         Reported by Gary V. Vaughan <gary@gnu.org>.
21637
21638 2010-12-25  Bruno Haible  <bruno@clisp.org>
21639
21640         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21641         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21642
21643 2010-12-25  Bruno Haible  <bruno@clisp.org>
21644
21645         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21646         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21647         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21648         test whether truncl works according to ISO C 99 with IEC 60559.
21649         * m4/truncl-ieee.m4: New file.
21650         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21651         m4/signbit.m4.
21652         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21653
21654 2010-12-25  Bruno Haible  <bruno@clisp.org>
21655
21656         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21657         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21658         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21659         test whether ceill works according to ISO C 99 with IEC 60559.
21660         * m4/ceill-ieee.m4: New file.
21661         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21662         m4/signbit.m4.
21663         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21664
21665 2010-12-25  Bruno Haible  <bruno@clisp.org>
21666
21667         Ensure all prerequisites of <wchar.h> are included.
21668         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21669         before <wchar.h>.
21670         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21671         gl_MBRLEN_NUL_RETVAL): Likewise.
21672         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21673         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21674         AC_FUNC_MBRTOWC): Likewise.
21675         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21676         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21677         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21678         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21679         Likewise.
21680         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21681         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21682         (gl_WCHAR_H): Improve comments.
21683         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21684
21685 2010-12-25  Bruno Haible  <bruno@clisp.org>
21686
21687         strtok_r: Fix C syntax error in autoconf macro.
21688         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21689         characters in test program.
21690
21691 2010-12-24  Bruno Haible  <bruno@clisp.org>
21692
21693         ceil, trunc, round: Fix gcc warnings.
21694         * lib/ceil.c (MIN): Undefine before redefining.
21695         * lib/trunc.c (MIN): Likewise.
21696         * lib/round.c (MIN): Likewise.
21697         Include <math.h> first.
21698
21699 2010-12-24  Bruno Haible  <bruno@clisp.org>
21700
21701         select tests: Avoid failures on OSF/1 5.1.
21702         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21703         failure of closing the last socket; it may fail with ECONNRESET.
21704
21705 2010-12-24  Eric Blake  <eblake@redhat.com>
21706
21707         stdint: avoid HP-UX 10.20 preprocessor bug
21708         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21709         than #if.
21710         * tests/test-floor2.c (main): Likewise.
21711         Reported by Peter O'Gorman.
21712
21713         pipe: make obsoletion transition easier
21714         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21715         * modules/pipe (Files): Include revived file.
21716         (Include): Drop reference, to mirror getdate's behavior.
21717
21718 2010-12-24  Bruno Haible  <bruno@clisp.org>
21719
21720         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21721         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21722         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21723         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21724
21725 2010-12-24  Bruno Haible  <bruno@clisp.org>
21726
21727         gethostname: Ensure declaration on NonStop Kernel.
21728         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21729         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21730
21731 2010-12-24  Bruno Haible  <bruno@clisp.org>
21732
21733         sys_select: Ensure all necessary types on NonStop Kernel.
21734         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21735         include <sys/time.h>.
21736         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21737         NonStop Kernel.
21738         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21739
21740 2010-12-24  Bruno Haible  <bruno@clisp.org>
21741
21742         sys_select: Remove unneeded include.
21743         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21744         have <sys/select.h>.
21745
21746 2010-12-24  Bruno Haible  <bruno@clisp.org>
21747
21748         gethostname: Provide a fallback for HOST_NAME_MAX.
21749         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21750         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21751         instead.
21752         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21753
21754 2010-12-24  Bruno Haible  <bruno@clisp.org>
21755
21756         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21757         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21758         (SA_RESTART): Likewise.
21759         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21760
21761 2010-12-24  Bruno Haible  <bruno@clisp.org>
21762
21763         signal: Define NSIG.
21764         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21765         * tests/test-signal.c (nsig): New variable.
21766         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21767
21768 2010-12-24  Bruno Haible  <bruno@clisp.org>
21769
21770         rename, renameat: Avoid test failures on OSF/1 5.1.
21771         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21772         alternative error codes.
21773         * tests/test-renameat.c (main): Likewise.
21774
21775 2010-12-24  Bruno Haible  <bruno@clisp.org>
21776
21777         *printf: Detect large precisions bug on Solaris 10/SPARC.
21778         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21779         by Paul Eggert.
21780         * tests/test-snprintf-posix.h (test_function): Add this test code here
21781         too.
21782         * tests/test-sprintf-posix.h (test_function): Likewise.
21783         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21784         * tests/test-vasprintf-posix.c (test_function): Likewise.
21785         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21786         around by gnulib.
21787         * doc/posix-functions/printf.texi: Likewise.
21788         * doc/posix-functions/snprintf.texi: Likewise.
21789         * doc/posix-functions/sprintf.texi: Likewise.
21790         * doc/posix-functions/vfprintf.texi: Likewise.
21791         * doc/posix-functions/vprintf.texi: Likewise.
21792         * doc/posix-functions/vsnprintf.texi: Likewise.
21793         * doc/posix-functions/vsprintf.texi: Likewise.
21794         * doc/posix-functions/dprintf.texi: Undo last commit.
21795         * doc/posix-functions/vdprintf.texi: Likewise.
21796
21797 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21798
21799         tests: port test-fdutimensat.c to Solaris 8
21800         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21801         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21802         On Solaris 8, it fails with errno == ENOSYS, because there is no
21803         futimens (so it can't use the fd), and there is no lutimens (so it
21804         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21805
21806         vsnprintf: make more consistent with snprintf; doc fixes
21807
21808         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21809         the byte count return problem was promoted from the snprintf-posix
21810         to the snprintf module.
21811         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21812         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21813         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21814         * tests/test-snprintf.c (main): Check the byte count returned.
21815         * tests/test-vsnprintf.c (main): Likewise.
21816
21817 2010-12-23  Eric Blake  <eblake@redhat.com>
21818
21819         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21820         * modules/sigpipe (License): Relax license.
21821
21822 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21823
21824         doc: document Solaris printf bug with large float precisions
21825         * doc/posix-functions/dprintf.texi (dprintf):
21826         * doc/posix-functions/fprintf.texi (fprintf):
21827         * doc/posix-functions/printf.texi (printf):
21828         * doc/posix-functions/snprintf.texi (snprintf):
21829         * doc/posix-functions/sprintf.texi (sprintf):
21830         * doc/posix-functions/vdprintf.texi (vdprintf):
21831         * doc/posix-functions/vfprintf.texi (vfprintf):
21832         * doc/posix-functions/vprintf.texi (vprintf):
21833         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21834         * doc/posix-functions/vsprintf.texi (vsprintf):
21835         Mention that these functions mishandle large floating point
21836         precisions on Solaris 10.  The same bug is also present in Solaris
21837         8, and I assume earlier.  This causes "cd gnulib-tests; make
21838         check" to fail on Solaris 8 (and I assume, later) when building
21839         the latest coreutils, in test-vasprintf-posix's call to
21840         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21841         the wide flavors (e.g., wprintf) so this patch just updates the
21842         documentation for the narrow ones.
21843
21844         test-posixtm.c: add two tests
21845         * tests/test-posixtm.c: Add two tests, to highlight the
21846         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21847         around this bug; this is merely to document it.
21848
21849 2010-12-22  Bruno Haible  <bruno@clisp.org>
21850
21851         getlogin_r: Work around portability problem on OSF/1.
21852         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21853         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21854         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21855         test for a truncated result.
21856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21857         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21858         * modules/getlogin_r (Depends-on): Add memchr.
21859         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21860
21861 2010-12-22  Bruno Haible  <bruno@clisp.org>
21862
21863         ptsname: Avoid test failure on OSF/1 5.1.
21864         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21865         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21866         (same_slave): New function.
21867         (main): Use it to compare ptsname's result with the expected file name.
21868
21869 2010-12-22  Bruno Haible  <bruno@clisp.org>
21870
21871         Port extended stdio modules to HP NonStop Kernel.
21872         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21873         macros.
21874         * lib/fbufmode.c: Update comments.
21875         * lib/fflush.c: Likewise.
21876         * lib/fpurge.c: Likewise.
21877         * lib/freadable.c: Likewise.
21878         * lib/freadahead.c: Likewise.
21879         * lib/freading.c: Likewise.
21880         * lib/freadptr.c: Likewise.
21881         * lib/freadseek.c: Likewise.
21882         * lib/fseeko.c: Likewise.
21883         * lib/fseterr.c: Likewise.
21884         * lib/fwritable.c: Likewise.
21885         * lib/fwriting.c: Likewise.
21886         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21887
21888 2010-12-22  Bruno Haible  <bruno@clisp.org>
21889
21890         ttyname_r: Work around bug on OSF/1 5.1.
21891         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21892         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21893         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21894         present.
21895         * lib/ttyname_r.c (ttyname_r): Update comments.
21896
21897 2010-12-22  Bruno Haible  <bruno@clisp.org>
21898
21899         round: Implement result sign according to IEEE 754.
21900         * lib/round.c (MIN, MINUS_ZERO): New macros.
21901         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21902         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21903         * tests/test-round-ieee.c (main): Likewise.
21904         * tests/test-roundl-ieee.c (main): Likewise.
21905
21906         trunc: Implement result sign according to IEEE 754.
21907         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21908         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21909         * tests/test-trunc2.c: Include minus-zero.h.
21910         (MINUS_ZERO): New macro.
21911         (trunc_reference): Keep in sync with lib/trunc.c.
21912         * tests/test-truncf2.c: Include minus-zero.h.
21913         (MINUS_ZERO): New macro.
21914         (truncf_reference): Keep in sync with lib/trunc.c.
21915         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21916         * tests/test-trunc-ieee.c (main): Likewise.
21917         * tests/test-truncl-ieee.c (main): Likewise.
21918
21919         ceil: Implement result sign according to IEEE 754.
21920         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21921         (FUNC): Return -0.0 for -1 < x < 0.
21922         * tests/test-ceil2.c: Include minus-zero.h.
21923         (MINUS_ZERO): New macro.
21924         (ceil_reference): Keep in sync with lib/ceil.c.
21925         * tests/test-ceilf2.c: Include minus-zero.h.
21926         (MINUS_ZERO): New macro.
21927         (ceilf_reference): Keep in sync with lib/ceil.c.
21928         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21929         * tests/test-ceil-ieee.c (main): Likewise.
21930         * tests/test-ceill-ieee.c (main): Likewise.
21931
21932         floor: Implement result sign according to IEEE 754.
21933         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21934         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21935         * tests/test-floorf2.c (floorf_reference): Likewise.
21936         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21937         * tests/test-floor-ieee.c (main): Likewise.
21938         * tests/test-floorl-ieee.c (main): Likewise.
21939
21940 2010-12-22  Bruno Haible  <bruno@clisp.org>
21941
21942         getaddrinfo: Update doc.
21943         * doc/posix-functions/gai_strerror.texi: Return type is also different
21944         on AIX and HP-UX.
21945
21946 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21947
21948         getaddrinfo, inet_ntop: Update doc for Solaris.
21949         * doc/posix-functions/gai_strerror.texi: Return type is also an
21950         issue on Solaris 9 and earlier.
21951         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21952         on Solaris 10 and earlier.
21953
21954 2010-12-21  Bruno Haible  <bruno@clisp.org>
21955
21956         New module 'roundl-ieee'.
21957         * modules/roundl-ieee: New file.
21958         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21959         test whether roundl works according to ISO C 99 with IEC 60559.
21960         * m4/roundl-ieee.m4: New file.
21961         * modules/roundl-ieee-tests: New file.
21962         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21963         * tests/test-roundl.c (main): Remove signbit tests.
21964         * modules/roundl-tests (Depends-on): Remove signbit.
21965         * doc/posix-functions/roundl.texi: Mention the new module.
21966
21967 2010-12-21  Bruno Haible  <bruno@clisp.org>
21968
21969         New module 'truncl-ieee'.
21970         * modules/truncl-ieee: New file.
21971         * modules/truncl-ieee-tests: New file.
21972         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21973         * tests/test-truncl.c (main): Remove signbit tests.
21974         * modules/truncl-tests (Depends-on): Remove signbit.
21975         * doc/posix-functions/truncl.texi: Mention the new module.
21976
21977 2010-12-21  Bruno Haible  <bruno@clisp.org>
21978
21979         New module 'ceill-ieee'.
21980         * modules/ceill-ieee: New file.
21981         * modules/ceill-ieee-tests: New file.
21982         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21983         * tests/test-ceill.c (main): Remove signbit tests.
21984         * modules/ceill-tests (Depends-on): Remove signbit.
21985         * doc/posix-functions/ceill.texi: Mention the new module.
21986
21987 2010-12-21  Bruno Haible  <bruno@clisp.org>
21988
21989         New module 'floorl-ieee'.
21990         * modules/floorl-ieee: New file.
21991         * modules/floorl-ieee-tests: New file.
21992         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21993         * tests/test-floorl.c (main): Remove signbit tests.
21994         * modules/floorl-tests (Depends-on): Remove signbit.
21995         * doc/posix-functions/floorl.texi: Mention the new module.
21996
21997 2010-12-21  Bruno Haible  <bruno@clisp.org>
21998
21999         New module 'round-ieee'.
22000         * modules/round-ieee: New file.
22001         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
22002         whether round works according to ISO C 99 with IEC 60559.
22003         * m4/round-ieee.m4: New file.
22004         * modules/round-ieee-tests: New file.
22005         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
22006         * tests/test-round1.c (main): Remove signbit tests.
22007         * modules/round-tests (Depends-on): Remove 'signbit'.
22008         * doc/posix-functions/round.texi: Mention the new module.
22009
22010 2010-12-21  Bruno Haible  <bruno@clisp.org>
22011
22012         New module 'trunc-ieee'.
22013         * modules/trunc-ieee: New file.
22014         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
22015         whether trunc works according to ISO C 99 with IEC 60559.
22016         * m4/trunc-ieee.m4: New file.
22017         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
22018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
22019         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
22020         * modules/trunc-ieee-tests: New file.
22021         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
22022         * tests/test-trunc1.c (main): Remove signbit tests.
22023         * modules/trunc-tests (Depends-on): Remove 'signbit'.
22024         * doc/posix-functions/trunc.texi: Mention the new module.
22025
22026 2010-12-21  Bruno Haible  <bruno@clisp.org>
22027
22028         New module 'ceil-ieee'.
22029         * modules/ceil-ieee: New file.
22030         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
22031         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
22032         ISO C 99 with IEC 60559.
22033         * m4/ceil-ieee.m4: New file.
22034         * modules/ceil (Files): Add lib/ceil.c.
22035         (Depends-on): Add 'float'.
22036         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22037         * lib/math.in.h (ceil): New declaration.
22038         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
22039         REPLACE_CEIL.
22040         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
22041         * modules/ceil-ieee-tests: New file.
22042         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
22043         * tests/test-math-c++.cc: Check the signature of 'ceil'.
22044         * doc/posix-functions/ceil.texi: Mention the new module.
22045
22046 2010-12-21  Bruno Haible  <bruno@clisp.org>
22047
22048         New module 'floor-ieee'.
22049         * modules/floor-ieee: New file.
22050         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
22051         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
22052         ISO C 99 with IEC 60559.
22053         * m4/floor-ieee.m4: New file.
22054         * modules/floor (Files): Add lib/floor.c.
22055         (Depends-on): Add 'float'.
22056         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
22057         * lib/math.in.h (floor): New declaration.
22058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
22059         REPLACE_FLOOR.
22060         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
22061         * modules/floor-ieee-tests: New file.
22062         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
22063         * tests/test-math-c++.cc: Check the signature of 'floor'.
22064         * doc/posix-functions/floor.texi: Mention the new module.
22065
22066 2010-12-21  Bruno Haible  <bruno@clisp.org>
22067
22068         New module 'roundf-ieee'.
22069         * modules/roundf-ieee: New file.
22070         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
22071         test whether roundf works according to ISO C 99 with IEC 60559.
22072         * m4/roundf-ieee.m4: New file.
22073         * modules/roundf-ieee-tests: New file.
22074         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
22075         * tests/test-roundf1.c (main): Remove signbit tests.
22076         * modules/roundf-tests (Depends-on): Remove 'signbit'.
22077         * doc/posix-functions/roundf.texi: Mention the new module.
22078
22079 2010-12-21  Bruno Haible  <bruno@clisp.org>
22080
22081         New module 'truncf-ieee'.
22082         * modules/truncf-ieee: New file.
22083         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
22084         test whether truncf works according to ISO C 99 with IEC 60559.
22085         * m4/truncf-ieee.m4: New file.
22086         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
22087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
22088         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
22089         * modules/truncf-ieee-tests: New file.
22090         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
22091         * tests/test-truncf1.c (main): Remove signbit tests.
22092         * modules/truncf-tests (Depends-on): Remove 'signbit'.
22093         * doc/posix-functions/truncf.texi: Mention the new module.
22094
22095 2010-12-21  Bruno Haible  <bruno@clisp.org>
22096
22097         New module 'ceilf-ieee'.
22098         * modules/ceilf-ieee: New file.
22099         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
22100         test whether ceilf works according to ISO C 99 with IEC 60559.
22101         * m4/ceilf-ieee.m4: New file.
22102         * modules/ceilf-ieee-tests: New file.
22103         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
22104         * tests/test-ceilf1.c (main): Remove signbit tests.
22105         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
22106         * doc/posix-functions/ceilf.texi: Mention the new module.
22107
22108 2010-12-21  Bruno Haible  <bruno@clisp.org>
22109
22110         New module 'floorf-ieee'.
22111         * modules/floorf-ieee: New file.
22112         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
22113         test whether floorf works according to ISO C 99 with IEC 60559.
22114         * m4/floorf-ieee.m4: New file.
22115         * modules/floorf-ieee-tests: New file.
22116         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
22117         * tests/test-floorf1.c (main): Remove signbit tests.
22118         * modules/floorf-tests (Depends-on): Remove 'signbit'.
22119         * doc/posix-functions/floorf.texi: Mention the new module.
22120
22121 2010-12-21  Bruno Haible  <bruno@clisp.org>
22122
22123         Support for minus zero in autoconf macros.
22124         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
22125         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
22126         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
22127         * tests/minus-zero.h: Update comments.
22128
22129 2010-12-21  Bruno Haible  <bruno@clisp.org>
22130
22131         Tests for module 'ceil'.
22132         * modules/ceil-tests: New file.
22133         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
22134         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
22135
22136 2010-12-21  Bruno Haible  <bruno@clisp.org>
22137
22138         Tests for module 'floor'.
22139         * modules/floor-tests: New file.
22140         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
22141         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
22142
22143 2010-12-21  Bruno Haible  <bruno@clisp.org>
22144
22145         math: Fix indentation.
22146         * lib/math.in.h (floorf): Fix indentation.
22147
22148 2010-12-21  Bruno Haible  <bruno@clisp.org>
22149
22150         Fix cross-compilation guesses on Solaris.
22151         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
22152         not match "solaris2.10".
22153         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22154         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
22155         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
22156
22157 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
22158
22159         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
22160         This fixes a problem observed with the latest coreutils snapshot
22161         that caused a test to fail on Solaris 8.  src/csplit.c's call
22162         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
22163         earlier, instead of returning the number of bytes that would have
22164         been generated; this causes csplit to incorrectly report memory
22165         exhaustion.
22166         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
22167         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
22168         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
22169         comments to match.
22170         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
22171         Fix typo in matching older versions of Solaris: "solaris2.10"
22172         is matched by the shell pattern "solaris2.[0-9]*".  This matters
22173         only for guessing while cross-compiling.
22174         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
22175
22176 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
22177
22178         ftoastr: fix comment again
22179         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22180         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
22181         Also, simplify example a bit by using flags = 0.
22182
22183 2010-12-20  Bruno Haible  <bruno@clisp.org>
22184
22185         round*, trunc*: Update documentation regarding glibc.
22186         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
22187         * doc/posix-functions/round.texi: Likewise.
22188         * doc/posix-functions/roundl.texi: Likewise.
22189         * doc/posix-functions/truncf.texi: Likewise.
22190         * doc/posix-functions/trunc.texi: Likewise.
22191         * doc/posix-functions/truncl.texi: Likewise.
22192
22193 2010-12-20  Bruno Haible  <bruno@clisp.org>
22194
22195         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
22196         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
22197         * doc/posix-functions/round.texi: Likewise.
22198         * doc/posix-functions/roundl.texi: Likewise.
22199
22200 2010-12-20  Bruno Haible  <bruno@clisp.org>
22201
22202         ttyname_r: Add missing declaration on HP-UX 11.
22203         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
22204         HAVE_TTYNAME_R.
22205         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
22206         declared. Set HAVE_TTYNAME_R always.
22207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22208         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
22209         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
22210         HAVE_TTYNAME_R.
22211         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
22212
22213 2010-12-20  Bruno Haible  <bruno@clisp.org>
22214
22215         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
22216         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
22217         * doc/posix-functions/getlogin_r.texi: Likewise.
22218         * tests/test-getlogin.c: Include <errno.h>.
22219         (main): Avoid test failure on HP-UX 11.11.
22220         * tests/test-getlogin_r.c (main): Likewise.
22221
22222 2010-12-20  Bruno Haible  <bruno@clisp.org>
22223
22224         getlogin_r: Add missing declaration on HP-UX 11.
22225         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
22226         declared also when it exists as a function.
22227         * doc/posix-functions/getlogin_r.texi: Document this workaround.
22228
22229 2010-12-20  Bruno Haible  <bruno@clisp.org>
22230
22231         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
22232         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
22233         through wcrtomb.
22234
22235 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22236
22237         ftoastr: fix comment
22238         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22239         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22240
22241 2010-12-19  Bruno Haible  <bruno@clisp.org>
22242
22243         isnan: Ensure it is a macro.
22244         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22245         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22246         Solaris.
22247
22248 2010-12-19  Bruno Haible  <bruno@clisp.org>
22249
22250         ldexpl test: Fix link error on OSF/1 5.1.
22251         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22252
22253 2010-12-19  Bruno Haible  <bruno@clisp.org>
22254
22255         wctype: Make it work in C++ mode on OSF/1 5.1.
22256         * lib/wctype.in.h (iswblank): Declare but not define here.
22257         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22258         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22259         * modules/wctype (Files): Add lib/iswblank.c.
22260
22261 2010-12-19  Bruno Haible  <bruno@clisp.org>
22262
22263         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22264         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22265         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22266
22267 2010-12-19  Bruno Haible  <bruno@clisp.org>
22268
22269         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22270         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22271         _POSIX_PII_SOCKET.
22272         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22273         * doc/posix-functions/recvfrom.texi: Likewise.
22274         * doc/posix-functions/send.texi: Likewise.
22275         * doc/posix-functions/sendto.texi: Likewise.
22276
22277 2010-12-19  Bruno Haible  <bruno@clisp.org>
22278
22279         tcgetsid: Add missing declaration on OSF/1 5.1.
22280         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22281         HAVE_TCGETSID.
22282         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22283         Don't set HAVE_TCGETSID.
22284         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22285         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22286         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22287         HAVE_TCGETSID.
22288         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22289
22290 2010-12-19  Bruno Haible  <bruno@clisp.org>
22291
22292         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22293         * lib/stdio.in.h: During the include_next statement, let recursive
22294         includes of this file include only the system header file.
22295
22296 2010-12-19  Bruno Haible  <bruno@clisp.org>
22297
22298         iconv_open: Fix regression from 2010-12-04.
22299         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22300         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22301
22302 2010-12-19  Bruno Haible  <bruno@clisp.org>
22303
22304         stdbool test: Avoid a gcc warning.
22305         * tests/test-stdbool.c (main): Fail if e1 is false.
22306         Reported by Jim Meyering.
22307
22308 2010-12-19  Jim Meyering  <meyering@redhat.com>
22309
22310         setenv: restore to working order
22311         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22312         mistakenly removed.
22313         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22314         HAVE_SETENV.
22315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22316         HAVE_SETENV.
22317
22318 2010-12-19  Bruno Haible  <bruno@clisp.org>
22319
22320         Document some different function declarations on OSF/1 5.1.
22321         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22322         * doc/posix-functions/inet_ntop.texi: Likewise.
22323         * doc/posix-functions/gethostname.texi: Likewise.
22324         * lib/unistd.in.h (gethostname): Update comment.
22325
22326 2010-12-19  Bruno Haible  <bruno@clisp.org>
22327
22328         doc: Mention vasprintf-posix module.
22329         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22330         the 'vasprintf-posix' module.
22331         * doc/glibc-functions/vasprintf.texi: Likewise.
22332
22333 2010-12-19  Bruno Haible  <bruno@clisp.org>
22334
22335         unsetenv: Add missing declaration on OSF/1 5.1.
22336         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
22337         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
22338         Don't set HAVE_UNSETENV. In the test program, set _BSD.
22339         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
22340         not HAVE_UNSETENV.
22341         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
22342         HAVE_UNSETENV.
22343         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
22344
22345 2010-12-19  Bruno Haible  <bruno@clisp.org>
22346
22347         setenv: Add missing declaration on OSF/1 5.1.
22348         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
22349         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
22350         declared. Don't set HAVE_SETENV.
22351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
22352         not HAVE_SETENV.
22353         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22354         HAVE_SETENV.
22355         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22356
22357 2010-12-19  Bruno Haible  <bruno@clisp.org>
22358
22359         nl_langinfo tests: Avoid gcc warning.
22360         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22361
22362 2010-12-19  Bruno Haible  <bruno@clisp.org>
22363
22364         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22365         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22366         _GL_CXXALIAS_SYS.
22367
22368 2010-12-19  Bruno Haible  <bruno@clisp.org>
22369
22370         stdbool: Relax test.
22371         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22372         address to 'bool' work in static initializer, for compilers other than
22373         GCC.
22374
22375 2010-12-19  Bruno Haible  <bruno@clisp.org>
22376
22377         ftello: Add missing declaration on OSF/1 5.1.
22378         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22379         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22380         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22381         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22382         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22383
22384 2010-12-19  Bruno Haible  <bruno@clisp.org>
22385
22386         fseeko: Add missing declaration on OSF/1 5.1.
22387         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22388         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22389         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22390         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22391         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22392
22393 2010-12-19  Bruno Haible  <bruno@clisp.org>
22394
22395         fchdir: Add missing declaration on OSF/1 5.1.
22396         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22397         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22399         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22400         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22401
22402 2010-12-19  Bruno Haible  <bruno@clisp.org>
22403
22404         relocatable-prog-wrapper: Separate from relocatable-prog.
22405         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22406         uninstall-relocwrapper rule here.
22407         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22408         Reported by Ian Beckwith <ianb@erislabs.net>.
22409
22410 2010-12-19  Bruno Haible  <bruno@clisp.org>
22411
22412         unistr/u8-mbsnlen: Add missing dependency.
22413         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22414         Reported by Ian Beckwith <ianb@erislabs.net>.
22415
22416 2010-12-19  Bruno Haible  <bruno@clisp.org>
22417
22418         iconv: Make it possible again to use this module without 'iconv-h'.
22419         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22420         if it is not defined.
22421         Reported by Ian Beckwith <ianb@erislabs.net>.
22422
22423 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22424
22425         acl: port to Solaris 8 when copying from tmpfs to ufs
22426         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22427         error number.  Problem observed on Solaris 8 with latest
22428         coreutils, with "mv A B", where A is on a tmpfs file system and B
22429         is on a ufs file system.  This caused coreutils' mv/part-symlink
22430         test to fail.
22431
22432         tests: set fail=0 at start
22433         * tests/init.sh (setup_): Move fail=0 initialization here ...
22434         (mktempd_): ... from here, so that tests can rely on fail being
22435         set to 0 initially.  This fixes a problem in coreutils; see:
22436         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22437
22438 2010-12-18  Bruno Haible  <bruno@clisp.org>
22439
22440         memmem-simple: Stylistic changes.
22441         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22442         Fix preprocessor directive indentation.
22443
22444 2010-12-15  Pádraig Brady <P@draigBrady.com>
22445
22446         memmem, memmem-simple: reorganize and expand empty needle check
22447         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22448         functional checks to memmem-simple so that one has a fully functional
22449         memmem by using just this module.
22450         Restrict the performance only check to the memmem module.
22451         Also expand the empty needle check to ensure the correct
22452         pointer is returned, not just a non NULL pointer.
22453         * doc/glibc-functions/memmem.texi: Rearrange the portability
22454         documentation to correlate with the rearranged checks.
22455         Clarify exactly how the memmem and memmem-simple modules
22456         relate to each other.
22457
22458 2010-12-15  Pádraig Brady <P@draigBrady.com>
22459             Bruno Haible  <bruno@clisp.org>
22460
22461         Improve cross-compilation guesses for uClibc.
22462         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22463         that uClibc does not have the glibc bug.
22464         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22465         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22466
22467 2010-12-14  Eric Blake  <eblake@redhat.com>
22468
22469         configmake: provide fallbacks for oldest supported autotools
22470         * m4/configmake.m4: New file.
22471         * modules/configmake (Files): Ship it.
22472         (configure.ac): Use it to guarantee fallbacks.
22473
22474 2010-12-13  Pádraig Brady <P@draigBrady.com>
22475
22476         read-file: Improve handling of large files
22477         * lib/read-file.c (fread_file): Minimize realloc()s
22478         for regular files, and better manage sizes around SIZE_MAX.
22479
22480 2010-12-13  Eric Blake  <eblake@redhat.com>
22481
22482         cloexec, fcntl: relax license
22483         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22484         consent from all contributors.
22485         * modules/fcntl (License): Likewise.
22486
22487 2010-12-10  Bruno Haible  <bruno@clisp.org>
22488
22489         Tests for module 'pipe-posix'.
22490         * modules/pipe-posix-tests: New file.
22491         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22492
22493 2010-12-10  Bruno Haible  <bruno@clisp.org>
22494
22495         pipe-posix: Make it work in C++ mode.
22496         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22497         (pipe): Use common idiom, not a macro definition.
22498         * lib/pipe.c: New file.
22499         * m4/pipe.m4: New file.
22500         * modules/pipe-posix (Description): Enhance.
22501         (Files): Add lib/pipe.c, m4/pipe.m4.
22502         (configure.ac): Invoke gl_FUNC_PIPE.
22503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22504         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22505         * tests/test-unistd-c++.cc: Check the signature of pipe.
22506
22507 2010-12-10  Bruno Haible  <bruno@clisp.org>
22508
22509         Rename module 'pipe' to 'spawn-pipe'.
22510         * modules/spawn-pipe: New file, renamed from modules/pipe.
22511         (Files, configure.ac, Makefile.am): Update.
22512         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22513         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22514         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22515         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22516         "spawn-pipe.h" instead of "pipe.h".
22517         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22518         to gl_SPAWN_PIPE.
22519         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22520         (Files, Makefile.am): Update.
22521         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22522         Update.
22523         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22524         Include "spawn-pipe.h" instead of "pipe.h".
22525         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22526         * lib/javacomp.c: Likewise.
22527         * lib/javaversion.c: Likewise.
22528         * lib/pipe-filter-gi.c: Likewise.
22529         * lib/pipe-filter-ii.c: Likewise.
22530         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22531         * modules/javacomp (Depends-on): Likewise.
22532         * modules/javaversion (Depends-on): Likewise.
22533         * modules/pipe-filter-gi (Depends-on): Likewise.
22534         * modules/pipe-filter-ii (Depends-on): Likewise.
22535         * MODULES.html.sh (Executing programs): Update.
22536         * NEWS: Mention the change.
22537
22538 2010-12-10  Eric Blake  <eblake@redhat.com>
22539
22540         pipe-posix: new module
22541         * modules/pipe-posix: New file.
22542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22543         (gl_UNISTD_H): Check for declaration.
22544         * modules/unistd (Makefile.am): Substitute it.
22545         * lib/unistd.in.h (pipe): Provide it for mingw.
22546         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22547         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22548
22549 2010-12-07  Bruno Haible  <bruno@clisp.org>
22550
22551         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22552         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22553         u8_strcmp_gnu.
22554         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22555
22556 2010-12-06  Bruno Haible  <bruno@clisp.org>
22557
22558         Update internal documentation.
22559         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22560
22561 2010-12-04  Bruno Haible  <bruno@clisp.org>
22562
22563         Put more information about failed tests into the test return codes.
22564         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22565         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22566         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22567         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22568         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22569         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22570         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22571         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22572         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22573         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22574         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22575         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22576         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22577         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22578         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22579         returns a bit mask.
22580         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22581         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22582         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22583         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22584         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22585         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22586         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22587         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22588         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22589         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22590         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22591         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22592         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22593         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22594         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22595         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22596         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22597         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22598         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22599         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22600         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22601         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22602         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22603         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22604         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22605         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22606         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22607         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22608         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22609         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22610         gl_PRINTF_PRECISION): Likewise.
22611         * m4/regex.m4 (gl_REGEX): Likewise.
22612         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22613         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22614         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22615         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22616         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22618         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22619         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22620         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22621         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22622         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22623         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22624         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22625         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22626         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22627         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22628         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22629         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22630         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22631         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22632         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22633         enumerated value.
22634         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22635
22636 2010-12-04  Bruno Haible  <bruno@clisp.org>
22637
22638         Update for Solaris 11 2010-11.
22639         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22640         Express, released in November 2010.
22641
22642 2010-12-04  Bruno Haible  <bruno@clisp.org>
22643
22644         nproc: Relax license.
22645         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22646         and Paul Eggert.
22647         Requested by Ludovic Courtès <ludo@gnu.org>.
22648
22649 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22650
22651         utimecmp: fine-grained src to nearby coarse-grained dest
22652
22653         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22654         and the source is on a file system with higher-resolution time
22655         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22656         not work, and the time stamps are close together, the algorithm to
22657         determine the exact resolution from the read-back mtime was buggy:
22658         it had a "!=" where it should have had an "==".  This bug has been
22659         in the code ever since it was introduced to gnulib.
22660         Problem reported by Dan Jacobson in
22661         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22662
22663 2010-11-30  Bruno Haible  <bruno@clisp.org>
22664
22665         strerror_r-posix: Fix autoconf test.
22666         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22667
22668 2010-11-28  Bruno Haible  <bruno@clisp.org>
22669             Paul Eggert  <eggert@cs.ucla.edu>
22670
22671         Tests for module 'getdomainname'.
22672         * modules/getdomainname-tests: New file.
22673         * tests/test-getdomainname.c: New file, based on
22674         tests/test-gethostname.c.
22675
22676 2010-11-28  Bruno Haible  <bruno@clisp.org>
22677             Paul Eggert  <eggert@cs.ucla.edu>
22678
22679         getdomainname: Use the system function when possible.
22680         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22681         (getdomainname): Replace if needed. Provide the declaration if it is
22682         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22683         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22684         (getdomainname): When the system has getdomainname, call the system
22685         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22686         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22687         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22688         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22689         the function if its second argument is of type 'int' or if it is found
22690         in libnsl.
22691         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22692         <sys/systeminfo.h> and sysinfo().
22693         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22695         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22696         HAVE_GETDOMAINNAME.
22697         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22698         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22699         * doc/glibc-functions/getdomainname.texi: Document the problems with
22700         the getdomainname declaration.
22701
22702 2010-11-28  Bruno Haible  <bruno@clisp.org>
22703
22704         sys_socket: Ensure ss_family field on AIX.
22705         * lib/sys_socket.in.h (ss_family): New macro definition.
22706         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22707         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22708         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22709         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22710         * modules/sys_socket (Makefile.am): Substitute
22711         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22712         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22713
22714 2010-11-27  Bruno Haible  <bruno@clisp.org>
22715
22716         readline: Improve configure output.
22717         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22718         "checking for readline..." result understandable.
22719
22720 2010-11-27  Bruno Haible  <bruno@clisp.org>
22721
22722         *printf-posix: Detect a bug on Solaris 10/x86.
22723         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22724         for floating-point output.
22725         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22726         directive.
22727         * tests/test-snprintf-posix.h (test_function): Likewise.
22728         * tests/test-sprintf-posix.h (test_function): Likewise.
22729         * tests/test-vasprintf-posix.c (test_function): Likewise.
22730         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22731         * doc/posix-functions/printf.texi: Likewise.
22732         * doc/posix-functions/snprintf.texi: Likewise.
22733         * doc/posix-functions/sprintf.texi: Likewise.
22734         * doc/posix-functions/vfprintf.texi: Likewise.
22735         * doc/posix-functions/vprintf.texi: Likewise.
22736         * doc/posix-functions/vsnprintf.texi: Likewise.
22737         * doc/posix-functions/vsprintf.texi: Likewise.
22738         * doc/glibc-functions/obstack_printf.texi: Likewise.
22739         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22740
22741 2010-11-27  Bruno Haible  <bruno@clisp.org>
22742
22743         Fix link error when module libunistring-optional is in use.
22744         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22745         * modules/striconveha-tests (Makefile.am): Likewise.
22746
22747 2010-11-27  Bruno Haible  <bruno@clisp.org>
22748
22749         regex: Mention link dependencies.
22750         * modules/regex (Link): New section.
22751         * modules/rpmatch (Link): Likewise.
22752         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22753
22754 2010-11-27  Bruno Haible  <bruno@clisp.org>
22755
22756         ftoastr: Fix compilation error on Solaris.
22757         * lib/ftoastr.c: Include <config.h>.
22758
22759 2010-11-27  Bruno Haible  <bruno@clisp.org>
22760
22761         getloadavg: Update documentation.
22762         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22763
22764 2010-11-27  Bruno Haible  <bruno@clisp.org>
22765
22766         sys_socket: Fix test whether the functions are declared.
22767         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22768         not <sys/select.h>.
22769
22770 2010-11-27  Bruno Haible  <bruno@clisp.org>
22771
22772         getpass: Make sure to get system declaration on some platforms.
22773         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22774         gl_USE_SYSTEM_EXTENSIONS.
22775         * modules/getpass (Depends-on): Add extensions.
22776
22777 2010-11-26  Bruno Haible  <bruno@clisp.org>
22778
22779         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22780         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22781         'iconv' module is present.
22782         (ICONV_CONST): New macro.
22783         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22784         ICONV_CONST.
22785         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22786         set ICONV_CONST.
22787         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22788         here.
22789         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22790         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22791         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22792         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22793         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22794         present.
22795
22796 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22797
22798         ftoastr: comment fix
22799         * lib/ftoastr.c: "little" -> "little or no" in comment
22800
22801 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22802
22803         stdint: port to GCC 4.3 + OSX + Octave
22804         On this platform, stdint.h is buggy and defines int64_t to long
22805         long int.  The replacement defined it to long int, causing
22806         problems with C++ style name mangling.  Instead, trust the system
22807         definition if INT64_MAX is defined, and likewise for the unsigned
22808         variant.   Problem reported by Jarno Rajahalme in
22809         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22810         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22811         and don't mess with int64_t and INT64_MAX in this case.
22812         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22813
22814 2010-11-24  Bruno Haible  <bruno@clisp.org>
22815
22816         doc: Corrections regarding MacOS X 10.4 and 10.5.
22817         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22818         MacOS X.
22819         Reported by Simon Josefsson.
22820
22821 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22822
22823         Uninstall ".bin" files installed by relocwrapper.
22824         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22825         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22826         unless it is already there.
22827
22828 2010-11-21  Bruno Haible  <bruno@clisp.org>
22829
22830         Update for NetBSD 5.0.
22831         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22832         NetBSD; the test fails on NetBSD 5.0.
22833         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22834         about NetBSD.
22835
22836 2010-11-21  Bruno Haible  <bruno@clisp.org>
22837
22838         Update for HP-UX 11.23 and HP-UX 11.31.
22839         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22840         HP-UX.
22841
22842 2010-11-21  Bruno Haible  <bruno@clisp.org>
22843
22844         Update for MacOS X 10.5.
22845         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22846         MacOS X; the test fails on MacOS X 10.5.8.
22847         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22848         about MacOS X.
22849
22850 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22851
22852         bootstrap: add bootstrap_sync option.
22853         See discussion at
22854         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22856         * build-aux/bootstrap: Accept --bootstrap-sync to update
22857         bootstrap if it is not identical to the local gnulib's
22858         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22859         enable this by default.  Accept --no-bootstrap-sync to disable
22860         it.
22861
22862 2010-11-20  Bruno Haible  <bruno@clisp.org>
22863
22864         Ensure that <features.h> is included before __GLIBC__ is tested.
22865         * lib/printf-parse.h: Include <features.h>.
22866         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22867         Reported by Mike Frysinger <vapier@gentoo.org>.
22868
22869         Ensure that <features.h> is included before __GLIBC__ is tested.
22870         * lib/wchar.in.h: Include <features.h>.
22871         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22872         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22873         Reported by Mike Frysinger <vapier@gentoo.org>.
22874
22875         Ensure that <features.h> is included before __GLIBC__ is tested.
22876         * lib/arpa_inet.in.h: Include <features.h>.
22877         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22878         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22879         Reported by Mike Frysinger <vapier@gentoo.org>.
22880
22881         Ensure that <features.h> is included before __GLIBC__ is tested.
22882         * build-aux/link-warning.h: Include <features.h>.
22883         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22884         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22885         Reported by Mike Frysinger <vapier@gentoo.org>.
22886
22887         Ensure that <features.h> is included before __GLIBC__ is tested.
22888         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22889         Reported by Mike Frysinger <vapier@gentoo.org>.
22890
22891 2010-11-20  Bruno Haible  <bruno@clisp.org>
22892
22893         memmem: Fix autoconf test.
22894         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22895
22896 2010-11-20  Bruno Haible  <bruno@clisp.org>
22897
22898         Port to uClibc.
22899         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22900         * lib/fcntl.in.h: Likewise.
22901         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22902         * lib/mbrtowc.c (mbrtowc): Likewise.
22903         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22904         * lib/strerror_r.c: Likewise.
22905         * lib/unistr/u8-strnlen.c: Likewise.
22906         * lib/vasnprintf.c (decimal_point_char): Likewise.
22907         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22908         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22909         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22910         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22911         * tests/test-sigaction.c (handler, main): Likewise.
22912         * lib/freading.h: Treat uClibc like a non-glibc platform.
22913         * lib/freading.c: Likewise.
22914         * lib/gettext.h: Likewise.
22915         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22916         Likewise.
22917         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22918         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22919         * lib/propername.c (proper_name_utf8): Likewise.
22920         * lib/spawn.in.h: Likewise.
22921         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22922         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22923         mem_cd_iconveh_internal): Likewise.
22924         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22925         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22926         strstr, strcasestr): Likewise.
22927         * lib/unicodeio.c (unicode_to_mb): Likewise.
22928         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22929         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22930         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22931         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22932         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22933         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22934         * lib/unistr/u8-stpncpy.c: Likewise.
22935         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22936         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22937         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22938         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22939         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22940         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22941         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22942         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22943         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22944         Likewise.
22945         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22946         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22947         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22948         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22949         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22950         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22951         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22952         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22953         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22954         * tests/test-striconveha.c (main): Likewise.
22955         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22956         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22957         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22958         * doc/posix-functions/getline.texi: Likewise.
22959         Reported by Mike Frysinger <vapier@gentoo.org>.
22960
22961 2010-11-20  Bruno Haible  <bruno@clisp.org>
22962
22963         nproc: Fix condition.
22964         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22965         HAVE_PTHREAD_AFFINITY_NP.
22966
22967 2010-11-20  Bruno Haible  <bruno@clisp.org>
22968
22969         Fix a comment.
22970         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22971
22972 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22973
22974         ftoastr: don't assume snprintf
22975         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22976         Implement a subset of snprintf here, by using sprintf safely.
22977         * modules/ftoastr (Depends-on): Remove snprintf.
22978
22979 2010-11-19  Jim Meyering  <meyering@redhat.com>
22980
22981         test-rename.h: fix compilation failure
22982         * tests/test-rename.h (test_rename): Add omitted "}".
22983
22984 2010-11-17  Jim Meyering  <meyering@redhat.com>
22985
22986         maint.mk: add a URL discussing the no-@acronym policy
22987         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22988
22989 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22990
22991         ftoastr: depend on snprintf, improve comments
22992         * lib/ftoastr.c: Also mention Loitsch's draft.
22993         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22994         needed in the current implementation, but it might simplify
22995         speeding up the code later.
22996         * modules/ftoastr: Depend on snprintf; this improves portability.
22997         Suggested by Bruno Haible in the same email.
22998
22999         ftoastr: port to hosts lacking strtof and strtold
23000         Problem reported by Bruno Haible in
23001         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
23002         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
23003         environment and strtold (and presumably strtof) are not available.
23004         * modules/ftoastr (Files): Add m4/c-strtod.m4.
23005         (configure.ac): Require gl_C99_STRTOLD.
23006
23007 2010-11-18  Bruno Haible  <bruno@clisp.org>
23008
23009         c-strtold: Avoid link error on AIX 7.
23010         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
23011         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
23012         (gl_C_STRTOLD): Test whether strtold_l exists.
23013         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23014
23015 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23016
23017         intprops: new macro INT_BITS_STRLEN_BOUND
23018         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
23019         ftoastr.h.  This exposes an internal of intprops.h that was formerly
23020         not exposed.  Also, it uses a slightly tighter bound than before;
23021         though this makes no practical difference, we might as well be as
23022         tight as we easily can.
23023
23024         ftoastr: new module, for lossless conversion of floats to short strings
23025         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
23026         * modules/ftoastr: New files.
23027
23028 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
23029
23030         bootstrap: port to Solaris sed
23031         * build-aux/bootstrap (get_version): Port to Solaris sed.
23032         See Ralf Wildenhues's note in
23033         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
23034
23035 2010-11-14  Jim Meyering  <meyering@redhat.com>
23036
23037         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
23038         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
23039         and move definition closer to sole use.
23040
23041 2010-11-13  Jim Meyering  <meyering@redhat.com>
23042
23043         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
23044         Now we require at least autoconf-2.59, which means the work-around
23045         is no longer needed.
23046         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
23047         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23048         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
23049         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
23050         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
23051
23052 2010-11-13  Bruno Haible  <bruno@clisp.org>
23053
23054         rename, renameat: Avoid test failures at NFS mounted locations.
23055         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
23056         functions.
23057         (test_rename): Use assert_nonexistent.
23058         * tests/test-rename.c: Include <dirent.h>.
23059         * tests/test-renameat.c: Likewise.
23060         Reported by Gary V. Vaughan <gary@gnu.org>.
23061
23062         rename, renameat: Document Linux bug with NFS
23063         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
23064         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
23065         * doc/posix-functions/renameat.texi: Likewise.
23066         Suggested by Eric Blake.
23067
23068 2010-11-13  Bruno Haible  <bruno@clisp.org>
23069
23070         rename test: Add comments.
23071         * tests/test-rename.h (test_rename): Add structure and comments.
23072
23073 2010-11-13  Eric Blake  <eblake@redhat.com>
23074
23075         maintainer-makefile: cover a few more files
23076         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
23077         scripts generated within C files, for libvirt.
23078
23079 2010-11-13  Bruno Haible  <bruno@clisp.org>
23080
23081         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
23082         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
23083         character, return the number of bytes that belong together, not always
23084         1.
23085         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
23086         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
23087         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
23088         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
23089         number of bytes of an invalid character.
23090         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
23091         (main): Invoke it.
23092         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
23093         results.
23094         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
23095         malformed byte sequences.
23096         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
23097         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
23098         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
23099         Reported by Ben Pfaff and Paolo Bonzini.
23100
23101 2010-11-13  Bruno Haible  <bruno@clisp.org>
23102
23103         openat: Work around glibc bug with fchownat() and empty file names.
23104         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
23105         (gl_FUNC_FCHOWNAT): Invoke it.
23106         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
23107         * doc/posix-functions/fchownat.texi: Document the glibc bug.
23108         Reported by Gary V. Vaughan <gary@gnu.org>.
23109
23110 2010-11-13  Bruno Haible  <bruno@clisp.org>
23111
23112         openat: Ensure autoconf macro ordering.
23113         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
23114         gl_USE_SYSTEM_EXTENSIONS.
23115         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
23116
23117 2010-11-13  Bruno Haible  <bruno@clisp.org>
23118
23119         Update comments.
23120         * lib/unistr/u8-check.c: Update file name in comments.
23121         * lib/unistr/u8-mblen.c: Likewise.
23122         * lib/unistr/u8-prev.c: Likewise.
23123         * lib/unistr/u8-strmblen.c: Likewise.
23124         * lib/unistr/u8-strmbtouc.c: Likewise.
23125
23126 2010-11-13  Jim Meyering  <meyering@redhat.com>
23127
23128         tests: avoid test failure on Solaris 10 due to lack of PATH export
23129         * tests/test-update-copyright.sh: Don't forget to export PATH.
23130
23131         init.sh: ensure that IFS is defined, just in case...
23132         * tests/init.sh (setup_): Ensure that IFS is defined,
23133         so that saving and restoring it works as expected.  This
23134         appears to be useful at least for an old version of dash
23135         from a long time ago (RH 6).  See here for details:
23136         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
23137
23138         maint.mk: tighten "test a == b" check
23139         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
23140         test to files that contain something like #!/bin/sh.
23141         Without this, coreutils would get two false positives in
23142         the comments of C source files.
23143
23144 2010-11-12  Eric Blake  <eblake@redhat.com>
23145
23146         bootstrap: fix typo in previous attempt
23147         * build-aux/bootstrap (buildreq): Correct the grouping.
23148         Reported by Paul Eggert.
23149
23150         maintainer-makefile: prohibit test x == x
23151         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
23152         Based on a report by Matthias Bolte.
23153
23154         bootstrap: allow FreeBSD gzip
23155         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
23156         which has no '.' and goes to stderr.
23157         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
23158         Reported by Matthias Bolte.
23159
23160         maintainer-makefile: check for i18n setup
23161         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
23162         will likely work.
23163
23164 2010-11-12  Bruno Haible  <bruno@clisp.org>
23165
23166         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
23167         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
23168         * lib/nanosleep.c (nanosleep): Likewise.
23169
23170 2010-11-11  Bruno Haible  <bruno@clisp.org>
23171
23172         fcntl-h: Fix for use of C++ on glibc systems.
23173         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23174         also on glibc systems in C++ mode.
23175         Reported by Gary V. Vaughan <gary@gnu.org>.
23176
23177 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23178
23179         mknod: avoid false failure with dash
23180         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
23181
23182 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23183
23184         unlink: Fix "is it should" typo in diagnostic.
23185         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
23186         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
23187
23188 2010-11-11  Bruno Haible  <bruno@clisp.org>
23189
23190         Tests for module 'strerror_r-posix'.
23191         * modules/strerror_r-posix-tests: New file.
23192         * tests/test-strerror_r.c: New file.
23193         * tests/test-string-c++.cc: Check the signature of strerror_r.
23194
23195         New module 'strerror_r-posix'.
23196         * lib/string.in.h (strerror_r): New declaration.
23197         * lib/strerror_r.c: New file.
23198         * m4/strerror_r.m4: New file.
23199         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
23200         of strerror_r.
23201         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
23202         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23203         * modules/strerror_r-posix: New file.
23204         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
23205         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23206         * doc/posix-functions/strerror_r.texi: Mention the new module and the
23207         portability problems.
23208
23209 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
23210
23211         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
23212         line is also considered for output. Quoted function name in shell
23213         command, so temporary files for functions like MyClass::operator()
23214         are removed correctly without errors.
23215
23216 2010-11-09  Bruno Haible  <bruno@clisp.org>
23217
23218         * doc/posix-functions/strerror.texi: List more failing platforms.
23219
23220         * doc/posix-functions/strerror.texi: Add a comment.
23221
23222 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
23223
23224         fdopendir: fix bug on MacOS X when low on file descriptors
23225
23226         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
23227         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
23228         All callers changed.
23229         (fdopendir): Invoke save_cwd at the top level, not after using
23230         multiple dup() calls to use up file descriptors.  Then retry
23231         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
23232         less than the maximum number of open file descriptors, because
23233         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
23234         on Mac OS X 10.6.4 for tar 1.24
23235         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23236         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23237         and for tar 1.25
23238         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23239
23240 2010-11-07  Bruno Haible  <bruno@clisp.org>
23241
23242         vasnprintf: Support I flag on glibc systems.
23243         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23244         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23245         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23246         snprintf function.
23247         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23248         glibc systems.
23249         * tests/test-vasnprintf-posix3.c: New file.
23250         * modules/vasnprintf-posix-tests (Files): Add it.
23251         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23252
23253 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23254
23255         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23256         * MODULES.html.sh: For compiler warnings, use name
23257         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23258
23259 2010-11-05  Eric Blake  <eblake@redhat.com>
23260
23261         ceil, floor: avoid spurious failure with icc
23262         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23263         [denormals-as-zero] when optimizing without -mieee-fp option.
23264         * tests/test-floorf2.c (floorf_reference): Likewise.
23265         * tests/test-ceilf1.c (dummy): New function.
23266         (main): Use it to outsmart icc's optimization.
23267         * tests/test-floorf1.c (dummy, main): Likewise.
23268
23269         tests: require working signbit
23270         * modules/ceilf-tests (Depends-on): Add signbit.
23271         * modules/ceill-tests (Depends-on): Likewise.
23272         * modules/floorf-tests (Depends-on): Likewise.
23273         * modules/floorl-tests (Depends-on): Likewise.
23274         * modules/round-tests (Depends-on): Likewise.
23275         * modules/roundf-tests (Depends-on): Likewise.
23276         * modules/roundl-tests (Depends-on): Likewise.
23277         * modules/trunc-tests (Depends-on): Likewise.
23278         * modules/truncf-tests (Depends-on): Likewise.
23279         * modules/truncl-tests (Depends-on): Likewise.
23280
23281         strtod: work around icc bug
23282         * lib/strtod.c (minus_zero): Define to working value.
23283         (strtod): Use it to avoid icc bug.
23284
23285         copysign: enhance tests
23286         * modules/copysign-tests (Files): Add minus-zero.h.
23287         * tests/test-copysign.c (main): Also test zeros.
23288
23289 2010-11-04  Eric Blake  <eblake@redhat.com>
23290
23291         ceil, floor, round, trunc: enhance tests of -0
23292         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23293         * tests/test-ceill.c (main): Likewise.
23294         * tests/test-floorf1.c (main): Likewise.
23295         * tests/test-floorl.c (main): Likewise.
23296         * tests/test-round1.c (main): Likewise.
23297         * tests/test-roundf1.c (main): Likewise.
23298         * tests/test-roundl.c (main): Likewise.
23299         * tests/test-trunc1.c (main): Likewise.
23300         * tests/test-truncf1.c (main): Likewise.
23301         * tests/test-truncl.c (main): Likewise.
23302
23303 2010-11-04  Eric Blake  <eblake@redhat.com>
23304
23305         frexp, tests: work around ICC bug with -zero
23306         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23307         works with more compilers.
23308         * tests/minus-zero.h: New file.
23309         * modules/ceilf-tests (Files): Include it.
23310         * modules/ceill-tests (Files): Likewise.
23311         * modules/floorf-tests (Files): Likewise.
23312         * modules/floorl-tests (Files): Likewise.
23313         * modules/frexp-nolibm-tests (Files): Likewise.
23314         * modules/frexp-tests (Files): Likewise.
23315         * modules/frexpl-nolibm-tests (Files): Likewise.
23316         * modules/frexpl-tests (Files): Likewise.
23317         * modules/isnan-tests (Files): Likewise.
23318         * modules/isnand-nolibm-tests (Files): Likewise.
23319         * modules/isnand-tests (Files): Likewise.
23320         * modules/isnanf-nolibm-tests (Files): Likewise.
23321         * modules/isnanf-tests (Files): Likewise.
23322         * modules/isnanl-nolibm-tests (Files): Likewise.
23323         * modules/isnanl-tests (Files): Likewise.
23324         * modules/round-tests (Files): Likewise.
23325         * modules/roundf-tests (Files): Likewise.
23326         * modules/roundl-tests (Files): Likewise.
23327         * modules/ldexpl-tests (Files): Likewise.
23328         * modules/signbit-tests (Files): Likewise.
23329         * modules/snprintf-posix-tests (Files): Likewise.
23330         * modules/sprintf-posix-tests (Files): Likewise.
23331         * modules/strtod-tests (Files): Likewise.
23332         * modules/trunc-tests (Files): Likewise.
23333         * modules/truncf-tests (Files): Likewise.
23334         * modules/truncl-tests (Files): Likewise.
23335         * modules/vsnprintf-posix-tests (Files): Likewise.
23336         * modules/vsprintf-posix-tests (Files): Likewise.
23337         * modules/vasnprintf-posix-tests (Files): Likewise.
23338         * modules/vasprintf-posix-tests (Files): Likewise.
23339         * tests/test-ceilf1.c (main): Use it.
23340         * tests/test-ceill.c (main): Likewise.
23341         * tests/test-floorf1.c (main): Likewise.
23342         * tests/test-floorl.c (main): Likewise.
23343         * tests/test-frexp.c (main): Likewise.
23344         * tests/test-frexpl.c (main): Likewise.
23345         * tests/test-isnan.c (main): Likewise.
23346         * tests/test-isnand.h (main): Likewise.
23347         * tests/test-isnanf.h (main): Likewise.
23348         * tests/test-isnanl.h (main): Likewise.
23349         * tests/test-ldexpl.c (main): Likewise.
23350         * tests/test-round.c (main): Likewise.
23351         * tests/test-roundf.c (main): Likewise.
23352         * tests/test-roundl.c (main): Likewise.
23353         * tests/test-signbit.c (test_signbitf, test_signbitd)
23354         (test_signbitl): Likewise.
23355         * tests/test-snprintf-posix.h (test_function): Likewise.
23356         * tests/test-sprintf-posix.h (test_function): Likewise.
23357         * tests/test-strtod.c (main): Likewise.
23358         * tests/test-trunc1.c (main): Likewise.
23359         * tests/test-truncf1.c (main): Likewise.
23360         * tests/test-truncl.c (main): Likewise.
23361
23362         isnanl: work around icc bug
23363         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23364
23365 2010-11-03  Eric Blake  <eblake@redhat.com>
23366
23367         tests: fix compiler warnings
23368         * tests/test-getopt.h (test_getopt): Fix condition.
23369         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23370         * tests/test-pipe2.c (main): Likewise.
23371         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23372
23373         utimens: fix broken m4 test
23374         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23375
23376 2010-10-28  Bruno Haible  <bruno@clisp.org>
23377
23378         posix_spawn*, getdtablesize: Relax license.
23379         * modules/posix_spawn (License): Change to LGPLv2+.
23380         * modules/posix_spawnp (License): Likewise.
23381         * modules/posix_spawn-internal (License): Likewise.
23382         * modules/posix_spawnattr_init (License): Likewise.
23383         * modules/posix_spawnattr_getflags (License): Likewise.
23384         * modules/posix_spawnattr_setflags (License): Likewise.
23385         * modules/posix_spawnattr_getpgroup (License): Likewise.
23386         * modules/posix_spawnattr_setpgroup (License): Likewise.
23387         * modules/posix_spawnattr_getschedparam (License): Likewise.
23388         * modules/posix_spawnattr_setschedparam (License): Likewise.
23389         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23390         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23391         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23392         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23393         * modules/posix_spawnattr_getsigmask (License): Likewise.
23394         * modules/posix_spawnattr_setsigmask (License): Likewise.
23395         * modules/posix_spawnattr_destroy (License): Likewise.
23396         * modules/posix_spawn_file_actions_init (License): Likewise.
23397         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23398         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23399         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23400         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23401         * modules/getdtablesize (License): Likewise.
23402         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23403
23404 2010-10-26  Bruno Haible  <bruno@clisp.org>
23405
23406         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23407         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23408         Cygwin and mingw.
23409         Suggested by Eric Blake.
23410
23411 2010-10-26  Bruno Haible  <bruno@clisp.org>
23412
23413         stdio: Work around compilation error due to renameat() on Solaris 10.
23414         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23415         * lib/renameat.c: Don't include <unistd.h> here.
23416         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23417         Reported by Paul Eggert and Eric Blake.
23418
23419 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23420
23421         renameat: port to Solaris 10, which declares renameat in unistd.h
23422
23423         * lib/renameat.c: Include unistd.h before stdio.h, because
23424         Solaris 10 declares renameat in unistd.h.  Problem encountered
23425         when building GNU tar 1.24 on Solaris 10.
23426
23427 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23428
23429         fdopendir: fix C89 compilation
23430         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23431         compilers.
23432
23433 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23434
23435         inttostr: simplify by removing unnecessary redundancy
23436         * lib/anytostr.c: Don't include verify.h.
23437         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23438         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23439         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23440         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23441         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23442         Likewise.
23443         * modules/inttostr (Depends-on): Remove 'verify'.
23444
23445 2010-10-23  Bruno Haible  <bruno@clisp.org>
23446
23447         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23448         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23449         Reported by Eric Blake.
23450
23451 2010-10-23  Bruno Haible  <bruno@clisp.org>
23452
23453         Tests: Fix LOCALE_JA on MirBSD 10.
23454         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23455         to an UTF-8 locale.
23456         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23457         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23458         Reported by Eric Blake.
23459
23460 2010-10-21  Bruno Haible  <bruno@clisp.org>
23461
23462         nl_langinfo test: Avoid test failure on NetBSD 5.
23463         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23464         Reported by Eric Blake.
23465
23466 2010-10-21  Eric Blake  <eblake@redhat.com>
23467
23468         c-stack: work around libsigsegv 2.8 bug
23469         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23470         overflow on at least PowerPC64.
23471
23472 2010-10-17  Bruno Haible  <bruno@clisp.org>
23473
23474         userspec: Drop redundant file.
23475         * modules/userspec (Files): Remove lib/inttostr.h.
23476
23477 2010-10-17  Bruno Haible  <bruno@clisp.org>
23478
23479         nl_langinfo tests: Silence some warnings.
23480         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23481         Reported by Jim Meyering.
23482
23483 2010-10-17  Bruno Haible  <bruno@clisp.org>
23484
23485         Make use of GCC's attribute __alloc_size__.
23486         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23487         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23488         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23489         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23490         __alloc_size__.
23491         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23492         Suggested by Jim Meyering.
23493
23494 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23495
23496         bootstrap: anchor .gitignore entries.
23497         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23498         with...
23499         (insert_vc_ignore): ... this new function, which prepends `/' to
23500         all .gitignore entries before passing them to
23501         insert_sorted_if_absent.
23502
23503 2010-10-16  Bruno Haible  <bruno@clisp.org>
23504
23505         nextafter: Fix configure check.
23506         * modules/nextafter (configure.ac): Correct expected prototype.
23507
23508 2010-10-16  Bruno Haible  <bruno@clisp.org>
23509
23510         termios: Update documentation.
23511         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23512
23513 2010-10-16  Bruno Haible  <bruno@clisp.org>
23514
23515         tests: Make them compile with TinyCC.
23516         * tests/test-strstr.c (main): Remove parentheses around array
23517         initializer.
23518
23519 2010-10-15  Eric Blake  <eblake@redhat.com>
23520
23521         ignore-value: make header idempotent
23522         * lib/ignore-value.h: Add double-inclusion guards.
23523         Reported by Stefan Berger.
23524
23525 2010-10-15  Jim Meyering  <meyering@redhat.com>
23526
23527         GNUmakefile: handle "stable" target, not "major"
23528         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23529         lists in maint.mk and announce-gen.  Without this, "make stable"
23530         would fail to ensure that $(VERSION) is up to date.
23531
23532 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23533
23534         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23535         & co.
23536
23537 2010-10-14  Bruno Haible  <bruno@clisp.org>
23538
23539         vasnprintf: Don't set errno to 0.
23540         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23541         block that sets it to 0.
23542         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23543
23544 2010-10-14  Bruno Haible  <bruno@clisp.org>
23545
23546         socketlib: Fix.
23547         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23548         gl_PREREQ_SYS_H_WINSOCK2.
23549         Reported by Ian Beckwith <ianb@erislabs.net>.
23550
23551 2010-10-13  Jim Meyering  <meyering@redhat.com>
23552
23553         test-select-stdin.c: avoid warn_unused_result warnings
23554         * tests/test-select-stdin.c: Include "macros.h".
23555         ASSERT that read and fflush succeed.
23556
23557 2010-10-13  Jim Meyering  <meyering@redhat.com>
23558
23559         git-version-gen: do require git-VC'd files in cwd
23560         * build-aux/git-version-gen: Reject a git version string
23561         if there are no commits associated with the current directory.
23562         This avoids an unlikely false-positive (unrelated dir whose parent
23563         repository also contains a tag matching v*), as pointed out
23564         by Giuseppe Scrivano in
23565         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23566
23567 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23568
23569         argv-iter: omit nonconforming declaration
23570         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23571         enum arg_iter_err declaration, which doesn't conform to C99.
23572         Solaris 10 cc warns about this.
23573
23574 2010-10-13  Eric Blake  <eblake@redhat.com>
23575
23576         termios: fix compilation on mingw
23577         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23578         (gl_TERMIOS_H): Adjust it on mingw.
23579         * modules/termios (Makefile.am): Substitute new key.
23580         * lib/termios.in.h (includes): Make include_next conditional.
23581         * doc/posix-headers/termios.texi (termios.h): Update
23582         documentation.
23583         Reported by Daniel P. Berrange.
23584
23585 2010-10-13  Jim Meyering  <meyering@redhat.com>
23586
23587         git-version-gen: don't require that .git/ be in the current dir
23588         * build-aux/git-version-gen: Adjust this script so that it works
23589         when run from any working directory beneath the top-level .git/-
23590         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23591         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23592
23593         test-select: avoid warn_unused_result warnings
23594         * tests/test-select.c: Include "macros.h".
23595         ASSERT that each call to read, write, and pipe succeeds.
23596         While not technically required, also check each "close".
23597         * modules/select-tests (Files): Add tests/macros.h.
23598
23599         test-symlinkat: remove declaration of unused local
23600         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23601
23602         test-inttostr: avoid shadowing warnings
23603         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23604         and use malloc rather than the stack for the same reason as
23605         mentioned in the comment justifying the other allocation.
23606
23607 2010-10-11  Bruno Haible  <bruno@clisp.org>
23608
23609         stdlib: Allow multiple gnulib generated replacements to coexist.
23610         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23611         Reported by Sam Steingold <sds@gnu.org>.
23612
23613 2010-10-11  Jim Meyering  <meyering@redhat.com>
23614
23615         fix a documentation typo
23616         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23617
23618 2010-10-11  Eric Blake  <eblake@redhat.com>
23619
23620         futimens: work around Solaris 11 bug
23621         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23622         * tests/test-futimens.h (test_futimens): Enhance, rather than
23623         weaken test.
23624         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23625
23626 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23627
23628         Indentation.
23629         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23630         higher-level operators more to the left.
23631
23632 2010-10-11  Jim Meyering  <meyering@redhat.com>
23633
23634         test-futimens: avoid unwarranted test failure on Solaris 5.11
23635         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23636         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23637         because it tries to dereference the NULL name argument.
23638
23639 2010-10-11  Bruno Haible  <bruno@clisp.org>
23640
23641         Indentation.
23642         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23643         indentation.
23644
23645 2010-10-11  Jim Meyering  <meyering@redhat.com>
23646
23647         spawn.in.h: make indentation consistent with parentheses
23648         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23649         Make indentation consistent with parentheses.
23650
23651 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23652
23653         Fix mismatched parens in previous commit
23654         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23655         parens.
23656
23657 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23658
23659         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23660
23661         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23662         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23663         * lib/malloca.c: Include "verify.h".
23664         (verify1): Remove, replacing with a verify call.
23665         * lib/relocwrapper.c (verify1): Likewise.
23666         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23667         Likewise.
23668         * modules/malloca (Depends-on): Add 'verify'.
23669         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23670         * modules/vasnprintf (Depends-on): Add 'verify'.
23671         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23672         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23673         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23674         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23675         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23676         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23677         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23678
23679         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23680
23681         Formerly the style was sometimes 2*X - 1, because the C standard
23682         was wrongly thought to disallow ?: in integral constant expressions.
23683         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23684         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23685         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23686         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23687         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23688         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23689         verify that time_t cannot be floating.
23690
23691 2010-10-08  Eric Blake  <eblake@redhat.com>
23692
23693         time: enforce recent POSIX ruling that time_t is integral
23694         * lib/time.in.h (__time_t_must_be_integral): Detect any
23695         problematic systems, allowing the rest of gnulib to assume POSIX.
23696
23697 2010-10-08  Jim Meyering  <meyering@redhat.com>
23698
23699         fdopendir: fix a bug on systems lacking openat and /proc support
23700         OpenBSD 4.7 is one such system.  The most noticeable effect was
23701         failure of any application making nontrivial use of fts: rm, du,
23702         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23703           ./rm: traversal failed: `a': Bad file descriptor
23704         Debugging that, you see that even though FD 6 was closed just
23705         prior to the opendir call in fd_clone_opendir, its resulting
23706         dir->dd_fd was 8, rather than the expected value of 6:
23707
23708         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23709         93                close (fd);
23710         (gdb) n
23711         94                dir = fd_clone_opendir (dupfd);
23712         (gdb) n
23713         95                saved_errno = errno;
23714         (gdb) p dir->dd_fd
23715         $11 = 8
23716
23717         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23718         The problem is that on OpenBSD, fd_clone_opendir has to resort
23719         to using the old-style save/restore CWD mechanism, due to its
23720         lack of openat/proc support, and *that* would steal the FD (6)
23721         that opendir was supposed to use.
23722
23723         The fix is to squirrel away the desired FD so that save_cwd uses a
23724         different one, and then free the dest FD right before calling opendir.
23725         That guarantees opendir will use the required file descriptor.
23726
23727         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23728
23729 2010-10-08  Bruno Haible  <bruno@clisp.org>
23730
23731         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23732         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23733
23734 2010-10-08  Bruno Haible  <bruno@clisp.org>
23735
23736         nanosleep: Make replacement POSIX compliant.
23737         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23738         is out of range.
23739         Reported by Jim Meyering.
23740
23741 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23742
23743         bootstrap: add hook for altering gnulib.mk, for Bison
23744         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23745         the Bison bootstrapping process can rewrite file names and variables
23746         in this file before later parts of 'bootstrap' use the file.
23747         Bison wants to include lib/gnulib.mk from the top-level makefile,
23748         so it needs the file names in this file to be relative to the top
23749         level, not relative to lib; plus it needs variable names to be
23750         rewritten.
23751         (slurp): Use the new function.
23752
23753         bootstrap: reformat for readability
23754         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23755
23756 2010-10-08  Eric Blake  <eblake@redhat.com>
23757
23758         docs: update cygwin progress
23759         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23760         1.7.7.
23761         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23762         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23763         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23764         * doc/posix-functions/carg.texi (carg): Likewise.
23765         * doc/posix-functions/cargf.texi (cargf): Likewise.
23766         * doc/posix-functions/casin.texi (casin): Likewise.
23767         * doc/posix-functions/casinf.texi (casinf): Likewise.
23768         * doc/posix-functions/casinh.texi (casinh): Likewise.
23769         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23770         * doc/posix-functions/catan.texi (catan): Likewise.
23771         * doc/posix-functions/catanf.texi (catanf): Likewise.
23772         * doc/posix-functions/catanh.texi (catanh): Likewise.
23773         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23774         * doc/posix-functions/ccos.texi (ccos): Likewise.
23775         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23776         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23777         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23778         * doc/posix-functions/cexp.texi (cexp): Likewise.
23779         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23780         * doc/posix-functions/cimag.texi (cimag): Likewise.
23781         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23782         * doc/posix-functions/clog.texi (clog): Likewise.
23783         * doc/posix-functions/clogf.texi (clogf): Likewise.
23784         * doc/posix-functions/conj.texi (conj): Likewise.
23785         * doc/posix-functions/conjf.texi (conjf): Likewise.
23786         * doc/posix-functions/cpow.texi (cpow): Likewise.
23787         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23788         * doc/posix-functions/cproj.texi (cproj): Likewise.
23789         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23790         * doc/posix-functions/creal.texi (creal): Likewise.
23791         * doc/posix-functions/crealf.texi (crealf): Likewise.
23792         * doc/posix-functions/csin.texi (csin): Likewise.
23793         * doc/posix-functions/csinf.texi (csinf): Likewise.
23794         * doc/posix-functions/csinh.texi (csinh): Likewise.
23795         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23796         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23797         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23798         * doc/posix-functions/ctan.texi (ctan): Likewise.
23799         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23800         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23801         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23802         * doc/posix-headers/complex.texi (complex.h): Likewise.
23803
23804 2010-10-07  Jim Meyering  <meyering@redhat.com>
23805
23806         parse-datetime: avoid compilation failure on OpenBSD 4.7
23807         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23808         This works around a compilation failure on OpenBSD 4.7:
23809         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23810
23811 2010-10-07  Eric Blake  <eblake@redhat.com>
23812
23813         docs: update cygwin progress
23814         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23815         1.7.6.
23816         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23817         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23818         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23819         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23820         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23821         Likewise.
23822         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23823         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23824         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23825         Likewise.
23826         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23827         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23828         Likewise.
23829         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23830         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23831         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23832         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23833         Likewise.
23834         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23835         Likewise.
23836         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23837
23838         docs: update parse-datetime history
23839         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23840         documentation of this function's history and alternatives.
23841
23842         cygwin: use more robust version check
23843         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23844         exclude an eventual cygwin 1.9.1.
23845         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23846         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23847         (gl_FUNC_STRCASESTR): Likewise.
23848         Reported by Bruno Haible.
23849
23850 2010-10-06  Bruno Haible  <bruno@clisp.org>
23851
23852         string, sys_select: Avoid #including large headers unless necessary.
23853         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23854         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23855         OSF/1, BeOS, Haiku.
23856         Reported by Jim Meyering.
23857
23858 2010-10-05  Eric Blake  <eblake@redhat.com>
23859
23860         memmem, strstr, strcasestr: fix bug with long periodic needle
23861         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23862         periodic needle having false positive.
23863         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23864         and cygwin 1.7.7.
23865         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23866         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23867         (gl_FUNC_STRCASESTR): Likewise.
23868         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23869         * tests/test-memmem.c (main): Expose the bug.
23870         * tests/test-strcasestr.c (main): Likewise.
23871         * tests/test-strstr.c (main): Likewise.
23872         * tests/test-c-strcasestr.c (main): Likewise.
23873         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23874         * doc/posix-functions/strstr.texi (strstr): Likewise.
23875         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23876         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23877
23878 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23879
23880         parse-datetime: do some more renaming
23881         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23882         parse_datetime, not get_date.  Mention the renaming.
23883         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23884         in comments.
23885         * m4/bison.m4: Likewise.
23886
23887 2010-10-05  Eric Blake  <eblake@redhat.com>
23888
23889         parse-datetime: better name than get_date
23890         * NEWS: Reword the deprecation notice.
23891         * modules/get_date: Rename to modules/parse-datetime.
23892         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23893         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23894         * lib/get_date.y: Rename to lib/parse-datetime.y.
23895         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23896         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23897         * doc/getdate.texi: Provide fallback wrapper.
23898         * lib/getdate.h: Move guts, and wrap...
23899         * lib/parse-datetime.h: ...new file.
23900         * lib/parse-datetime.y (get_date): Rename...
23901         (parse_datetime): ...to this.
23902         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23903         (gl_PARSE_DATETIME): ...to this.
23904         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23905         documentation.
23906         * modules/getdate (Files): Provide fallback docs and header.
23907         (Notice, Depends-on): Update references.
23908         * tests/test-parse-datetime.c: Likewise.
23909         * DEPENDENCIES: Likewise.
23910         * MODULES.html.sh (Date and time <time.h>): Likewise.
23911         * doc/parse-datetime.texi (Date input formats)
23912         (Authors of parse_datetime): Likewise.
23913         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23914         (Include): Likewise.
23915         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23916         * gnulib-tool: Likewise.
23917         * m4/bison.m4 (gl_BISON): Likewise.
23918         Suggested by Bruno Haible.
23919
23920 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23921
23922         more ports to Solaris tr, which needs [] around ranges
23923         * gnulib-tool: Solaris tr needs [] around ranges.
23924         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23925         * tests/test-pipe-filter-gi1.c (main): Likewise.
23926         * tests/test-pipe-filter-ii1.c (main): Likewise.
23927
23928 2010-10-05  Eric Blake  <eblake@redhat.com>
23929
23930         bootstrap: fix Solaris regression
23931         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23932         around ranges.
23933         Reported by Pádraig Brady.
23934
23935         bootstrap: work with pkg-config
23936         * build-aux/bootstrap (check_versions): Also transliterate - in
23937         prerequisite name.
23938         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23939         prerequisites that were already found, to avoid confusion.
23940         Reported by Justin Clift.
23941
23942         faccessat: remove unused wrappers
23943         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23944         presence of these wrappers dragged in -lgen on Solaris.
23945         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23946
23947 2010-10-05  Jim Meyering  <meyering@redhat.com>
23948
23949         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23950         * Makefile (sc_pragma_columns): New syntax-check rule.
23951
23952 2010-10-04  Bruno Haible  <bruno@clisp.org>
23953
23954         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23955         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23956         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23957         Reported by Bruce Korb and Eric Blake.
23958
23959 2010-10-04  Bruno Haible  <bruno@clisp.org>
23960
23961         threadlib: Make option --with-libpth-prefix work.
23962         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23963         use $LIBPTH, not just -lpth.
23964
23965 2010-10-04  Bruno Haible  <bruno@clisp.org>
23966
23967         Avoid line length limitation from HP NonStop system header files.
23968         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23969         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23970         * lib/ctype.in.h: Likewise.
23971         * lib/dirent.in.h: Likewise.
23972         * lib/errno.in.h: Likewise.
23973         * lib/fcntl.in.h: Likewise.
23974         * lib/float.in.h: Likewise.
23975         * lib/getopt.in.h: Likewise.
23976         * lib/iconv.in.h: Likewise.
23977         * lib/inttypes.in.h: Likewise.
23978         * lib/langinfo.in.h: Likewise.
23979         * lib/locale.in.h: Likewise.
23980         * lib/math.in.h: Likewise.
23981         * lib/netdb.in.h: Likewise.
23982         * lib/netinet_in.in.h: Likewise.
23983         * lib/poll.in.h: Likewise.
23984         * lib/pthread.in.h: Likewise.
23985         * lib/pty.in.h: Likewise.
23986         * lib/sched.in.h: Likewise.
23987         * lib/se-selinux.in.h: Likewise.
23988         * lib/search.in.h: Likewise.
23989         * lib/signal.in.h: Likewise.
23990         * lib/spawn.in.h: Likewise.
23991         * lib/stdarg.in.h: Likewise.
23992         * lib/stddef.in.h: Likewise.
23993         * lib/stdint.in.h: Likewise.
23994         * lib/stdio.in.h: Likewise.
23995         * lib/stdlib.in.h: Likewise.
23996         * lib/string.in.h: Likewise.
23997         * lib/strings.in.h: Likewise.
23998         * lib/sys_file.in.h: Likewise.
23999         * lib/sys_ioctl.in.h: Likewise.
24000         * lib/sys_select.in.h: Likewise.
24001         * lib/sys_socket.in.h: Likewise.
24002         * lib/sys_stat.in.h: Likewise.
24003         * lib/sys_time.in.h: Likewise.
24004         * lib/sys_times.in.h: Likewise.
24005         * lib/sys_utsname.in.h: Likewise.
24006         * lib/sys_wait.in.h: Likewise.
24007         * lib/sysexits.in.h: Likewise.
24008         * lib/termios.in.h: Likewise.
24009         * lib/time.in.h: Likewise.
24010         * lib/unistd.in.h: Likewise.
24011         * lib/wchar.in.h: Likewise.
24012         * lib/wctype.in.h: Likewise.
24013         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
24014         * modules/ctype (Makefile.am): Likewise.
24015         * modules/dirent (Makefile.am): Likewise.
24016         * modules/errno (Makefile.am): Likewise.
24017         * modules/fcntl-h (Makefile.am): Likewise.
24018         * modules/float (Makefile.am): Likewise.
24019         * modules/getopt-posix (Makefile.am): Likewise.
24020         * modules/iconv-h (Makefile.am): Likewise.
24021         * modules/inttypes (Makefile.am): Likewise.
24022         * modules/langinfo (Makefile.am): Likewise.
24023         * modules/locale (Makefile.am): Likewise.
24024         * modules/math (Makefile.am): Likewise.
24025         * modules/netdb (Makefile.am): Likewise.
24026         * modules/netinet_in (Makefile.am): Likewise.
24027         * modules/poll-h (Makefile.am): Likewise.
24028         * modules/pthread (Makefile.am): Likewise.
24029         * modules/pty (Makefile.am): Likewise.
24030         * modules/sched (Makefile.am): Likewise.
24031         * modules/search (Makefile.am): Likewise.
24032         * modules/selinux-h (Makefile.am): Likewise.
24033         * modules/signal (Makefile.am): Likewise.
24034         * modules/spawn (Makefile.am): Likewise.
24035         * modules/stdarg (Makefile.am): Likewise.
24036         * modules/stddef (Makefile.am): Likewise.
24037         * modules/stdint (Makefile.am): Likewise.
24038         * modules/stdio (Makefile.am): Likewise.
24039         * modules/stdlib (Makefile.am): Likewise.
24040         * modules/string (Makefile.am): Likewise.
24041         * modules/strings (Makefile.am): Likewise.
24042         * modules/sys_file (Makefile.am): Likewise.
24043         * modules/sys_ioctl (Makefile.am): Likewise.
24044         * modules/sys_select (Makefile.am): Likewise.
24045         * modules/sys_socket (Makefile.am): Likewise.
24046         * modules/sys_stat (Makefile.am): Likewise.
24047         * modules/sys_time (Makefile.am): Likewise.
24048         * modules/sys_times (Makefile.am): Likewise.
24049         * modules/sys_utsname (Makefile.am): Likewise.
24050         * modules/sys_wait (Makefile.am): Likewise.
24051         * modules/sysexits (Makefile.am): Likewise.
24052         * modules/termios (Makefile.am): Likewise.
24053         * modules/time (Makefile.am): Likewise.
24054         * modules/unistd (Makefile.am): Likewise.
24055         * modules/wchar (Makefile.am): Likewise.
24056         * modules/wctype (Makefile.am): Likewise.
24057
24058 2010-10-04  Bruno Haible  <bruno@clisp.org>
24059
24060         read-file tests: Avoid a test failure on NonStop Kernel.
24061         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
24062         a regular file.
24063         Reported by Joachim Schmitz <schmitz@hp.com>.
24064
24065 2010-10-03  Bruno Haible  <bruno@clisp.org>
24066
24067         gnulib-tool: Fixes for --create-testdir with --libtool.
24068         * gnulib-tool (func_get_automake_snippet): Don't augment
24069         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
24070         an executable.
24071         (func_create_testdir): Handle module 'alloca' like func_import.
24072         Reported by Bruce Korb <bruce.korb@gmail.com>.
24073
24074 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
24075
24076         Avoid some lines longer than 80 characters.
24077         * lib/stdint.in.h: Break long comment lines.
24078         * lib/math.in.h: Likewise.
24079         (_GL_NUM_UINT_WORDS): New macro, for readability.
24080         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
24081         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
24082         * lib/stdlib.in.h: Likewise.
24083         * lib/spawn.in.h: Likewise.
24084         * lib/sys_socket.in.h: Update an URL.
24085         * lib/sys_stat.in.h: Break long line.
24086
24087 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
24088
24089         Improve pmccabe2html.
24090         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
24091         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
24092         when the sources change. Remove the line in the HTML about "Used
24093         ranges" (which implied that there might be other unused ranges),
24094         rename "Resume" to "Summary" (easier to understand for more users).
24095         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
24096         styles, and some unnecessary blank lines.
24097
24098 2010-10-03  Bruno Haible  <bruno@clisp.org>
24099             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
24100
24101         acl: Add support for ACLs on NonStop Kernel.
24102         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
24103         Check whether the function aclsort() exists.
24104         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
24105         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
24106         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24107         (acl_nontrivial [HAVE_ACLSORT]: New function.
24108         (file_has_acl): Implement for NonStop Kernel.
24109         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24110         (qset_acl): Implement for NonStop Kernel.
24111         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
24112         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
24113         (main): Implement for NonStop Kernel.
24114         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
24115         Kernel. Handle this flavor.
24116         * tests/test-set-mode-acl.sh: Likewise.
24117         * tests/test-copy-acl.sh: Likewise.
24118         * tests/test-copy-file.sh: Likewise.
24119
24120 2010-10-03  Bruno Haible  <bruno@clisp.org>
24121
24122         Info about ACLs on NonStop Kernel.
24123         * doc/acl-resources.txt: Add info about NonStop Kernel.
24124         References by Joachim Schmitz <schmitz@hp.com>.
24125
24126 2010-10-02  Bruno Haible  <bruno@clisp.org>
24127
24128         Define missing EDQUOT on NonStop Kernel.
24129         * lib/errno.in.h (EDQUOT): Assign a value if missing.
24130         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
24131         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
24132         missing.
24133         * doc/posix-headers/errno.texi: Mention the NSK bug.
24134         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
24135         Reported by Joachim Schmitz <schmitz@hp.com>.
24136
24137 2010-10-02  Bruno Haible  <bruno@clisp.org>
24138
24139         Update doc for POSIX:2008.
24140         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
24141         Update URL of POSIX specification.
24142
24143 2010-10-02  Bruno Haible  <bruno@clisp.org>
24144
24145         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
24146         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
24147         from gnulib, not from Automake.
24148
24149 2010-10-02  Bruno Haible  <bruno@clisp.org>
24150
24151         New module 'system-posix'.
24152         * modules/system-posix: New file.
24153         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
24154         module is present.
24155         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24156         GNULIB_SYSTEM_POSIX.
24157         * modules/stdlib (Depends-on): Remove sys_wait.
24158         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
24159         * doc/posix-functions/system.texi: Mention the new module.
24160         * doc/posix-headers/stdlib.texi: Likewise.
24161         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
24162         define test_sys_wait_macros to a no-op.
24163         Reported by Sam Steingold <sds@gnu.org>.
24164
24165 2010-09-30  Bruno Haible  <bruno@clisp.org>
24166
24167         More renaming from 'getdate' to 'get_date'.
24168         * doc/get_date.texi: Renamed from doc/getdate.texi.
24169         * modules/get_date (Files): Update.
24170         * MODULES.html.sh (Date and time <time.h>): Update.
24171         * DEPENDENCIES: Update.
24172         * gnulib-tool: Update comment.
24173         * m4/bison.m4 (gl_BISON): Likewise.
24174         * m4/get_date.m4 (gl_GET_DATE): Likewise.
24175
24176 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
24177
24178         bootstrap: support ACLOCAL_FLAGS during aclocal
24179         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
24180         can add additional -I dir for third-party .m4 files.
24181
24182 2010-09-30  Eric Blake  <eblake@redhat.com>
24183
24184         bootstrap: use glibtoolize on MacOS
24185         * build-aux/bootstrap (check_versions): Convert libtool into
24186         libtoolize.
24187         (tool search): Move libtool check earlier, and look for
24188         glibtoolize for MacOS.
24189         (gnulib_tool_options): Auto-add --libtool when appropriate.
24190         Reported by Justin Clift.
24191
24192         poll: fix typo that broke test on MacOS
24193         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
24194         Reported by Justin Clift.
24195
24196         getdate: rename to get_date
24197         Note: getdate.h is not renamed, to minimize client impact.
24198         * modules/getdate: Mark obsolete.  Move old contents...
24199         * modules/get_date: ...to new module name.
24200         * modules/getdate-tests: Move...
24201         * modules/get_date-tests: ...here.
24202         * m4/getdate.m4: Move...
24203         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
24204         * lib/getdate.y: Move...
24205         * lib/get_date.y: ...here.
24206         * tests/test-getdate.c: Move...
24207         * tests/test-get_date.c: ...here.
24208         * doc/posix-functions/getdate.texi (getdate): Update name.
24209         * NEWS: Mention the change.
24210
24211 2010-09-29  Bruno Haible  <bruno@clisp.org>
24212
24213         Separate the module 'waitpid' from the module 'sys_wait'.
24214         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
24215         present.
24216         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
24217         gl_MODULE_INDICATOR_FOR_TESTS.
24218         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
24219         * modules/sys_wait (Depends-on): Remove waitpid.
24220         (Makefile.am): Substitute GNULIB_WAITPID.
24221         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
24222         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
24223         signature only if the 'waitpid' module is present.
24224         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
24225         * NEWS: Mention the change.
24226         * modules/grantpt (Depends-on): Add waitpid.
24227         * modules/wait-process (Depends-on): Likewise.
24228
24229 2010-09-29  Bruno Haible  <bruno@clisp.org>
24230
24231         More tests for module 'sys_wait'.
24232         * modules/sys_wait-c++-tests: New file.
24233         * tests/test-sys_wait-c++.cc: New file.
24234         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24235         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24236
24237 2010-09-29  Bruno Haible  <bruno@clisp.org>
24238
24239         New module 'waitpid'.
24240         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24241         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24242         Don't include <process.h>.
24243         (waitpid): Declare only, using modern idiom.
24244         * m4/waitpid.m4: New file.
24245         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24246         * modules/waitpid: New file.
24247         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24248         (Makefile.am): Update.
24249         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24250
24251 2010-09-28  Bruno Haible  <bruno@clisp.org>
24252
24253         poll: Assume ANSI C.
24254         * lib/poll.c (poll): Use an ANSI C declaration.
24255
24256 2010-09-28  Bruno Haible  <bruno@clisp.org>
24257
24258         poll-h: Create poll.h on all platforms.
24259         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24260         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24261         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24262         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24263         (gl_REPLACE_POLL_H): Don't set POLL_H.
24264         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24265         * modules/poll-h (Depends-on): Add include_next.
24266         (Makefile.am): Create poll.h unconditionally. Substitute also
24267         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24268
24269 2010-09-28  Bruno Haible  <bruno@clisp.org>
24270
24271         Tests for module 'poll-h'.
24272         * modules/poll-h-c++-tests: New file.
24273         * tests/test-poll-h-c++.cc: New file.
24274
24275         Tests for module 'poll-h'.
24276         * modules/poll-h-tests: New file.
24277         * tests/test-poll-h.c: New file.
24278
24279 2010-09-28  Bruno Haible  <bruno@clisp.org>
24280
24281         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24282         * modules/poll-h (Depends-on): Add 'extensions'.
24283
24284 2010-09-28  Bruno Haible  <bruno@clisp.org>
24285
24286         New module 'poll-h'.
24287         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24288         (poll): Use modern idiom.
24289         * modules/poll-h: New file.
24290         * modules/poll (Files): Remove lib/poll.in.h.
24291         (Depends-on): Add poll-h.
24292         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24293         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24294         * m4/poll_h.m4: New file.
24295         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24296         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24297         and invoke gl_REPLACE_POLL_H.
24298         * lib/poll.c: Use common idiom.
24299         * tests/test-poll.c: Likewise.
24300         * doc/posix-headers/poll.texi: Mention the poll-h module.
24301         Suggested by Eric Blake.
24302
24303 2010-09-26  Bruno Haible  <bruno@clisp.org>
24304
24305         sys_wait: Implement WSTOPSIG.
24306         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24307         Reported by Simon Josefsson.
24308
24309 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24310
24311         stdlib, sys_wait: Avoid compilation error on mingw.
24312         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24313
24314 2010-09-26  Bruno Haible  <bruno@clisp.org>
24315
24316         stdlib tests: Avoid code duplication.
24317         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24318         * modules/sys_wait-tests (Files): Likewise.
24319         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24320         * tests/test-stdlib.c: Include test-sys_wait.h.
24321         (main): Invoke test_sys_wait_macros.
24322         * tests/test-sys_wait.c: Include test-sys_wait.h.
24323         (main): Invoke test_sys_wait_macros.
24324
24325 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24326
24327         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24328         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24329         sure Windows sockets are working before calling getaddrinfo.
24330         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
24331         * doc/gnulib.texi (Windows sockets): Fix typo.
24332
24333 2010-09-25  Bruno Haible  <bruno@clisp.org>
24334
24335         Tests for module 'regex-quote'.
24336         * modules/regex-quote-tests: New file.
24337         * tests/test-regex-quote.c: New file.
24338
24339         New module 'regex-quote'.
24340         * lib/regex-quote.h: New file.
24341         * lib/regex-quote.c: New file.
24342         * modules/regex-quote: New file.
24343         Suggested by Reuben Thomas <rrt@sc3d.org>.
24344
24345 2010-09-24  Bruno Haible  <bruno@clisp.org>
24346
24347         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
24348         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
24349
24350 2010-09-23  Bruno Haible  <bruno@clisp.org>
24351
24352         setenv: Relax license.
24353         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24354         Blake.
24355         Requested by Eric Blake.
24356
24357 2010-09-22  Bruno Haible  <bruno@clisp.org>
24358
24359         termios: Relax license.
24360         * modules/termios (License): Change to LGPLv2+.
24361         Requested by Eric Blake.
24362
24363 2010-09-22  Bruno Haible  <bruno@clisp.org>
24364
24365         threadlib: Allow the package to change the default to 'no'.
24366         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24367         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24368         Reported by Paul Eggert.
24369
24370 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24371             Bruno Haible  <bruno@clisp.org>
24372
24373         Fix endless loop in mbmemcasecoll.
24374         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24375         byte.
24376         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24377
24378 2010-09-22  Bruno Haible  <bruno@clisp.org>
24379
24380         Tests for module 'memcoll'.
24381         * modules/memcoll-tests: New file.
24382         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24383
24384         memcoll, xmemcoll: Clarify size vs. length.
24385         * modules/memcoll.c (memcoll0): Clarify specification.
24386         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24387         passed to collate_error.
24388
24389 2010-09-22  Bruno Haible  <bruno@clisp.org>
24390
24391         Tests for module 'memcasecmp'.
24392         * modules/memcasecmp-tests: New file.
24393         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24394
24395 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24396
24397         * lib/pthread.in.h: Add split double-inclusion guard, and include
24398         system <pthread.h> if there is one.  Use @@-style as in other
24399         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24400         pthread.h doesn't.
24401         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24402         (pthread_mutexattr_settype, pthread_mutex_trylock):
24403         New static inline functions, if there's no system <pthread.h>.
24404         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24405         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24406         Approximate with mutexes if the system lacks spinlocks, as in
24407         MacOS.
24408         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24409         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24410         @@-style.  Check for spinlocks separately.
24411         (gl_PTHREAD_DEFAULTS): New macro.
24412         * modules/pthread: Redo to use a more typical style for in.h files.
24413
24414 2010-09-21  Eric Blake  <eblake@redhat.com>
24415
24416         net_if: enhance tests
24417         * tests/test-net_if.c (main): Move signature checks earlier.
24418         Print failures to stderr.
24419         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24420         Document the bug that we do not yet fix.
24421
24422 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24423
24424         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24425         about gnulib, not GSS.
24426
24427 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24428
24429         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24430         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24431         for Emacs.
24432         * build-aux/pmccabe2html: Make Makefile.am example code more
24433         cut-and-paste friendly.
24434
24435 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24436
24437         * tests/test-net_if.c: New file.
24438         * modules/net_if-tests: New file.
24439
24440 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24441
24442         pthread: add pthread_spin_destroy
24443         * lib/pthread.in.h (pthread_spin_destroy): New function.
24444
24445 2010-09-19  Bruno Haible  <bruno@clisp.org>
24446
24447         gnulib-tool: Fix --help output.
24448         * gnulib-tool (func_usage): Fix help message.
24449         Reported by Reuben Thomas <rrt@sc3d.org>.
24450
24451 2010-09-18  Jim Meyering  <meyering@redhat.com>
24452
24453         maint.mk: avoid unexpanded \n in two diagnostics
24454         * top/maint.mk (sc_prohibit_always_true_header_tests):
24455         Don't use a literal \n in a halt=... assignment.  It would not be
24456         expanded, and the two \n bytes would appear in the diagnostic output
24457         rather than the desired newline.  Use halt=$$(printf ... instead.
24458         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24459
24460 2010-09-18  Bruno Haible  <bruno@clisp.org>
24461
24462         netinet_in: Doc tweak.
24463         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24464         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24465
24466 2010-09-18  Jim Meyering  <meyering@redhat.com>
24467
24468         init.sh: correct an outdated comment
24469         * tests/init.sh (create_exe_shims_):  s/function/alias/
24470
24471         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24472         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24473         a file named "*.exe" is removed between the glob expansion and the
24474         processing of that oddly named file.
24475
24476 2010-09-17  Eric Blake  <eblake@redhat.com>
24477
24478         mirbsd: add some more support
24479         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24480         in BSD family.
24481         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24482         devices as OpenBSD.
24483         * m4/host-os.m4 (mirbsd): Add MirBSD.
24484
24485         tests: fix unportable assumption on sys/wait.h
24486         * tests/test-sys_wait.c (main): Relax test.
24487         * tests/test-stdlib.c (main): Likewise.
24488
24489         init.sh: accomodate directory with no .exes
24490         * tests/init.sh: Accomodate directory containing only scripts.
24491
24492         tests: avoid compiler warning
24493         * tests/test-stdlib.c (main): Use the variable.
24494
24495         fdutimens, fdutimensat: update signature, again
24496         * lib/utimens.h (gl_futimens): Delete, and move signature...
24497         (fdutimens): ...here.
24498         (fdutimensat): Rearrange signature.
24499         (lutimensat): Rename variable for clarity.
24500         * lib/fdutimensat.c (fdutimensat): Update signature.
24501         * lib/utimens.c (fdutimens): Likewise.
24502         (gl_futimens): Delete.
24503         (utimens, lutimens): Update callers.
24504         * lib/futimens.c (futimens): Likewise.
24505         * tests/test-fdutimensat.c: Likewise.
24506         * tests/test-utimens.c: Likewise.
24507         * tests/test-futimens.h: Update comment.
24508         * NEWS: Mention this.
24509         Suggested by Paul Eggert.
24510
24511 2010-09-17  Bruno Haible  <bruno@clisp.org>
24512
24513         Take over the maintenance of some older macros from Autoconf.
24514         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24515         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24516         GNU Autoconf.
24517         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24518         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24519
24520 2010-09-17  Eric Blake  <eblake@redhat.com>
24521
24522         fdutimensat: drop atflag validation
24523         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24524         with valid fd, to close a race scenario where futimens is
24525         unsupported and FILE was replaced by a symlink.
24526         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24527         accordingly.
24528         Suggested by Paul Eggert.
24529
24530 2010-09-16  Bruno Haible  <bruno@clisp.org>
24531
24532         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24533         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24534
24535 2010-09-16  Bruno Haible  <bruno@clisp.org>
24536
24537         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24538         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24539         login_tty exists.
24540         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24541
24542 2010-09-16  Bruno Haible  <bruno@clisp.org>
24543
24544         login_tty: Make the replacement code work on BSD systems.
24545         * lib/login_tty.c: Include <sys/ioctl.h>.
24546         (login_tty): Use ioctl TIOCSCTTY when available.
24547         * modules/login_tty (Depends-on): Add sys_ioctl.
24548         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24549
24550 2010-09-16  Bruno Haible  <bruno@clisp.org>
24551
24552         login_tty: Stricter unit test.
24553         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24554         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24555         and tcgetsid() after login_tty.
24556         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24557
24558 2010-09-16  Bruno Haible  <bruno@clisp.org>
24559
24560         New module 'tcgetsid'.
24561         * lib/tcgetsid.c: New file.
24562         * m4/tcgetsid.m4: New file.
24563         * modules/tcgetsid: New file.
24564         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24565         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24566         GNULIB_TCGETSID, HAVE_TCGETSID.
24567         * lib/termios.in.h: Include <sys/types.h>.
24568         (tcgetsid): New declaration.
24569         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24570         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24571         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24572         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24573
24574 2010-09-16  Bruno Haible  <bruno@clisp.org>
24575
24576         Tests for module 'termios'.
24577         * modules/termios-c++-tests: New file.
24578         * modules/termios-tests: New file.
24579         * tests/test-termios-c++.cc: New file.
24580         * tests/test-termios.c: New file.
24581
24582         New module 'termios'.
24583         * modules/termios: New file.
24584         * lib/termios.in.h: New file.
24585         * m4/termios_h.m4: New file.
24586         * doc/posix-headers/termios.texi: Mention the new module.
24587
24588 2010-09-16  Eric Blake  <eblake@redhat.com>
24589
24590         fdutimensat: add an atflag parameter
24591         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24592         * lib/utimens.h (fdutimensat): Update prototype.
24593         * tests/test-fdutimensat.c: Adjust test to match.
24594         * NEWS: Document the change.
24595         Suggested by Paul Eggert.
24596
24597 2010-09-16  Bruno Haible  <bruno@clisp.org>
24598
24599         Fix typos in comments.
24600         * lib/striconveh.h: Fix typo in comment.
24601         * lib/login_tty.c (login_tty): Likewise.
24602
24603 2010-09-15  Bruno Haible  <bruno@clisp.org>
24604
24605         stdlib: clarify MirBSD WEXITSTATUS bug
24606         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24607         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24608
24609 2010-09-15  Eric Blake  <eblake@redhat.com>
24610
24611         stdlib: work around MirBSD WEXITSTATUS bug
24612         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24613         * modules/stdlib (Depends-on): Add sys_wait.
24614         * tests/test-sys_wait.c (main): Enhance test.
24615         * tests/test-stdlib.c (main): Likewise.
24616         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24617
24618         docs: mention MacOS issue with WEXITSTATUS(constant)
24619         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24620         issue.
24621         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24622
24623         strnlen: add tests
24624         * modules/strnlen-tests: New file.
24625         * tests/test-strnlen.c: Likewise.
24626
24627 2010-09-14  Bruno Haible  <bruno@clisp.org>
24628
24629         unistr/base: Avoid link errors when module 'libunistring' is also used.
24630         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24631         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24632         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24633         Declare also when HAVE_LIBUNISTRING is set.
24634         Reported by Pádraig Brady <P@draigbrady.com>.
24635
24636 2010-09-14  Eric Blake  <eblake@redhat.com>
24637
24638         test-rawmemchr: make more robust
24639         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24640         (Depends-on, configure.ac): Add needed prerequisites to use it.
24641         * modules/memchr-tests (Files, Depends-on, configure.ac):
24642         Likewise, to avoid implicit reliance on memchr module prereqs.
24643         * tests/test-memchr.c (main): Ensure proper masking.
24644         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24645         reads.
24646
24647         memchr: detect glibc Alpha bug
24648         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24649         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24650         Alpha.
24651         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24652         * tests/test-memchr.c (main): Enhance test.
24653         Reported by Nelson H. F. Beebe.
24654
24655 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24656
24657         fts, getcwd, glob: audit for dirfd returning -1
24658         * lib/fts.c (opendir): Remove #define; no longer used.
24659         (opendirat): New arg PDIR_FD.  All callers changed.
24660         (fts_build, _opendir2): Use new opendirat to avoid the need for
24661         dirfd, or for checking whether dirfd returns a negative value.
24662         Don't use opendir; always use openat followed by fdopendir.
24663         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24664         it.
24665         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24666         returns -1 here.
24667         * modules/fts (Depends-on): Remove dirfd.
24668         * modules/getcwd (Depends-on): Likewise.
24669
24670 2010-09-13  Eric Blake  <eblake@redhat.com>
24671
24672         float: fix broken MirBSD header
24673         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24674         * doc/posix-headers/float.texi (float.h): Document it.
24675
24676 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24677
24678         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24679         * lib/fts.c (opendirat): New arg extra_flags.
24680         (__opendir2): Use it to avoid following symlinks when opening
24681         a directory, if symlinks are not supposed to be followed.  See
24682         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24683
24684         fdopendir: preserve argument fd before returning
24685         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24686         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24687         (fdopendir): Use them, arranging for FD to be open to the same
24688         directory that it was when it started.  (It might be temporarily
24689         closed while fdopendir is running, so this not thread- or
24690         signal-safe.)  Be careful to do the right thing even when file
24691         descriptors are scarce and dup fails with errno == EMFILE.  See
24692         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24693
24694 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24695
24696         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24697         * NEWS: Document change.
24698         * m4/regex.m4: Disable test for regoff_t size.
24699
24700 2010-09-13  Jim Meyering  <meyering@redhat.com>
24701
24702         fts: don't operate on an invalid file descriptor after failed dup
24703         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24704         negative file descriptor.
24705
24706 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24707
24708         savedir: add streamsavedir, deprecate fdsavedir
24709         * NEWS: Mention deprecation of fdsavedir.
24710         * lib/savedir.c (streamsavedir): New extern function, whose name
24711         ends in "savedir" to be consistent with the others.  This differs
24712         from savedirstream in that it doesn't close its argument.  The
24713         next version of GNU tar will use this instead of fdsavedir, to
24714         avoid some race conditions and conserve file descriptors.
24715         (savedirstream): Reimplement as a wrapper around streamsavedir.
24716         (fdsavedir): Add a comment deprecating this function.  As far as
24717         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24718         * lib/savedir.h (streamsavedir): New decl.
24719         (fdsavedir): Add a comment deprecating this.
24720
24721 2010-09-10  Bruno Haible  <bruno@clisp.org>
24722
24723         langinfo: Fix last commit.
24724         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24725         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24726         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24727
24728 2010-09-10  Bruno Haible  <bruno@clisp.org>
24729
24730         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24731         * lib/progreloc.c (O_EXEC): Define fallback.
24732
24733 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24734
24735         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24736         * NEWS: Document recent changes to fcntl-h.
24737         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24738         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24739         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24740         Similarly for O_SEARCH; this last was already true, but not documented.
24741         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24742         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24743         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24744         Likewise.
24745         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24746         is zero, not whether it is defined.
24747         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24748         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24749         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24750
24751 2010-09-10  Bruno Haible  <bruno@clisp.org>
24752
24753         langinfo, nl_langinfo: Fix for IRIX 5.3.
24754         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24755         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24756         HAVE_LANGINFO_YESEXPR.
24757         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24758         HAVE_LANGINFO_YESEXPR.
24759         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24760         HAVE_LANGINFO_T_FMT_AMPM is 0.
24761         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24762         HAVE_LANGINFO_YESEXPR is 0.
24763         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24764         NOEXPR.
24765         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24766         * doc/posix-functions/nl_langinfo.texi: Likewise.
24767         Reported by Eric Blake.
24768
24769 2010-09-10  Bruno Haible  <bruno@clisp.org>
24770
24771         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24772         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24773         on FreeBSD 8.0 and OpenBSD 4.6.
24774         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24775         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24776         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24777         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24778         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24779         ac_includes_default.
24780         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24781
24782 2010-09-09  Eric Blake  <eblake@redhat.com>
24783
24784         strsignal: work around NetBSD bug
24785         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24786         * lib/string.in.h (includes): Likewise.
24787         * doc/posix-functions/strsignal.texi (strsignal): Document the
24788         bug.
24789         Reported by Nelson H. F. Beebe.
24790
24791         gnulib-tool: work with NetBSD /bin/sh
24792         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24793         (func_get_description, func_get_comment, func_get_status)
24794         (func_get_notice, func_get_applicability, func_get_filelist)
24795         (func_get_dependencies, func_get_autoconf_early_snippet)
24796         (func_get_autoconf_snippet, func_get_automake_snippet)
24797         (func_get_include_directive, func_get_link_directive)
24798         (func_get_license, func_get_maintainer, func_import): Avoid
24799         shell syntax errors from parsing syntax extensions.
24800
24801 2010-09-09  Bruno Haible  <bruno@clisp.org>
24802
24803         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24804         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24805         a reliable way to determine whether the 'alias' command works.
24806
24807 2010-09-08  Jim Meyering  <meyering@redhat.com>
24808
24809         init.sh: penalize a set-x-impaired shell; don't disqualify it
24810         * tests/init.sh: Too many shells corrupt application stderr when
24811         you set -x, so we can't afford to disqualify them, since at least
24812         on Irix-6.5, that would disqualify all bourne shells.
24813         Instead, use a two-pass approach.
24814         On the first pass, try to find a shell that meets the stricter
24815         condition that set -x does not corrupt stderr.
24816         If no shell meets the stricter condition, retest each candidate
24817         shell, but without that extra condition.  Finally, when
24818         VERBOSE=yes is requested and set -x might cause trouble, simply
24819         issue a warning and refrain from enabling debug output.
24820
24821 2010-09-08  Eric Blake  <eblake@redhat.com>
24822
24823         unsetenv: fix OpenBSD bug
24824         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24825         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24826         documentation.
24827         Reported by Jim Meyering.
24828
24829         strtod: work around IRIX 6.5 bug
24830         * lib/strtod.c (strtod): Reparse number on shorter string if
24831         exponent parse was invalid.
24832         * tests/test-strtod.c (main): Add check for "0x1p 2".
24833         Reported by Tom G. Christensen.
24834
24835         getopt: optimize previous patch
24836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24837         empty variable.  Speed up awk script.
24838         Reported by Paolo Bonzini.
24839
24840 2010-09-08  Jim Meyering  <meyering@redhat.com>
24841
24842         test.sh: disqualify shells for which set -x corrupts stderr
24843         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24844         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24845         appear in stderr output.  For example, this command:
24846             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24847         prints "P=1" on those two systems:
24848
24849 2010-09-08  Bruno Haible  <bruno@clisp.org>
24850
24851         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24852         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24853         commands, because some shells ignore redirections when there is an
24854         error in the command lookup.
24855         Reported by Eric Blake.
24856
24857 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24858
24859         * lib/regex.h: Fix a mention of `regex_compile' (should be
24860         `re_compile_pattern').
24861         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24862         (re_set_registers): Correct name of parameter in comment.
24863
24864         * doc/regex.texi: Add documentation for missing syntax flags.
24865         Remove commented-out documentation of defunct syntax option
24866         RE_NO_EMPTY_ALTS.
24867         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24868         Add documentation of re_set_registers.
24869         Document trick to re-use a pattern buffer by setting fastmap manually.
24870         Update documentation of struct re_pattern_buffer per public members.
24871         Uncomment documentation of equivalence class operators and
24872         collating symbol operators, since they are now implemented,
24873         Explain leftmost-longest matching in relation to alternatives.
24874         Tidy documentation of substring matching.
24875         Remove POSIX documentation, which is done better in
24876         glibc, and refer the reader there. Keep BSD API documentation, as
24877         that is not readily available elsewhere.
24878
24879 2010-09-07  Eric Blake  <eblake@redhat.com>
24880
24881         getopt: handle POSIXLY_CORRECT set but not exported
24882         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24883         export state of POSIXLY_CORRECT, due to bash set -o posix.
24884         Reported by Dustin J. Mitchell.
24885
24886 2010-09-05  Bruno Haible  <bruno@clisp.org>
24887
24888         gnulib-tool: Highlight the changed options.
24889         * gnulib-tool (func_usage): Display the --import, --add-import,
24890         --remove-import explanations in bold font.
24891
24892 2010-09-06  Karl Berry  <karl@gnu.org>
24893
24894         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24895
24896 2010-09-05  Bruno Haible  <bruno@clisp.org>
24897
24898         uniwidth/width: Update comment.
24899         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24900         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24901
24902 2010-09-05  Bruno Haible  <bruno@clisp.org>
24903
24904         isinf, isnan: Relax license.
24905         * modules/isinf (License): Change from GPL to LGPL, with consent from
24906         Ben Pfaff.
24907         * modules/isnan (License): Likewise.
24908         Requested by Ludovic Courtès.
24909
24910 2010-09-04  Bruno Haible  <bruno@clisp.org>
24911
24912         gnulib-tool: Help migration from --import to --add-import or --update.
24913         * gnulib-tool: Emit a verbose error message when --import is used
24914         without any module name.
24915
24916 2010-09-04  Bruno Haible  <bruno@clisp.org>
24917
24918         Update doc about gnulib-tool.
24919         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24920         'gnulib-tool --update' in more detail.
24921         Reported by Eric Blake.
24922
24923 2010-09-04  Bruno Haible  <bruno@clisp.org>
24924
24925         gnulib-tool: Change --import. New options --add/remove-import.
24926         * gnulib-tool: New options --add-import, --remove-import.
24927         (func_usage): Document them.
24928         (have_associative): Define always.
24929         (func_import): In import mode, don't merge the specified settings with
24930         the cached settings. Implement remove-import mode.
24931         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24932         Explain when to use them versus --import.
24933         (Simple update): Use --add-import instead of --import.
24934         * NEWS: Mention the change.
24935
24936 2010-09-04  Bruno Haible  <bruno@clisp.org>
24937
24938         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24939         separate gnulib.mk.
24940
24941 2010-09-04  Bruno Haible  <bruno@clisp.org>
24942
24943         gnulib-tool: Don't talk about CVS any more.
24944         * gnulib-tool (func_usage, func_import): Write "version control"
24945         instead of CVS.
24946
24947 2010-09-04  Jim Meyering  <meyering@redhat.com>
24948
24949         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24950         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24951         false positives (whose names may be ill-chosen) when searching
24952         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24953         would cause a false-positive.
24954
24955         avoid coreutils "make distcheck" failure
24956         Coreutils tests with an absolute build directory name that contains
24957         a space.  Not quoting this directory name caused a failure.
24958         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24959         * tests/test-vc-list-files-cvs.sh: Likewise.
24960
24961 2010-09-04  Bruno Haible  <bruno@clisp.org>
24962
24963         gnulib-tool: Avoid error when run in a package without Makefile.am.
24964         * gnulib-tool: When collecting the m4dirs in a package that does not
24965         have a Makefile.am, eliminate those directories that contain no
24966         gnulib-cache.m4. Fix expression that counts these directories.
24967
24968 2010-09-04  Bruno Haible  <bruno@clisp.org>
24969
24970         update-copyright test: Improve output when perl is missing or too old.
24971         * tests/test-update-copyright.sh: Move test of Perl version down after
24972         the test whether Perl exists. Provide an explanation relating Perl's
24973         error message to Automake's SKIP: message.
24974
24975 2010-09-04  Bruno Haible  <bruno@clisp.org>
24976
24977         Don't augment PATH in TESTS_ENVIRONMENT.
24978         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24979         set abs_aux_dir instead of augmenting PATH.
24980         * modules/vc-list-files-tests (Makefile.am): Likewise.
24981         * tests/test-update-copyright.sh: Augment PATH here.
24982         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24983         path_prepend_.
24984         * tests/test-vc-list-files-git.sh: Likewise.
24985
24986 2010-09-04  Jim Meyering  <meyering@redhat.com>
24987
24988         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24989         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24990
24991 2010-09-04  Bruno Haible  <bruno@clisp.org>
24992
24993         strdup: Fix compilation error in C++ mode.
24994         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24995         the macro.
24996
24997 2010-09-04  Bruno Haible  <bruno@clisp.org>
24998
24999         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
25000         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
25001         macro into a function.
25002         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25003
25004 2010-09-04  Bruno Haible  <bruno@clisp.org>
25005
25006         Set PATH_SEPARATOR the same way autoconf does.
25007         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
25008         the value of PATH_SEPARATOR the same way autoconf-generated configure
25009         scripts do.
25010         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
25011         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
25012
25013 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25014
25015         Set PATH_SEPARATOR the same way autoconf does.
25016         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
25017         the same way autoconf-generated configure scripts do.
25018         * posix-modules: Likewise.
25019
25020 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
25021
25022         hash: fix safe_hasher const typo
25023         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
25024         const; otherwise, there is a type error later.
25025
25026 2010-09-02  Jim Meyering  <meyering@redhat.com>
25027
25028         test-update-copyright.sh: require perl 5.8.0
25029         * tests/test-update-copyright.sh: Require 5.8.0,
25030         which Tom G. Christensen has confirmed is adequate,
25031         while 5.6.1 is not.
25032
25033 2010-09-02  Eric Blake  <eblake@redhat.com>
25034
25035         tests: init.sh improvements for re-exec'ing with zsh
25036         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
25037         -vx through shell re-exec.
25038         Reported by Tom G. Christensen.
25039
25040         wctype: fix typo in previous commit
25041         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
25042         Reported by Ludovic Courtès.
25043
25044 2010-09-02  Jim Meyering  <meyering@redhat.com>
25045
25046         test-update-copyright.sh: skip test if Perl is too old
25047         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
25048         Reported by Tom G. Christensen.
25049
25050 2010-09-02  Bruno Haible  <bruno@clisp.org>
25051
25052         wctype: Avoid compilation error on IRIX 6.5.30.
25053         * lib/wctype.in.h (iswblank): Declare with a replacement if
25054         REPLACE_ISWBLANK is set.
25055         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
25056         declared. Set REPLACE_ISWBLANK.
25057         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
25058         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
25059         * doc/posix-headers/wctype.texi: Likewise.
25060         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25061
25062 2010-09-01  Bruno Haible  <bruno@clisp.org>
25063
25064         New module 'socketlib'.
25065         * modules/socketlib: New file.
25066         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
25067         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
25068         * modules/sockets (Depends-on): Add socketlib.
25069         Suggested by Sam Steingold <sds@gnu.org>.
25070
25071 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
25072
25073         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
25074
25075         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
25076         when one needs search access to a directory but not read access.
25077         On systems where it is available, it works in some cases where
25078         O_RDONLY does not, namely on directories that are searchable but
25079         not readable, and which need only to be searchable.  If O_SEARCH
25080         is not available, fall back to the traditional method of using
25081         O_RDONLY.
25082
25083         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
25084         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
25085         when opening a directory that needs only to be searchable.
25086         * lib/chdir-safer.c (chdir_no_follow): Likewise.
25087         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
25088         * lib/openat-proc.c (openat_proc_name): Likewise.
25089         * lib/openat.c (openat_needs_fchdir): Likewise.
25090         * lib/save-cwd.c (save_cwd): Likewise.
25091         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
25092
25093 2010-08-28  Bruno Haible  <bruno@clisp.org>
25094
25095         New module 'host-cpu-c-abi'.
25096         * modules/host-cpu-c-abi: New file.
25097         * m4/host-cpu-c-abi.m4: New file, based on part of
25098         clisp/src/m4/general.m4.
25099         Requested by Sam Steingold <sds@gnu.org>.
25100
25101 2010-08-31  Eric Blake  <eblake@redhat.com>
25102         and Jim Meyering  <meyering@redhat.com>
25103
25104         hash: factor, and guard against misbehaving hasher function
25105         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
25106         of table->hasher's return value.  Also protect against a hash value
25107         so large that adding it to table->bucket results in a NULL pointer.
25108         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
25109         Use it in place of open-coded check-and-abort.
25110
25111 2010-08-30  Bruno Haible  <bruno@clisp.org>
25112
25113         hash: silence spurious clang warning
25114         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
25115         Reported by Eric Blake.
25116
25117 2010-08-30  Eric Blake  <eblake@redhat.com>
25118
25119         strstr, memmem, strcasestr: avoid leaked shell message
25120         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
25121         FreeBSD.
25122         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25123         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25124
25125         tests: silence clang warning
25126         * tests/test-malloca.c (do_allocation): Avoid dead store.
25127
25128 2010-08-29  Bruno Haible  <bruno@clisp.org>
25129
25130         gettext: Fix recent mistake.
25131         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
25132
25133 2010-08-29  Bruno Haible  <bruno@clisp.org>
25134
25135         selinux-h: Offer a --without-selinux option.
25136         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
25137         --without-selinux was specified, skip all tests and define
25138         HAVE_SELINUX_SELINUX_H to 0.
25139         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
25140         set LIB_SELINUX to empty.
25141         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
25142         gl_LIBSELINUX. If --without-selinux was specified, replace
25143         selinux/context.h.
25144         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
25145
25146 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25147             Bruno Haible  <bruno@clisp.org>
25148
25149         Make the module 'realloc-gnu' work again on AIX and OSF/1.
25150         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
25151         of HAVE_REALLOC.
25152         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
25153         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
25154         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
25155         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25156
25157 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25158             Bruno Haible  <bruno@clisp.org>
25159
25160         Make the module 'calloc-gnu' work again on AIX and OSF/1.
25161         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
25162         HAVE_CALLOC.
25163         * lib/xmalloc.c: Update accordingly.
25164         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
25165         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
25166         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
25167
25168 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25169             Bruno Haible  <bruno@clisp.org>
25170
25171         Make the module 'malloc-gnu' work again on AIX and OSF/1.
25172         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
25173         HAVE_MALLOC.
25174         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
25175         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
25176         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25177
25178 2010-08-29  Bruno Haible  <bruno@clisp.org>
25179
25180         Update modules list.
25181         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
25182         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
25183         (String handling <string.h>): Add astrxfrm.
25184         (File system functions): Add readlinkat.
25185
25186 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25187
25188         Tests for module 'realloc-gnu'.
25189         * modules/realloc-gnu-tests: New file.
25190         * tests/test-realloc-gnu.c: New file.
25191
25192         Tests for module 'calloc-gnu'.
25193         * modules/calloc-gnu-tests: New file.
25194         * tests/test-calloc-gnu.c: New file.
25195
25196         Tests for module 'malloc-gnu'.
25197         * modules/malloc-gnu-tests: New file.
25198         * tests/test-malloc-gnu.c: New file.
25199
25200 2010-08-28  Bruno Haible  <bruno@clisp.org>
25201
25202         Rename module 'realloc' -> 'realloc-gnu'.
25203         * modules/realloc-gnu: New file, copied from modules/realloc.
25204         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
25205         obsolete.
25206         * modules/mgetgroups (Depends-on): Update.
25207         * doc/posix-functions/realloc.texi: Update.
25208         * NEWS: Mention the change.
25209
25210         Rename module 'calloc' -> 'calloc-gnu'.
25211         * modules/calloc-gnu: New file, copied from modules/calloc.
25212         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
25213         obsolete.
25214         * doc/posix-functions/calloc.texi: Update.
25215         * NEWS: Mention the change.
25216
25217         Rename module 'malloc' -> 'malloc-gnu'.
25218         * modules/malloc-gnu: New file, copied from modules/malloc.
25219         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
25220         obsolete.
25221         * modules/argp (Depends-on): Update.
25222         * modules/regex (Depends-on): Update.
25223         * doc/posix-functions/malloc.texi: Update.
25224         * NEWS: Mention the change.
25225
25226 2010-08-28  Eric Blake  <eblake@redhat.com>
25227
25228         pread, pwrite: add missing dependency
25229         * modules/pread (Depends-on): Add extensions.
25230         * modules/pwrite (Depends-on): Likewise.
25231
25232 2010-08-28  Bruno Haible  <bruno@clisp.org>
25233
25234         unistr/u*-strchr: Fix tests dependencies.
25235         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25236         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25237         Reported by Ian Beckwith <ianb@erislabs.net>.
25238
25239 2010-08-28  Bruno Haible  <bruno@clisp.org>
25240
25241         read-file: Don't occupy too much unused memory.
25242         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25243
25244 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25245             Eric Blake  <eblake@redhat.com>
25246             Bruno Haible  <bruno@clisp.org>
25247
25248         read-file: Avoid memory reallocations with regular files.
25249         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25250         (fread_file): With regular files, use the remaining length as the
25251         initial buffer size.  Check against overflow.
25252         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25253         sys_stat.
25254
25255 2010-08-28  Bruno Haible  <bruno@clisp.org>
25256
25257         ftello: Relax license.
25258         * modules/ftello (License): Relax to LGPLv2+.
25259         Reported by Eric Blake.
25260
25261 2010-08-28  Bruno Haible  <bruno@clisp.org>
25262
25263         Avoid relocwrapper link errors due to gnulib replacement functions.
25264         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25265         function.
25266         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25267
25268 2010-08-28  Bruno Haible  <bruno@clisp.org>
25269
25270         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25271         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25272         defined.
25273         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25274         Suggested by Eric Blake.
25275
25276 2010-08-28  Bruno Haible  <bruno@clisp.org>
25277
25278         sys_socket, netdb: Ensure socklen_t gets defined.
25279         * modules/sys_socket (Depends-on): Add socklen.
25280         * modules/netdb (Depends-on): Likewise.
25281         * modules/getaddrinfo (Depends-on): Remove socklen.
25282         * modules/getsockopt (Depends-on): Likewise.
25283         * modules/setsockopt (Depends-on): Likewise.
25284         * tests/test-sys_socket.c: Check that socklen_t is defined.
25285         * tests/test-netdb.c: Likewise.
25286         * m4/socklen.m4: Update comments.
25287         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25288
25289 2010-08-27  Eric Blake  <eblake@redhat.com>
25290
25291         login_tty: add missing dependency
25292         * modules/login_tty (Depends-on): Add pty.
25293
25294 2010-08-26  Eric Blake  <eblake@redhat.com>
25295
25296         lib-symbol-versions: fix m4 quoting
25297         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25298         format for AC_LINK_IFELSE.
25299
25300         glob: fix compile test
25301         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25302
25303         btowc: fix missing file
25304         * modules/btowc (Files): Also ship locale-fr.m4.
25305
25306         lseek: fix link test
25307         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25308         AC_LINK_IFELSE.
25309
25310         include_next: silence autoconf 2.68 warning
25311         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25312         AC_COMPILE_IFELSE as special.
25313         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25314         autoconf < 2.68.
25315
25316         acl: fix compilation test
25317         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25318         AC_COMPILE_IFELSE.
25319
25320 2010-08-26  Bruno Haible  <bruno@clisp.org>
25321
25322         Modernize AC_TRY_RUN invocations.
25323         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25324         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25325         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25326         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25327         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25328         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25329         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25330         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25331         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25332         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25333         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25334         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25335         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25336         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25337         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25338         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25339         gl_MBRLEN_NUL_RETVAL): Likewise.
25340         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25341         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25342         Likewise.
25343         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25344         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25345         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25346         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25347         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
25348         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
25349         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
25350         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
25351         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
25352         Likewise.
25353         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25354         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25355         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25356         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25357         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25358         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25359         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25360         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25361         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25362         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25363
25364 2010-08-26  Bruno Haible  <bruno@clisp.org>
25365
25366         Modernize AC_TRY_LINK invocations.
25367         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25368         AC_TRY_LINK.
25369         * m4/argp.m4 (gl_ARGP): Likewise.
25370         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25371         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25372         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25373         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25374         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25375         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25376         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25377         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25378         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25379         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25380         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25381         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25382         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25383         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25384         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25385         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25386         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25387         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25388         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25389         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25390         Likewise.
25391         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25392         Likewise.
25393         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25394         Likewise.
25395         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25396         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25397         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25398         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25399         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25400         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25401         * m4/servent.m4 (gl_SERVENT): Likewise.
25402         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25403         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25404         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25405         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25406         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25407         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25408         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25409         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25410         * modules/tsearch-tests (configure.ac): Likewise.
25411
25412 2010-08-26  Bruno Haible  <bruno@clisp.org>
25413
25414         Modernize AC_TRY_COMPILE invocations.
25415         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25416         AC_TRY_COMPILE.
25417         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25418         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25419         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25420         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25421         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25422         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25423         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25424         * m4/lock.m4 (gl_LOCK): Likewise.
25425         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25426         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25427         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25428         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25429         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25430         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25431         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25432         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25433         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25434         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25435         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25436         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25437         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25438         extraneous semicolon.
25439
25440 2010-08-26  Jim Meyering  <meyering@redhat.com>
25441
25442         stat-time: relax license LGPL
25443         * modules/stat-time (License): Change from GPL to LGPL,
25444         with consent from all contributors, for use in libguile.
25445         Requested by Ludovic Courtès.
25446
25447 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25448
25449         poll: return immediately on POLLHUP.
25450         * lib/poll.c (poll): Always set timeout before wait_timeout is
25451         computed.
25452
25453 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25454
25455         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25456         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25457         rmdir ("dir/.//"), unlinkat.
25458
25459 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25460
25461         stdbool: avoid spurious failure with modern xlc
25462         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25463
25464 2010-08-24  Bruno Haible  <bruno@clisp.org>
25465
25466         getloadavg: simplify code
25467         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25468         gl_have_func. Update comments.
25469
25470 2010-08-24  Eric Blake  <eblake@redhat.com>
25471
25472         getloadavg: don't define SVR4 on cygwin
25473         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25474         only define SVR4 when -lkvm is required.
25475         Reported by Yaakov Selkowitz.
25476
25477 2010-08-24  Bruno Haible  <bruno@clisp.org>
25478
25479         priv-set: fix comment
25480         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25481
25482 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25483
25484         priv-set: fix comments
25485         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25486         to match code, as suggested by David Bartley in:
25487         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25488
25489 2010-08-23  Eric Blake  <eblake@redhat.com>
25490
25491         stdbool: avoid rejecting clang
25492         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25493         * tests/test-stdbool.c: Enable more tests if using the system
25494         <stdbool.h> instead of the gnulib replacement.
25495         (main): Move xlc bug test to a runtime test for all compilers.
25496         Reported by Anders Kaseorg.
25497
25498         argz: fix shell quoting issue
25499         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25500         Reported by Charles Wilson.
25501
25502 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25503             Erik Faye-Lund <kusmabite@gmail.com>
25504
25505         poll, select: handle ERROR_BROKEN_PIPE.
25506         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25507         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25508         * lib/select.c (win32_compute_revents): Do not mark a pipe
25509         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25510
25511 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25512
25513         fts: allow compilation with C++
25514         * lib/fts_.h: Specify extern "C" linkage with C++.
25515
25516 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25517
25518         Fix gnulib-tool sed script de-commentation for AIX sed.
25519         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25520         sed.
25521
25522 2010-08-17  Eric Blake  <eblake@redhat.com>
25523
25524         test-stddef: test for (some) offsetof bugs
25525         * tests/test-stddef.c: Enhance test to ensure correct type of
25526         offsetof.
25527         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25528         that we are not fixing at this time.
25529
25530 2010-08-15  Bruno Haible  <bruno@clisp.org>
25531
25532         stpncpy: Allow stpncpy to be defined as a macro.
25533         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25534         if it's already correctly declared.
25535         * lib/string.in.h (stpncpy): Undefine before redefining.
25536         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25537
25538 2010-08-14  Bruno Haible  <bruno@clisp.org>
25539
25540         Rename module 'memxfrm' to 'amemxfrm'.
25541         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25542         (amemxfrm): Renamed from memxfrm.
25543         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25544         (amemxfrm): Renamed from memxfrm.
25545         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25546         * NEWS: Mention the change.
25547         * MODULES.html.sh (String handling <string.h>): Update.
25548         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25549         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25550         * lib/unicase/u16-casexfrm.c: Likewise.
25551         * lib/unicase/u32-casexfrm.c: Likewise.
25552         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25553         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25554         * lib/uninorm/u16-normxfrm.c: Likewise.
25555         * lib/uninorm/u32-normxfrm.c: Likewise.
25556         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25557         memxfrm.
25558         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25559         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25560         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25561         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25562         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25563         Suggested by Paul Eggert.
25564
25565 2010-08-14  Bruno Haible  <bruno@clisp.org>
25566
25567         Tests for module 'astrxfrm'.
25568         * modules/astrxfrm-tests: New file.
25569         * tests/test-astrxfrm.c: New file.
25570
25571         New module 'astrxfrm'.
25572         * lib/astrxfrm.h: New file.
25573         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25574         * modules/astrxfrm: New file.
25575
25576 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25577
25578         regex: Tweak doc.
25579         * doc/regex.texi (Overview): Don't mention regex.c.
25580         (GNU Regular Expression Compiling): Likewise.
25581         (Match-end-of-line Operator): Mention 'not_eol'.
25582
25583 2010-08-14  Brian Gough  <bjg@gnu.org>
25584             Bruno Haible  <bruno@clisp.org>
25585
25586         git-merge-changelog: add doc relating to use with bzr and hg.
25587         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25588
25589 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25590
25591         pthread: fix pthread.h creation for srcdir != builddir
25592         * modules/pthread (Makefile.am): Fix the rule to work also in a
25593         non-srcdir build.
25594
25595 2010-08-13  Karl Berry  <karl@gnu.org>
25596
25597         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25598         * doc/posix-*/*: force line break before @url of POSIX
25599         specifications.
25600         Suggested by Werner Lemberg.
25601
25602 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25603
25604         strtod: fix const diagnostic
25605         * lib/strtod.c (strtod): Don't assign const char * to char *,
25606         as this elicits a warning from GCC when warnings are enabled.
25607
25608 2010-08-10  Pádraig Brady <P@draigbrady.com>
25609         and Eric Blake  <eblake@redhat.com>
25610
25611         copy-acl: ignore ENOTSUP on HP-UX
25612         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25613         so that it is available for HP-UX.
25614         * lib/copy-acl.c (qcopy_acl): Use it.
25615         Reported by Patrick M. Callahan.
25616
25617 2010-08-10  Eric Blake  <eblake@redhat.com>
25618
25619         open, chown: relax license
25620         * modules/open (License): Change to LGPLv2+, with consent by all
25621         authors, for use in augeas.
25622         * modules/chown (License): Likewise.
25623         * modules/lchown (Likewise): Likewise.
25624         Requested by Adam Stokes.
25625
25626 2010-08-09  Karl Berry  <karl@gnu.org>
25627
25628         * build-aux/ar-lib: new file, import from Automake.
25629         * config/srclist.txt: autocheck for updates.
25630
25631 2010-08-09  Eric Blake  <eblake@redhat.com>
25632
25633         readlinkat: adjust client modules
25634         * modules/areadlinkat (Depends-on): Use readlinkat, not
25635         symlinkat.
25636         * modules/areadlinkat-with-size (Depends-on): Likewise.
25637
25638         mknod: be more vocal about danger of running tests as root
25639         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25640         root, since that is just asking for problems.
25641         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25642
25643         readlinkat: split into its own module
25644         * modules/symlinkat: Split readlinkat...
25645         * modules/readlinkat: ...into separate module.
25646         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25647         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25648         * lib/symlinkat.c (readlinkat): Move...
25649         * lib/readlinkat.c: ...into new file.
25650         * modules/symlinkat-tests: Split readlinkat test...
25651         * modules/readlinkat-tests: ...into separate module.
25652         * tests/test-symlinkat.c: Split...
25653         * tests/test-readlinkat.c: ...into new file.
25654         * NEWS: Document the split.
25655         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25656         * lib/unistd.in.h (readlinkat): Likewise.
25657         Suggested by Bruno Haible.
25658
25659 2010-08-08  Bruno Haible  <bruno@clisp.org>
25660
25661         memxfrm: Speed up.
25662         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25663         that usually only one call to strxfrm is necessary for each string
25664         part.
25665         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25666
25667 2010-08-07  Karl Berry  <karl@gnu.org>
25668
25669         * doc/posix-headers/limits.texi,
25670         * doc/posix-functions/malloc.texi,
25671         * doc/posix-functions/strsignal.texi: missing @item.
25672         * doc/ld-version-script.texi: spurious leading i.
25673         * doc/regex.texi (Interval Operators): no commas inside @var.
25674
25675 2010-08-01  Bruno Haible  <bruno@clisp.org>
25676
25677         Integrate the regex documentation.
25678         * doc/gnulib.texi: Define 'cn' index.
25679         (Regular expressions): New a chapter that includes regex.texi and
25680         regexprops-generic.texi.
25681         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25682         syntax.
25683
25684         Whitespace cleanup.
25685         * doc/regex.texi: Remove trailing spaces.
25686
25687         Add regex documentation.
25688         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25689         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25690         Written by Kathy A. Hargreaves and Karl Berry.
25691
25692 2010-08-01  Bruno Haible  <bruno@clisp.org>
25693
25694         link: Update documentation.
25695         * doc/posix-functions/link.texi: Update regarding Solaris.
25696
25697 2010-07-31  Bruno Haible  <bruno@clisp.org>
25698
25699         Update modules list.
25700         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25701         (String handling <string.h>): Add memcmp2, memxfrm.
25702         (Container data structures): Add xlist, xsublist, xoset.
25703         (Core language properties): Add alignof, unused-parameter.
25704         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25705         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25706         (Unibyte characters <ctype.h>): New section.
25707         (String handling <string.h>): New section.
25708         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25709         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25710         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25711         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25712         tan, tanh, tanl, y0, y1, yn.
25713         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25714         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25715         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25716         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25717         unlockpt, vdprintf, vdprintf-posix.
25718         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25719         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25720         xconcat-filename.
25721         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25722         getdtablesize, pipe2, pipe2-safer.
25723         (Security): New section.
25724         (Networking functions): Add accept4.
25725         (Signal handling): Add sigpipe.
25726         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25727         mbmemcasecoll.
25728         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25729         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25730         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25731         pipe-filter-ii.
25732         (Misc): Add argp-version-etc, login_tty, parse-duration.
25733
25734 2010-07-31  Bruno Haible  <bruno@clisp.org>
25735
25736         Improve doc in MODULES.html.
25737         * modules/linkat (Description): Add the word "function".
25738         * modules/mkfifo (Description): Likewise.
25739         * modules/mknod (Description): Likewise.
25740         * modules/remove (Description): Likewise.
25741         * modules/renameat (Description): Likewise.
25742         * modules/stat (Description): Likewise.
25743         * modules/symlink (Description): Likewise.
25744         * modules/unlink (Description): Likewise.
25745
25746 2010-07-31  Bruno Haible  <bruno@clisp.org>
25747
25748         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25749         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25750         option --enable/disable-c++ instead of --enable/disable-cxx.
25751         * NEWS: Mention the change.
25752
25753 2010-07-31  Bruno Haible  <bruno@clisp.org>
25754
25755         readlink, areadlink: Relax test a bit.
25756         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25757         alternative to ENOTDIR.
25758         * tests/test-areadlink.h (test_areadlink): Likewise.
25759         Reported by Rainer Tammer.
25760
25761 2010-07-31  Bruno Haible  <bruno@clisp.org>
25762
25763         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25764         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25765         character, perform the search using U_STRCHR.
25766         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25767         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25768         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25769         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25770         Suggested by Paolo Bonzini.
25771
25772 2010-07-31  Bruno Haible  <bruno@clisp.org>
25773
25774         unistr/u*-strstr: Fix dependencies.
25775         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25776         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25777         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25778
25779 2010-07-31  Bruno Haible  <bruno@clisp.org>
25780
25781         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25782         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25783         the beginning of the loop.
25784         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25785         cases in 'switch' statement.
25786
25787         unistr/u8-strchr: Fix several bugs.
25788         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25789         the string. When not found, return NULL, not a pointer near the end.
25790
25791         More tests for unistr/u8-strchr.
25792         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25793         that the function does not read past the first occurrence of the byte
25794         being searched.
25795         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25796         * tests/unistr/test-u16-strchr.c (main): New function.
25797         * tests/unistr/test-u32-strchr.c (main): New function.
25798
25799 2010-07-31  Bruno Haible  <bruno@clisp.org>
25800
25801         posix-modules: Ignore backup files of documentation files.
25802         * posix-modules: grep only through files named *.texi.
25803
25804 2010-07-31  Bruno Haible  <bruno@clisp.org>
25805
25806         symlinkat: Fix documentation.
25807         * doc/posix-functions/readlinkat.texi: Fix module name.
25808
25809 2010-07-31  Bruno Haible  <bruno@clisp.org>
25810
25811         fchownat: Replace also when chown has the trailing slash bug.
25812         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25813         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25814         introduced on 2010-04-10.
25815         Reported by Rainer Tammer.
25816
25817 2010-07-31  Bruno Haible  <bruno@clisp.org>
25818
25819         linkat: Work around AIX 7.1 bug.
25820         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25821         whether linkat handles trailing slash correctly. If not, replace linkat
25822         and define LINKAT_TRAILING_SLASH_BUG.
25823         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25824         check whether (fd1,file1) points to a directory if file1 or file2 ends
25825         in a slash. Code taken from lib/link.c.
25826         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25827         Reported by Rainer Tammer.
25828
25829 2010-07-31  Bruno Haible  <bruno@clisp.org>
25830
25831         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25832         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25833         This disables an xlc optimization that was causing wrong test results.
25834         Reported by Rainer Tammer.
25835
25836 2010-07-31  Bruno Haible  <bruno@clisp.org>
25837
25838         iconv: Work around AIX 6.1..7.1 bug.
25839         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25840         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25841         cross-compiling, guess no on all versions of AIX.
25842         Reported by Rainer Tammer.
25843
25844 2010-07-31  Bruno Haible  <bruno@clisp.org>
25845
25846         readlink: Relax test a bit.
25847         * tests/test-readlink.h (test_readlink): Allow different errno value
25848         when readlink is called with a file name that ends in / and refers to
25849         a file.
25850         Suggested by Eric Blake.
25851         Reported by Rainer Tammer.
25852
25853 2010-07-31  Bruno Haible  <bruno@clisp.org>
25854
25855         copysign: Does not require -lm on glibc systems.
25856         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25857         gl_COMMON_DOUBLE_MATHFUNC.
25858         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25859
25860 2010-07-31  Bruno Haible  <bruno@clisp.org>
25861
25862         duplocale: Work around AIX 7.1 bug.
25863         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25864         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25865         * lib/duplocale.c (rpl_duplocale): Update comment.
25866         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25867         Reported by Rainer Tammer.
25868
25869 2010-07-30  Bruno Haible  <bruno@clisp.org>
25870
25871         dirfd: Avoid link error on AIX 7.1.
25872         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25873         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25874         exist, set REPLACE_DIRFD.
25875         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25876         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25877         * doc/posix-functions/dirfd.texi: Update.
25878         Reported by Rainer Tammer.
25879
25880 2010-07-30  Eric Blake  <eblake@redhat.com>
25881
25882         strtod: next round of AIX fixes
25883         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25884         exponent.
25885         * tests/test-strtod.c (main): Enhance tests.
25886         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25887         Reported by Rainer Tammer.
25888
25889         futimens: fix configure check
25890         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25891         Reported by Bruno Haible.
25892
25893 2010-07-30  Bruno Haible  <bruno@clisp.org>
25894
25895         getline: Update regarding AIX.
25896         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25897         Reported by Rainer Tammer.
25898
25899 2010-07-30  Bruno Haible  <bruno@clisp.org>
25900
25901         wcwidth: Drop replacement on AIX 7.
25902         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25903         AIX 7.
25904         Reported by Rainer Tammer.
25905
25906 2010-07-30  Bruno Haible  <bruno@clisp.org>
25907
25908         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25909         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25910         a 'char *'.
25911         Reported by Rainer Tammer.
25912
25913 2010-07-30  Bruno Haible  <bruno@clisp.org>
25914
25915         unlink: Update regarding AIX.
25916         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25917         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25918         Reported by Rainer Tammer.
25919
25920 2010-07-30  Bruno Haible  <bruno@clisp.org>
25921
25922         symlink: Update regarding AIX.
25923         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25924         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25925         Reported by Rainer Tammer.
25926
25927 2010-07-30  Bruno Haible  <bruno@clisp.org>
25928
25929         strndup: Update regarding AIX.
25930         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25931         AIX 7.
25932         Reported by Rainer Tammer.
25933
25934 2010-07-30  Bruno Haible  <bruno@clisp.org>
25935
25936         stat: Update regarding AIX.
25937         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25938         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25939         Reported by Rainer Tammer.
25940
25941 2010-07-30  Bruno Haible  <bruno@clisp.org>
25942
25943         truncl: Fix autoconf test.
25944         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25945         whether truncl works.
25946         Reported by Rainer Tammer.
25947
25948 2010-07-30  Bruno Haible  <bruno@clisp.org>
25949
25950         round: Update regarding AIX.
25951         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25952         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25953         Reported by Rainer Tammer.
25954
25955 2010-07-30  Bruno Haible  <bruno@clisp.org>
25956
25957         rename: Update regarding AIX.
25958         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25959         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25960         Reported by Rainer Tammer.
25961
25962 2010-07-30  Bruno Haible  <bruno@clisp.org>
25963
25964         printf.m4: Update regarding AIX.
25965         * m4/printf.m4: Update comments regarding AIX.
25966         Reported by Rainer Tammer.
25967
25968 2010-07-30  Bruno Haible  <bruno@clisp.org>
25969
25970         iconv: Update regarding AIX.
25971         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25972         AIX 7.
25973         Reported by Rainer Tammer.
25974
25975 2010-07-30  Bruno Haible  <bruno@clisp.org>
25976
25977         getopt: Update regarding AIX.
25978         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25979         no on AIX.
25980         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25981         Reported by Rainer Tammer.
25982
25983 2010-07-30  Bruno Haible  <bruno@clisp.org>
25984
25985         ldexpl; Update regarding AIX.
25986         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25987         on AIX 7.
25988         Reported by Rainer Tammer.
25989
25990 2010-07-30  Bruno Haible  <bruno@clisp.org>
25991
25992         frexpl: Update regarding AIX.
25993         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25994         on AIX 7.
25995         Reported by Rainer Tammer.
25996
25997 2010-07-30  Bruno Haible  <bruno@clisp.org>
25998
25999         open, fopen: Update regarding AIX.
26000         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
26001         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26002         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
26003         * doc/posix-functions/fopen.texi: Likewise.
26004         Reported by Rainer Tammer.
26005
26006 2010-07-30  Bruno Haible  <bruno@clisp.org>
26007
26008         chown: Update doc regarding AIX.
26009         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
26010         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
26011         Reported by Rainer Tammer.
26012
26013 2010-07-30  Eric Blake  <eblake@redhat.com>
26014
26015         strtod: fix bug in replacement function on AIX
26016         * lib/strtod.c (strtod): Special case broken "0x" parse in
26017         underlying strtod.
26018         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
26019         * doc/posix-functions/strtod.texi (strtod): Likewise.
26020         Reported by Rainer Tammer.
26021
26022 2010-07-30  Bruno Haible  <bruno@clisp.org>
26023
26024         mbrlen: Fix cross-compilation guess for AIX.
26025         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
26026         guess. Leftover from 2008-12-22.
26027
26028 2010-07-30  Bruno Haible  <bruno@clisp.org>
26029
26030         mbrtowc: Fix cross-compilation guess for AIX.
26031         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
26032         guess. Leftover from 2008-12-21.
26033
26034 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
26035
26036         init.sh: work around trap limitation of some shells
26037         * tests/init.sh (setup_): Move exit trap outside of shell function.
26038
26039 2010-07-29  Eric Blake  <eblake@redhat.com>
26040
26041         strtod: aid debugging
26042         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
26043         understanding why strtod is rejected.
26044
26045 2010-07-28  Bruno Haible  <bruno@clisp.org>
26046
26047         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
26048         * lib/unistr/u8-chr.c: Include <string.h>.
26049         * tests/unistr/test-u8-chr.c: Likewise.
26050         * tests/unistr/test-u16-chr.c: Likewise.
26051         * tests/unistr/test-u32-chr.c: Likewise.
26052         * tests/unistr/test-u8-strchr.c: Likewise.
26053         * tests/unistr/test-u16-strchr.c: Likewise.
26054         * tests/unistr/test-u32-strchr.c: Likewise.
26055         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
26056         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
26057         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
26058         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
26059
26060 2010-07-28  Bruno Haible  <bruno@clisp.org>
26061
26062         Use spaces for indentation, not tabs.
26063         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
26064
26065 2010-07-27  Bruno Haible  <bruno@clisp.org>
26066
26067         mbspcasecmp: Fix function specification.
26068         * lib/string.in.h (mbspcasecmp): Fix specification comment.
26069         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
26070         Reported by Eric Blake <eblake@redhat.com>.
26071
26072 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
26073
26074         timespec: use cast and not conditional, as truncation isn't possible
26075         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
26076         instead of a conditional.  Comment about the situation in more detail.
26077         This undoes most of the 2009-10-29 patch.
26078
26079 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
26080
26081         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
26082         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
26083         * lib/unistr/u8-strchr.c: Likewise.
26084         * modules/unistr/u8-chr: Depend on memchr.
26085
26086         unistr/u*-strchr: add tests
26087         * modules/unistr/u8-strchr-tests: New file.
26088         * modules/unistr/u16-strchr-tests: New file.
26089         * modules/unistr/u32-strchr-tests: New file.
26090         * tests/unistr/test-strchr.h: New file.
26091         * tests/unistr/test-u8-strchr.c: New file.
26092         * tests/unistr/test-u16-strchr.c: New file.
26093         * tests/unistr/test-u32-strchr.c: New file.
26094
26095         unistr/u*-chr: test multibyte sequences more
26096         * tests/unistr/test-chr.h: Do complete testing of the characters in the
26097         test vector.
26098         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
26099         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
26100         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
26101
26102         unistr/u*-chr: test multibyte sequences
26103         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
26104
26105         unistr/u*-chr: prepare for multibyte tests
26106         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
26107         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
26108         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
26109         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
26110         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
26111         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
26112
26113 2010-07-18  Bruno Haible  <bruno@clisp.org>
26114
26115         unistr/u8-strchr: Optimize non-ASCII argument case.
26116         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
26117         because the first byte often matches anyway.
26118         Reported by Pádraig Brady <P@draigbrady.com>.
26119
26120 2010-07-15  Karl Berry  <karl@gnu.org>
26121
26122         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
26123
26124 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
26125
26126         getcwd: on Solaris, work better if ancestors are inaccessible
26127         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
26128         buffer and size, try again with a large buffer.  This works better
26129         on Solaris, since its getcwd succeeds even if the path to the root
26130         is inaccessible, and this is helpful in common cases such as .zfs
26131         hidden directories.  Problem reported by J Chapman Flack in
26132         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
26133         Use system getcwd if it's declared, not merely if it's partly
26134         working; use the partly-working test only to avoid needless effort
26135         if the system getcwd fails.
26136         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
26137         comment that was already obsolete and is now even more obsolete.
26138         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
26139         now might call strdup.
26140
26141 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
26142
26143         pthread: Add enough so that coreutils/src/sort.c compiles.
26144         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
26145         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
26146         gnulib. Include <sched.h> and <time.h>, as per POSIX.
26147         Include <sys/types.h>, in case it defines pthread_t.
26148         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
26149         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
26150         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
26151         (pthread_rwlockattr_t, pthread_spinlock_t):
26152         New typedefs, if HAVE_PTHREAD_T is not defined.
26153         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
26154         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
26155         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
26156         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
26157         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
26158         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
26159         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
26160         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
26161         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
26162         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
26163         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
26164         New macros.
26165         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
26166         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
26167         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
26168         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
26169         (pthread_spin_unlock): New dummy functions.
26170         (pthread_create): Return EAGAIN; don't set errno.
26171         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
26172         require AC_C_INLINE.
26173         * modules/pthread (Depends-on): Add sched, time.
26174         (pthread.h): Use AM_V_GEN.
26175
26176 2010-07-13  Bruno Haible  <bruno@clisp.org>
26177
26178         striconveh: Don't malloc memory if the result buffer is sufficient.
26179         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
26180         buffer if its size is sufficient.
26181         Reported by Ludovic Courtès <ludo@gnu.org>.
26182
26183 2010-07-13  Bruno Haible  <bruno@clisp.org>
26184
26185         strtod: Add safety check.
26186         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
26187
26188 2010-07-12  Bruno Haible  <bruno@clisp.org>
26189
26190         Unify tests that set gl_cv_func_ldexpl_no_libm.
26191         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
26192         gl_FUNC_LDEXPL.
26193         (gl_FUNC_LDEXPL): Invoke it.
26194         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26195
26196 2010-07-12  Bruno Haible  <bruno@clisp.org>
26197
26198         Unify tests that set gl_cv_func_ldexp_no_libm.
26199         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
26200         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
26201         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
26202         (configure.ac): Simply invoke gl_FUNC_LDEXP.
26203         * modules/strtod (Files): Add m4/ldexp.m4.
26204
26205 2010-07-12  Bruno Haible  <bruno@clisp.org>
26206
26207         Unify tests that set gl_cv_func_frexpl_no_libm.
26208         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
26209         gl_FUNC_FREXPL_NO_LIBM.
26210         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
26211         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26212
26213 2010-07-12  Bruno Haible  <bruno@clisp.org>
26214
26215         Unify tests that set gl_cv_func_frexp_no_libm.
26216         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
26217         gl_FUNC_FREXP_NO_LIBM.
26218         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
26219         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26220
26221 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26222
26223         memcoll: clarify sizes versus lengths, document better, and tweak perf
26224         * lib/memcoll.c (strcoll_loop, memcoll0):
26225         Improve quality of descriptive comments.  Name variables
26226         consistently as to whether they are lengths (which do not include
26227         terminating null) versus sizes (which do).
26228         * lib/xmemcoll.c (xmemcoll0): Likewise.
26229         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
26230         returned when s1size == 0; this is easier to compile and saves
26231         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
26232
26233 2010-07-12  Bruno Haible  <bruno@clisp.org>
26234
26235         Tests for module '_Exit'.
26236         * modules/_Exit-tests: New file.
26237         * tests/test-_Exit.sh: New file.
26238         * tests/test-_Exit.c: New file.
26239
26240         New module '_Exit'.
26241         * lib/stdlib.in.h (__attribute__): New macro.
26242         (_Exit): New declaration.
26243         * lib/_Exit.c: New file.
26244         * m4/_Exit.m4: New file.
26245         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26246         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26247         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26248         * modules/_Exit: New file.
26249         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26250         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26251
26252 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26253
26254         strtod: make it more-accurate typically, and don't require libm
26255         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26256         Include limits.h.  Don't include string.h.
26257         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26258         (locale_isspace): New function, so that no casts are needed to
26259         check whether *s is a space.
26260         (ldexp): Provide an unused dummy if not available.
26261         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26262         (strtod): Use them.  This implementation prefers to use the
26263         underlying strtod if available, falling back on our own code
26264         only to fix known bugs.  This is more likely to produce an
26265         accurate result.  Also, it avoids the use of libm functions.
26266         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26267         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26268         was absent, but it caused a test failure with coreutils.
26269         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26270         with libm.
26271         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26272         * modules/strtod-tests (Makefile.am): Likewise.
26273
26274 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26275             Bruno Haible  <bruno@clisp.org>
26276
26277         unistr/u8-strchr: Optimize ASCII argument case.
26278         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26279
26280 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26281
26282         (x)memcoll: minor tweaks
26283         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26284         is after the type that it qualifies.
26285         (memcoll0): Likewise.
26286         * lib/memcoll.h (memcoll0): Likewise.
26287         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26288         * lib/xmemcoll.h (xmemcoll0): Likewise.
26289         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26290         differs from memcoll in that the NUL byte is part of the argument.
26291         Omit the abort-checks, as performance is a real issue here.  Plus,
26292         the checks were wrong anyway (an off-by-one error).  Omit local
26293         variable 'diff', as it's a bit clearer that way.
26294         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26295         no longer needed.
26296
26297 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26298
26299         (x)memcoll: speedup when input is known to be NUL delimited
26300         * lib/memcoll.c: Include stdlib.
26301         (memcoll0): New function.
26302         (strcoll_loop): New function, refactored for use in both memcoll
26303         and memcoll0.
26304         * lib/memcoll.h (memcoll0): Add prototype.
26305         * lib/xmemcoll.c (xmemcoll0): New function.
26306         (collate_error): New function, refactored for use in both xmemcoll
26307         and xmemcoll0.
26308         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26309         * m4/memcoll.m4: add inline invocation.
26310
26311 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26312
26313         * build-aux/bootstrap: Remove any local translations
26314         from the translation project synchronization directory,
26315         so that local only translations are not distributed.
26316
26317 2010-07-04  Bruno Haible  <bruno@clisp.org>
26318
26319         fsusage: Clarify which code applies to which platforms.
26320         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26321         platform.
26322         * lib/fsusage.c (get_fs_usage): Likewise.
26323
26324 2010-07-04  Bruno Haible  <bruno@clisp.org>
26325
26326         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26327         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26328         Reported by Martin Lambers <marlam@marlam.de>.
26329
26330 2010-07-04  Jim Meyering  <meyering@redhat.com>
26331
26332         hash: once again explicitly disallow insertion of NULL
26333         * lib/hash.c (hash_insert0): Reinstate just-removed test:
26334         inserting a NULL pointer cannot work with these functions.
26335         Add a comment with details.
26336         This reverts part of the 2010-07-01 commit, 5bef1a35
26337         "hash: extend module to deal with non-pointer keys".
26338
26339 2010-07-01  Bruno Haible  <bruno@clisp.org>
26340
26341         stdbool: Update doc.
26342         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
26343         Info from Christian Weisgerber <naddy@mips.inka.de>.
26344
26345 2010-07-01  Jim Meyering  <meyering@redhat.com>
26346
26347         hash: extend module to deal with non-pointer keys
26348         * lib/hash.c (hash_insert0): New interface, much like hash_insert
26349         but that allows insertion of non-pointer entries.
26350         Do not disallow an ENTRY value of NULL.
26351         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
26352         * lib/hash.h (hash_insert0): Declare.
26353
26354 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26355
26356         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26357         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26358         not present (i.e. with autoconf 2.59 and when using gettextize, not
26359         gnulib), require AC_GNU_SOURCE instead.
26360
26361 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26362
26363         idpriv-drop: Fix tests.
26364         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26365         not to the test-idpriv-droptemp program.
26366
26367 2010-06-29  Bruno Haible  <bruno@clisp.org>
26368
26369         string: Fix syntax error with g++ 2.96.
26370         * lib/string.in.h (__pure__): Remove definition.
26371         (_GL_ATTRIBUTE_PURE): New macro.
26372         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26373         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26374         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26375
26376 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26377
26378         unitypes: Fix bug introduced on 2010-05-18.
26379         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26380
26381 2010-06-22  Eric Blake  <eblake@redhat.com>
26382
26383         memmem: slight optimization
26384         * lib/str-two-way.h (critical_factorization): Update comments.
26385         Reduce work during factorization phase.
26386         Reported by Carlos Bueno <carlos@bueno.org>.
26387
26388 2010-06-21  Bruno Haible  <bruno@clisp.org>
26389
26390         Fix HAVE_CALLOC_POSIX misnomer.
26391         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26392         !HAVE_CALLOC_POSIX.
26393         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26394         HAVE_CALLOC_POSIX.
26395         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26396         instead of HAVE_CALLOC_POSIX.
26397         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26398         HAVE_CALLOC_POSIX.
26399
26400         Use modern idiom for calloc() replacement.
26401         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26402         AC_FUNC_CALLOC.
26403         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26404         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26405         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26406         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26407         (gl_REPLACE_CALLOC): New macro.
26408
26409 2010-06-21  Bruno Haible  <bruno@clisp.org>
26410
26411         Fix HAVE_REALLOC_POSIX misnomer.
26412         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26413         !HAVE_REALLOC_POSIX.
26414         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26415         HAVE_REALLOC_POSIX.
26416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26417         instead of HAVE_REALLOC_POSIX.
26418         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26419         HAVE_REALLOC_POSIX.
26420
26421         Use modern idiom for realloc() replacement.
26422         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26423         AC_FUNC_REALLOC.
26424         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26425         Autoconf's AC_FUNC_REALLOC.
26426         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26427         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26428         (gl_REPLACE_REALLOC): New macro.
26429         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26430
26431 2010-06-21  Bruno Haible  <bruno@clisp.org>
26432
26433         Fix HAVE_MALLOC_POSIX misnomer.
26434         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26435         !HAVE_MALLOC_POSIX.
26436         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26437         HAVE_MALLOC_POSIX.
26438         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26439         instead of HAVE_MALLOC_POSIX.
26440         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26441         HAVE_MALLOC_POSIX.
26442
26443         Use modern idiom for malloc() replacement.
26444         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26445         AC_FUNC_MALLOC.
26446         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26447         Autoconf's AC_FUNC_MALLOC.
26448         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26449         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26450         (gl_REPLACE_MALLOC): New macro.
26451         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26452
26453 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26454
26455         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26456         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26457         This macro takes 3 arguments, not 4.
26458
26459 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26460
26461         ipv6: fix detection under mingw
26462         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26463         in6_addr.
26464
26465 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26466
26467         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26468         that strtod() works when cross-compiling to a glibc version known
26469         to work.
26470
26471 2010-06-15  Bruno Haible  <bruno@clisp.org>
26472
26473         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26474
26475 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26476
26477         select: Correct timeout.
26478         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26479
26480 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26481
26482         git-version-gen: init shell var to avoid env var influence
26483         * build-aux/git-version-gen (v): Init shell var to empty.
26484
26485 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26486
26487         priv-set: Don't assume that priv.h exists merely because getppriv does.
26488         See Jan Andersen's bug report about AIX 5L in
26489         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26490         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26491         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26492         * lib/priv-set.h: Likewise.
26493         * tests/test-priv-set.c: Likewise.
26494
26495 2010-06-13  Bruno Haible  <bruno@clisp.org>
26496
26497         relocatable: Make it easier to test whether to install wrappers.
26498         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26499         RELOCATABLE_VIA_WRAPPER.
26500
26501 2010-06-13  Bruno Haible  <bruno@clisp.org>
26502
26503         gnulib-tool: Display specified modules and dependencies differently.
26504         * gnulib-tool (func_show_module_list): New function.
26505         (func_import, func_create_testdir): Invoke it.
26506         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26507
26508 2010-06-13  Bruno Haible  <bruno@clisp.org>
26509
26510         gnulib-tool: Align code of func_import and func_create_testdir.
26511         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26512         specified_modules.
26513
26514 2010-06-12  Jim Meyering  <meyering@redhat.com>
26515
26516         test-inttostr: avoid spurious failure on Solaris 9
26517         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26518         to accept "%ju".  Reported by Bruno Haible.
26519
26520 2010-06-11  Jim Meyering  <meyering@redhat.com>
26521
26522         test-sys_socket: mark variables as used more readably
26523         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26524         as "used" explicitly via (void) statement casts.  This is more
26525         readable than using them in an artificial return expression.
26526         Suggestion from Bruno Haible.
26527
26528 2010-06-11  Bruno Haible  <bruno@clisp.org>
26529
26530         Avoid some more warnings from "gcc -Wwrite-strings".
26531         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26532         to 'const char *'.
26533         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26534         * tests/test-c-strcasestr.c (main): Likewise.
26535         * tests/test-mbscasestr1.c (main): Likewise.
26536         * tests/test-mbscasestr2.c (main): Likewise.
26537         * tests/test-memmem.c (main): Likewise.
26538         * tests/test-strstr.c (main): Likewise.
26539         * tests/test-strcasestr.c (main): Likewise.
26540
26541 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26542
26543         init.sh: change framework_failure_ to fail with status 99, not 1
26544         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26545         automake's parallel-tests rule that this is an unexpected failure,
26546         even if the test is listed in XFAIL_TESTS.
26547
26548 2010-06-11  Jim Meyering  <meyering@redhat.com>
26549
26550         test-inttostr: avoid warnings about 4-6KB literal strings
26551         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26552         Include "macros.h", for its definition of ASSERT.
26553         (CK): s/assert/ASSERT/
26554         * modules/inttostr-tests (Files): Add macros.h.
26555
26556         init.sh: don't use $ME_ or skip_ before they are defined
26557         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26558         their first uses.  Also hoist their companions: warn_, fail_,
26559         framework_failure_, $stderr_fileno.  Prompted by a patch from
26560         Stefano Lattarini.
26561
26562         test-sys_socket: avoid set-but-not-used warnings from gcc
26563         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26564         avoid warning about set-but-not-used variables.
26565
26566         test-xvasprintf: avoid 'const' discard warnings
26567         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26568         "const" when assigning from literal strings.
26569         (test_xasprintf): Add "void" in function argument list to placate
26570         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26571
26572         tests: avoid compilation warnings in argmatch and exclude tests...
26573         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26574         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26575         Since it always exits, declare with the "noreturn" attribute.
26576         * tests/test-argmatch.c: Likewise.
26577
26578         tests: avoid 'const' discard warnings in mbsstr tests
26579         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26580         * tests/test-mbsstr2.c (main): Likewise.
26581
26582         test-verify: avoid warning from gcc's -Wmissing-declarations
26583         * tests/test-verify.c (function): Declare to be static.
26584
26585         test-inttostr.c: include <string.h> for use of strcmp
26586         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26587
26588         test-linkat: avoid failed assertion on "other" architectures
26589         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26590         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26591         sparc: https://bugs.launchpad.net/bugs/591968
26592
26593 2010-06-11  Jim Meyering  <meyering@redhat.com>
26594
26595         printf.m4: avoid autoconf's "Expanded Before Required" warning
26596         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26597         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26598         autoconf warning.
26599
26600 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26601
26602         Replacement header templates are now named with ".in", not "_".
26603         * doc/gnulib-intro.texi: Correct.
26604
26605 2010-06-10  Jim Meyering  <meyering@redhat.com>
26606
26607         inttostr-tests: depend on snprintf, not snprintf-posix
26608         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26609         snprintf-posix, to avoid this aclocal failure:
26610           missing file gnulib-tests/vasnprintf.c
26611           configure.ac:45: error: expected source file, required through \
26612           AC_LIBSOURCES, not found
26613
26614 2010-06-10  Jim Meyering  <meyering@redhat.com>
26615
26616         inttostr: add a new function, inttostr, and tests
26617         The namesake function was not available.  The existence of the
26618         template file, inttostr.c makes its addition nontrivial.
26619         * lib/anytostr.c: Rename from inttostr.c.
26620         (anytostr): Rename from inttostr.
26621         * lib/inttostr.c: New file.
26622         * modules/inttostr (Files): Add anytostr.c.
26623         (Makefile.am): Set lib_SOURCES instead of ...
26624         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26625         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26626         * lib/offtostr.c: Likewise.
26627         * lib/uinttostr.c: Likewise.
26628         * lib/umaxtostr.c: Likewise.
26629         * modules/inttostr-tests: New file.
26630         * tests/test-inttostr.c: New file.  Test these functions.
26631
26632 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26633             Bruno Haible  <bruno@clisp.org>
26634
26635         Add "Extending Gnulib" chapter to manual.
26636         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26637         chapter.
26638         (Extending Gnulib): New chapter.
26639         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26640         chapter.
26641
26642 2010-06-09  Bruno Haible  <bruno@clisp.org>
26643
26644         Avoid relocwrapper link errors due to gnulib replacement functions.
26645         * lib/areadlink.c: Use the system's malloc, realloc functions.
26646         (areadlink): Set errno to ENOMEM explicitly.
26647         * modules/areadlink (Depends-on): Remove malloc-posix.
26648         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26649
26650 2010-06-09  Bruno Haible  <bruno@clisp.org>
26651
26652         Avoid relocwrapper link errors due to gnulib replacement functions.
26653         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26654         * lib/malloca.c: Likewise.
26655         * lib/relocatable.c: Likewise.
26656         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26657         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26658         * lib/setenv.c: Use the system's malloc, realloc functions.
26659         * lib/strerror.c: Use the system's sprintf function.
26660         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26661
26662 2010-06-04  Bruno Haible  <bruno@clisp.org>
26663
26664         Prefer documented low-level autoconf macro names.
26665         * m4/lib-link.m4: Use m4_translit instead of translit.
26666         * m4/environ.m4: Likewise.
26667         * m4/mathfunc.m4: Likewise.
26668         * m4/onceonly.m4: Likewise.
26669         * m4/stdint.m4: Likewise.
26670         Suggested by Eric Blake.
26671
26672 2010-06-04  Martin Lambers  <marlam@marlam.de>
26673             Bruno Haible  <bruno@clisp.org>
26674
26675         havelib: Allow library names with '+' characters.
26676         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26677         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26678
26679 2010-06-09  Bruno Haible  <bruno@clisp.org>
26680
26681         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26682         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26683         realloc failed.
26684
26685 2010-06-08  Peter Simons  <simons@cryp.to>
26686
26687         maint.mk: make the news-check rule more configurable
26688         * top/maint.mk (news-check-lines-spec): New variable.
26689         (news-check): Use "sed -n 1,10p" in place of "head".
26690
26691 2010-06-07  Jim Meyering  <meyering@redhat.com>
26692
26693         do-release-commit-and-tag: fix typo in --help
26694         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26695
26696         regex: avoid new dead-code warning with gcc-4.6.0
26697         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26698         if-block containing a while-loop.  It's been unused for at least
26699         5 years.
26700
26701 2010-06-05  Bruno Haible  <bruno@clisp.org>
26702
26703         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26704         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26705
26706 2010-06-04  Bruno Haible  <bruno@clisp.org>
26707
26708         Update to GNU gettext 0.18.1.
26709         * modules/gettext (configure.ac): Require gettext infrastructure from
26710         version 0.18.1.
26711
26712 2010-06-03  Bruno Haible  <bruno@clisp.org>
26713
26714         Don't use AC_LIBOBJ with file names in subdirectories.
26715         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26716         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26717         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26718         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26719         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26720         gl_LIBUNISTRING_LIBSOURCE.
26721         (Makefile.am): Augment lib_SOURCES here, conditionally.
26722         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26723
26724 2010-06-03  Bruno Haible  <bruno@clisp.org>
26725
26726         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26727         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26728         expansion does not end with a newline.
26729         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26730         unnecessary newline.
26731
26732 2010-06-03  Bruno Haible  <bruno@clisp.org>
26733
26734         Reduce dependencies.
26735         * tests/test-quotearg.h: New file, extracted from
26736         tests/test-quotearg.c.
26737         * tests/test-quotearg-simple.c: New file, extracted from
26738         tests/test-quotearg.c.
26739         * tests/test-quotearg.c: Don't include <ctype.h>.
26740         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26741         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26742         use_quote_double_quotes, use_quotearg_colon): Moved to
26743         tests/test-quotearg.h.
26744         (results_g, flag_results, custom_quotes, custom_results): Moved
26745         to tests/test-quotearg-simple.c.
26746         (main): Moved the part that does not depend on gettext to
26747         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26748         performed.
26749         * modules/quotearg-simple: New file.
26750         * modules/quotearg-simple-tests: New file.
26751         * modules/quotearg (Depends-on): Add quotearg-simple.
26752         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26753         (Files): Add tests/test-quotearg.h.
26754         Reported by Paolo Bonzini.
26755
26756 2010-06-03  Bruno Haible  <bruno@clisp.org>
26757
26758         Reduce dependencies.
26759         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26760
26761 2010-06-03  Bruno Haible  <bruno@clisp.org>
26762
26763         time: Undefine more broken macros.
26764         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26765         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26766         Reported by Eric Blake.
26767
26768 2010-06-03  Bruno Haible  <bruno@clisp.org>
26769
26770         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26771         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26772         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26773         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26774         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26775         Reported by Ludovic Courtès <ludo@gnu.org>.
26776
26777 2010-06-02  Eric Blake  <eblake@redhat.com>
26778
26779         time: work with mingw + pthreads-win32 library
26780         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26781         if timespec is defined only in pthread.h.
26782         * modules/time (Makefile.am): Substitute it.
26783         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26784         <pthread.h>, when needed.
26785         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26786         from the library.
26787
26788 2010-05-31  Bruno Haible  <bruno@clisp.org>
26789
26790         Avoid expanding two macros in the wrong order.
26791         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26792         gl_LIBUNISTRING if it is defined.
26793         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26794         autoconf >= 2.64.
26795         Reported by Ludovic Courtès <ludo@gnu.org>.
26796
26797 2010-05-27  Jim Meyering  <meyering@redhat.com>
26798
26799         maint.mk: also prohibit "#undef" of always-defined symbols
26800         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26801         Allow more than one space before the symbol name.
26802         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26803         the regexp uses alternation.
26804
26805 2010-05-26  Eric Blake  <eblake@redhat.com>
26806
26807         maint.mk: avoid echo -e
26808         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26809         Convert all uses of echo -* to printf.
26810         Reported by Matthias Bolte.
26811
26812 2010-05-25  Bruno Haible  <bruno@clisp.org>
26813
26814         Update to GNU gettext 0.18, part 2.
26815         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26816         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26817
26818 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26819
26820         Add missing include in test-pwrite.c.
26821         * tests/test-pwrite.c: Include string.h, for strcmp.
26822
26823 2010-05-24  Bruno Haible  <bruno@clisp.org>
26824
26825         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26826
26827 2010-05-24  Bruno Haible  <bruno@clisp.org>
26828
26829         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26830         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26831         iconveh_error argument.
26832         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26833         U_STRCONV_TO_LOCALE.
26834         * lib/unistr/u16-strcoll.c: Likewise.
26835         * lib/unistr/u32-strcoll.c: Likewise.
26836         * modules/unistr/u8-strcoll (Depends-on): Add
26837         uniconv/u8-strconv-to-enc, localcharset. Remove
26838         uniconv/u8-strconv-to-locale.
26839         (configure.ac): Bump version number.
26840         * modules/unistr/u16-strcoll (Depends-on): Add
26841         uniconv/u16-strconv-to-enc, localcharset. Remove
26842         uniconv/u16-strconv-to-locale.
26843         (configure.ac): Bump version number.
26844         * modules/unistr/u32-strcoll (Depends-on): Add
26845         uniconv/u32-strconv-to-enc, localcharset. Remove
26846         uniconv/u32-strconv-to-locale.
26847         (configure.ac): Bump version number.
26848
26849 2010-05-24  Bruno Haible  <bruno@clisp.org>
26850
26851         Avoid a test failure on NetBSD 5.0.
26852         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26853         an iconv() bug.
26854
26855 2010-05-24  Bruno Haible  <bruno@clisp.org>
26856
26857         Adjust #include directive style.
26858         * modules/regex (Includes): Recommend to write <regex.h>.
26859
26860 2010-05-24  Bruno Haible  <bruno@clisp.org>
26861
26862         regex: Don't require alloca.
26863         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26864         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26865         only inside if (0).
26866
26867 2010-05-23  Jim Meyering  <meyering@redhat.com>
26868
26869         test-renameat.c: include <sys/stat.h>
26870         * tests/test-renameat.c: Include <sys/stat.h>; required for
26871         definition of S_IS* macros.
26872
26873 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26874
26875         Update maintainer documentation for 'relocatable-prog' module.
26876         * doc/relocatable-maint.texi: Update.
26877         Comments by Bruno Haible.
26878
26879 2010-05-23  Bruno Haible  <bruno@clisp.org>
26880
26881         git-merge-changelog: Enable --split-merged-entry by default.
26882         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26883         (usage): Don't mention this option any more.
26884         Reported by Ralf Wildenhues.
26885
26886 2010-05-23  Jim Meyering  <meyering@redhat.com>
26887
26888         test-pwrite: do not leave behind a test file named "out"
26889         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26890         The trivial-looking use of init.sh is really necessary.
26891         It ensures that the temporary file, "out", is created in
26892         a temporary directory, and removed upon termination.
26893         * tests/test-pwrite.sh: Re-add file.
26894         * modules/pwrite-tests: Reference it.
26895
26896 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26897
26898         Fix output redirection buglet in init.sh.
26899         * tests/init.sh: Fix redirection of stderr.
26900
26901 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26902
26903         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26904
26905 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26906
26907         * modules/valgrind-tests: New file.
26908         * m4/valgrind-tests.m4: New file.
26909         * doc/valgrind-tests.texi: New file.
26910         * doc/gnulib.texi (Running self-tests under valgrind): New
26911         section.
26912
26913 2010-05-19  Bruno Haible  <bruno@clisp.org>
26914
26915         Clean up dead code in recent commit.
26916         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26917         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26918         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26919         Suggested by Paolo Bonzini.
26920
26921 2010-05-19  Bruno Haible  <bruno@clisp.org>
26922
26923         Avoid valgrind error reports from libunistring.
26924         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26925         * modules/libunistring (Files): Add it.
26926         * modules/libunistring-optional (Files): Likewise.
26927
26928 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26929             Bruno Haible  <bruno@clisp.org>
26930
26931         New module 'libunistring-optional'.
26932         * modules/libunistring-optional: New file.
26933         * m4/libunistring-base.m4: New file.
26934         * m4/libunistring-optional.m4: New file.
26935         * lib/unicase.in.h: Renamed from lib/unicase.h.
26936         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26937         * lib/unictype.in.h: Renamed from lib/unictype.h.
26938         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26939         * lib/uniname.in.h: Renamed from lib/uniname.h.
26940         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26941         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26942         * lib/unistr.in.h: Renamed from lib/unistr.h.
26943         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26944         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26945         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26946         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26947         gl_LIBUNISTRING. If the library was found, determine the installed
26948         version and set LIBUNISTRING_VERSION.
26949         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26950         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26951         handle a configuration option --with-included-libunistring.
26952         * modules/libunistring (Files): Add m4/absolute-header.m4.
26953         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26954         Add m4/libunistring-base.m4.
26955         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26956         (Makefile.am): Build unicase.h from unicase.in.h.
26957         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26958         Add m4/libunistring-base.m4.
26959         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26960         (Makefile.am): Build uniconv.h from uniconv.in.h.
26961         * modules/unictype/base (Files): Use unictype.in.h instead of
26962         unictype.h. Add m4/libunistring-base.m4.
26963         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26964         (Makefile.am): Build unictype.h from unictype.in.h.
26965         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26966         Add m4/libunistring-base.m4.
26967         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26968         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26969         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26970         Add m4/libunistring-base.m4.
26971         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26972         (Makefile.am): Build uniname.h from uniname.in.h.
26973         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26974         Add m4/libunistring-base.m4.
26975         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26976         (Makefile.am): Build uninorm.h from uninorm.in.h.
26977         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26978         unistdio.h. Add m4/libunistring-base.m4.
26979         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26980         (Makefile.am): Build unistdio.h from unistdio.in.h.
26981         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26982         Add m4/libunistring-base.m4.
26983         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26984         (Makefile.am): Build unistr.h from unistr.in.h.
26985         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26986         Add m4/libunistring-base.m4.
26987         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26988         (Makefile.am): Build unitypes.h from unitypes.in.h.
26989         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26990         Add m4/libunistring-base.m4.
26991         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26992         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26993         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26994         uniwidth.h. Add m4/libunistring-base.m4.
26995         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26996         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26997         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26998         instead of augmenting lib_SOURCES.
26999         * modules/unicase/empty-suffix-context: Likewise.
27000         * modules/unicase/locale-language: Likewise.
27001         * modules/unicase/tolower: Likewise.
27002         * modules/unicase/totitle: Likewise.
27003         * modules/unicase/toupper: Likewise.
27004         * modules/unicase/u8-casecmp: Likewise.
27005         * modules/unicase/u8-casecoll: Likewise.
27006         * modules/unicase/u8-casefold: Likewise.
27007         * modules/unicase/u8-casexfrm: Likewise.
27008         * modules/unicase/u8-ct-casefold: Likewise.
27009         * modules/unicase/u8-ct-tolower: Likewise.
27010         * modules/unicase/u8-ct-totitle: Likewise.
27011         * modules/unicase/u8-ct-toupper: Likewise.
27012         * modules/unicase/u8-is-cased: Likewise.
27013         * modules/unicase/u8-is-casefolded: Likewise.
27014         * modules/unicase/u8-is-lowercase: Likewise.
27015         * modules/unicase/u8-is-titlecase: Likewise.
27016         * modules/unicase/u8-is-uppercase: Likewise.
27017         * modules/unicase/u8-prefix-context: Likewise.
27018         * modules/unicase/u8-suffix-context: Likewise.
27019         * modules/unicase/u8-tolower: Likewise.
27020         * modules/unicase/u8-totitle: Likewise.
27021         * modules/unicase/u8-toupper: Likewise.
27022         * modules/unicase/u16-casecmp: Likewise.
27023         * modules/unicase/u16-casecoll: Likewise.
27024         * modules/unicase/u16-casefold: Likewise.
27025         * modules/unicase/u16-casexfrm: Likewise.
27026         * modules/unicase/u16-ct-casefold: Likewise.
27027         * modules/unicase/u16-ct-tolower: Likewise.
27028         * modules/unicase/u16-ct-totitle: Likewise.
27029         * modules/unicase/u16-ct-toupper: Likewise.
27030         * modules/unicase/u16-is-cased: Likewise.
27031         * modules/unicase/u16-is-casefolded: Likewise.
27032         * modules/unicase/u16-is-lowercase: Likewise.
27033         * modules/unicase/u16-is-titlecase: Likewise.
27034         * modules/unicase/u16-is-uppercase: Likewise.
27035         * modules/unicase/u16-prefix-context: Likewise.
27036         * modules/unicase/u16-suffix-context: Likewise.
27037         * modules/unicase/u16-tolower: Likewise.
27038         * modules/unicase/u16-totitle: Likewise.
27039         * modules/unicase/u16-toupper: Likewise.
27040         * modules/unicase/u32-casecmp: Likewise.
27041         * modules/unicase/u32-casecoll: Likewise.
27042         * modules/unicase/u32-casefold: Likewise.
27043         * modules/unicase/u32-casexfrm: Likewise.
27044         * modules/unicase/u32-ct-casefold: Likewise.
27045         * modules/unicase/u32-ct-tolower: Likewise.
27046         * modules/unicase/u32-ct-totitle: Likewise.
27047         * modules/unicase/u32-ct-toupper: Likewise.
27048         * modules/unicase/u32-is-cased: Likewise.
27049         * modules/unicase/u32-is-casefolded: Likewise.
27050         * modules/unicase/u32-is-lowercase: Likewise.
27051         * modules/unicase/u32-is-titlecase: Likewise.
27052         * modules/unicase/u32-is-uppercase: Likewise.
27053         * modules/unicase/u32-prefix-context: Likewise.
27054         * modules/unicase/u32-suffix-context: Likewise.
27055         * modules/unicase/u32-tolower: Likewise.
27056         * modules/unicase/u32-totitle: Likewise.
27057         * modules/unicase/u32-toupper: Likewise.
27058         * modules/unicase/ulc-casecmp: Likewise.
27059         * modules/unicase/ulc-casecoll: Likewise.
27060         * modules/unicase/ulc-casexfrm: Likewise.
27061         * modules/uniconv/u8-conv-from-enc: Likewise.
27062         * modules/uniconv/u8-conv-to-enc: Likewise.
27063         * modules/uniconv/u8-strconv-from-enc: Likewise.
27064         * modules/uniconv/u8-strconv-from-locale: Likewise.
27065         * modules/uniconv/u8-strconv-to-enc: Likewise.
27066         * modules/uniconv/u8-strconv-to-locale: Likewise.
27067         * modules/uniconv/u16-conv-from-enc: Likewise.
27068         * modules/uniconv/u16-conv-to-enc: Likewise.
27069         * modules/uniconv/u16-strconv-from-enc: Likewise.
27070         * modules/uniconv/u16-strconv-from-locale: Likewise.
27071         * modules/uniconv/u16-strconv-to-enc: Likewise.
27072         * modules/uniconv/u16-strconv-to-locale: Likewise.
27073         * modules/uniconv/u32-conv-from-enc: Likewise.
27074         * modules/uniconv/u32-conv-to-enc: Likewise.
27075         * modules/uniconv/u32-strconv-from-enc: Likewise.
27076         * modules/uniconv/u32-strconv-from-locale: Likewise.
27077         * modules/uniconv/u32-strconv-to-enc: Likewise.
27078         * modules/uniconv/u32-strconv-to-locale: Likewise.
27079         * modules/unictype/bidicategory-byname: Likewise.
27080         * modules/unictype/bidicategory-name: Likewise.
27081         * modules/unictype/bidicategory-of: Likewise.
27082         * modules/unictype/bidicategory-test: Likewise.
27083         * modules/unictype/block-list: Likewise.
27084         * modules/unictype/block-test: Likewise.
27085         * modules/unictype/category-C: Likewise.
27086         * modules/unictype/category-Cc: Likewise.
27087         * modules/unictype/category-Cf: Likewise.
27088         * modules/unictype/category-Cn: Likewise.
27089         * modules/unictype/category-Co: Likewise.
27090         * modules/unictype/category-Cs: Likewise.
27091         * modules/unictype/category-L: Likewise.
27092         * modules/unictype/category-Ll: Likewise.
27093         * modules/unictype/category-Lm: Likewise.
27094         * modules/unictype/category-Lo: Likewise.
27095         * modules/unictype/category-Lt: Likewise.
27096         * modules/unictype/category-Lu: Likewise.
27097         * modules/unictype/category-M: Likewise.
27098         * modules/unictype/category-Mc: Likewise.
27099         * modules/unictype/category-Me: Likewise.
27100         * modules/unictype/category-Mn: Likewise.
27101         * modules/unictype/category-N: Likewise.
27102         * modules/unictype/category-Nd: Likewise.
27103         * modules/unictype/category-Nl: Likewise.
27104         * modules/unictype/category-No: Likewise.
27105         * modules/unictype/category-P: Likewise.
27106         * modules/unictype/category-Pc: Likewise.
27107         * modules/unictype/category-Pd: Likewise.
27108         * modules/unictype/category-Pe: Likewise.
27109         * modules/unictype/category-Pf: Likewise.
27110         * modules/unictype/category-Pi: Likewise.
27111         * modules/unictype/category-Po: Likewise.
27112         * modules/unictype/category-Ps: Likewise.
27113         * modules/unictype/category-S: Likewise.
27114         * modules/unictype/category-Sc: Likewise.
27115         * modules/unictype/category-Sk: Likewise.
27116         * modules/unictype/category-Sm: Likewise.
27117         * modules/unictype/category-So: Likewise.
27118         * modules/unictype/category-Z: Likewise.
27119         * modules/unictype/category-Zl: Likewise.
27120         * modules/unictype/category-Zp: Likewise.
27121         * modules/unictype/category-Zs: Likewise.
27122         * modules/unictype/category-and: Likewise.
27123         * modules/unictype/category-and-not: Likewise.
27124         * modules/unictype/category-byname: Likewise.
27125         * modules/unictype/category-name: Likewise.
27126         * modules/unictype/category-none: Likewise.
27127         * modules/unictype/category-of: Likewise.
27128         * modules/unictype/category-or: Likewise.
27129         * modules/unictype/category-test: Likewise.
27130         * modules/unictype/combining-class: Likewise.
27131         * modules/unictype/ctype-alnum: Likewise.
27132         * modules/unictype/ctype-alpha: Likewise.
27133         * modules/unictype/ctype-blank: Likewise.
27134         * modules/unictype/ctype-cntrl: Likewise.
27135         * modules/unictype/ctype-digit: Likewise.
27136         * modules/unictype/ctype-graph: Likewise.
27137         * modules/unictype/ctype-lower: Likewise.
27138         * modules/unictype/ctype-print: Likewise.
27139         * modules/unictype/ctype-punct: Likewise.
27140         * modules/unictype/ctype-space: Likewise.
27141         * modules/unictype/ctype-upper: Likewise.
27142         * modules/unictype/ctype-xdigit: Likewise.
27143         * modules/unictype/decimal-digit: Likewise.
27144         * modules/unictype/digit: Likewise.
27145         * modules/unictype/mirror: Likewise.
27146         * modules/unictype/numeric: Likewise.
27147         * modules/unictype/property-alphabetic: Likewise.
27148         * modules/unictype/property-ascii-hex-digit: Likewise.
27149         * modules/unictype/property-bidi-arabic-digit: Likewise.
27150         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
27151         * modules/unictype/property-bidi-block-separator: Likewise.
27152         * modules/unictype/property-bidi-boundary-neutral: Likewise.
27153         * modules/unictype/property-bidi-common-separator: Likewise.
27154         * modules/unictype/property-bidi-control: Likewise.
27155         * modules/unictype/property-bidi-embedding-or-override: Likewise.
27156         * modules/unictype/property-bidi-eur-num-separator: Likewise.
27157         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
27158         * modules/unictype/property-bidi-european-digit: Likewise.
27159         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
27160         * modules/unictype/property-bidi-left-to-right: Likewise.
27161         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
27162         * modules/unictype/property-bidi-other-neutral: Likewise.
27163         * modules/unictype/property-bidi-pdf: Likewise.
27164         * modules/unictype/property-bidi-segment-separator: Likewise.
27165         * modules/unictype/property-bidi-whitespace: Likewise.
27166         * modules/unictype/property-byname: Likewise.
27167         * modules/unictype/property-combining: Likewise.
27168         * modules/unictype/property-composite: Likewise.
27169         * modules/unictype/property-currency-symbol: Likewise.
27170         * modules/unictype/property-dash: Likewise.
27171         * modules/unictype/property-decimal-digit: Likewise.
27172         * modules/unictype/property-default-ignorable-code-point: Likewise.
27173         * modules/unictype/property-deprecated: Likewise.
27174         * modules/unictype/property-diacritic: Likewise.
27175         * modules/unictype/property-extender: Likewise.
27176         * modules/unictype/property-format-control: Likewise.
27177         * modules/unictype/property-grapheme-base: Likewise.
27178         * modules/unictype/property-grapheme-extend: Likewise.
27179         * modules/unictype/property-grapheme-link: Likewise.
27180         * modules/unictype/property-hex-digit: Likewise.
27181         * modules/unictype/property-hyphen: Likewise.
27182         * modules/unictype/property-id-continue: Likewise.
27183         * modules/unictype/property-id-start: Likewise.
27184         * modules/unictype/property-ideographic: Likewise.
27185         * modules/unictype/property-ids-binary-operator: Likewise.
27186         * modules/unictype/property-ids-trinary-operator: Likewise.
27187         * modules/unictype/property-ignorable-control: Likewise.
27188         * modules/unictype/property-iso-control: Likewise.
27189         * modules/unictype/property-join-control: Likewise.
27190         * modules/unictype/property-left-of-pair: Likewise.
27191         * modules/unictype/property-line-separator: Likewise.
27192         * modules/unictype/property-logical-order-exception: Likewise.
27193         * modules/unictype/property-lowercase: Likewise.
27194         * modules/unictype/property-math: Likewise.
27195         * modules/unictype/property-non-break: Likewise.
27196         * modules/unictype/property-not-a-character: Likewise.
27197         * modules/unictype/property-numeric: Likewise.
27198         * modules/unictype/property-other-alphabetic: Likewise.
27199         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
27200         * modules/unictype/property-other-grapheme-extend: Likewise.
27201         * modules/unictype/property-other-id-continue: Likewise.
27202         * modules/unictype/property-other-id-start: Likewise.
27203         * modules/unictype/property-other-lowercase: Likewise.
27204         * modules/unictype/property-other-math: Likewise.
27205         * modules/unictype/property-other-uppercase: Likewise.
27206         * modules/unictype/property-paired-punctuation: Likewise.
27207         * modules/unictype/property-paragraph-separator: Likewise.
27208         * modules/unictype/property-pattern-syntax: Likewise.
27209         * modules/unictype/property-pattern-white-space: Likewise.
27210         * modules/unictype/property-private-use: Likewise.
27211         * modules/unictype/property-punctuation: Likewise.
27212         * modules/unictype/property-quotation-mark: Likewise.
27213         * modules/unictype/property-radical: Likewise.
27214         * modules/unictype/property-sentence-terminal: Likewise.
27215         * modules/unictype/property-soft-dotted: Likewise.
27216         * modules/unictype/property-space: Likewise.
27217         * modules/unictype/property-terminal-punctuation: Likewise.
27218         * modules/unictype/property-test: Likewise.
27219         * modules/unictype/property-titlecase: Likewise.
27220         * modules/unictype/property-unassigned-code-value: Likewise.
27221         * modules/unictype/property-unified-ideograph: Likewise.
27222         * modules/unictype/property-uppercase: Likewise.
27223         * modules/unictype/property-variation-selector: Likewise.
27224         * modules/unictype/property-white-space: Likewise.
27225         * modules/unictype/property-xid-continue: Likewise.
27226         * modules/unictype/property-xid-start: Likewise.
27227         * modules/unictype/property-zero-width: Likewise.
27228         * modules/unictype/scripts: Likewise.
27229         * modules/unictype/syntax-c-ident: Likewise.
27230         * modules/unictype/syntax-c-whitespace: Likewise.
27231         * modules/unictype/syntax-java-ident: Likewise.
27232         * modules/unictype/syntax-java-whitespace: Likewise.
27233         * modules/unilbrk/u8-possible-linebreaks: Likewise.
27234         * modules/unilbrk/u8-width-linebreaks: Likewise.
27235         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27236         * modules/unilbrk/u16-width-linebreaks: Likewise.
27237         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27238         * modules/unilbrk/u32-width-linebreaks: Likewise.
27239         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27240         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27241         * modules/uniname/uniname: Likewise.
27242         * modules/uninorm/canonical-decomposition: Likewise.
27243         * modules/uninorm/composition: Likewise.
27244         * modules/uninorm/decomposing-form: Likewise.
27245         * modules/uninorm/decomposition: Likewise.
27246         * modules/uninorm/filter: Likewise.
27247         * modules/uninorm/nfc: Likewise.
27248         * modules/uninorm/nfd: Likewise.
27249         * modules/uninorm/nfkc: Likewise.
27250         * modules/uninorm/nfkd: Likewise.
27251         * modules/uninorm/u8-normalize: Likewise.
27252         * modules/uninorm/u8-normcmp: Likewise.
27253         * modules/uninorm/u8-normcoll: Likewise.
27254         * modules/uninorm/u8-normxfrm: Likewise.
27255         * modules/uninorm/u16-normalize: Likewise.
27256         * modules/uninorm/u16-normcmp: Likewise.
27257         * modules/uninorm/u16-normcoll: Likewise.
27258         * modules/uninorm/u16-normxfrm: Likewise.
27259         * modules/uninorm/u32-normalize: Likewise.
27260         * modules/uninorm/u32-normcmp: Likewise.
27261         * modules/uninorm/u32-normcoll: Likewise.
27262         * modules/uninorm/u32-normxfrm: Likewise.
27263         * modules/unistdio/u8-asnprintf: Likewise.
27264         * modules/unistdio/u8-asprintf: Likewise.
27265         * modules/unistdio/u8-snprintf: Likewise.
27266         * modules/unistdio/u8-sprintf: Likewise.
27267         * modules/unistdio/u8-u8-asnprintf: Likewise.
27268         * modules/unistdio/u8-u8-asprintf: Likewise.
27269         * modules/unistdio/u8-u8-snprintf: Likewise.
27270         * modules/unistdio/u8-u8-sprintf: Likewise.
27271         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27272         * modules/unistdio/u8-u8-vasprintf: Likewise.
27273         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27274         * modules/unistdio/u8-u8-vsprintf: Likewise.
27275         * modules/unistdio/u8-vasnprintf: Likewise.
27276         * modules/unistdio/u8-vasprintf: Likewise.
27277         * modules/unistdio/u8-vsnprintf: Likewise.
27278         * modules/unistdio/u8-vsprintf: Likewise.
27279         * modules/unistdio/u16-asnprintf: Likewise.
27280         * modules/unistdio/u16-asprintf: Likewise.
27281         * modules/unistdio/u16-snprintf: Likewise.
27282         * modules/unistdio/u16-sprintf: Likewise.
27283         * modules/unistdio/u16-u16-asnprintf: Likewise.
27284         * modules/unistdio/u16-u16-asprintf: Likewise.
27285         * modules/unistdio/u16-u16-snprintf: Likewise.
27286         * modules/unistdio/u16-u16-sprintf: Likewise.
27287         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27288         * modules/unistdio/u16-u16-vasprintf: Likewise.
27289         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27290         * modules/unistdio/u16-u16-vsprintf: Likewise.
27291         * modules/unistdio/u16-vasnprintf: Likewise.
27292         * modules/unistdio/u16-vasprintf: Likewise.
27293         * modules/unistdio/u16-vsnprintf: Likewise.
27294         * modules/unistdio/u16-vsprintf: Likewise.
27295         * modules/unistdio/u32-asnprintf: Likewise.
27296         * modules/unistdio/u32-asprintf: Likewise.
27297         * modules/unistdio/u32-snprintf: Likewise.
27298         * modules/unistdio/u32-sprintf: Likewise.
27299         * modules/unistdio/u32-u32-asnprintf: Likewise.
27300         * modules/unistdio/u32-u32-asprintf: Likewise.
27301         * modules/unistdio/u32-u32-snprintf: Likewise.
27302         * modules/unistdio/u32-u32-sprintf: Likewise.
27303         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27304         * modules/unistdio/u32-u32-vasprintf: Likewise.
27305         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27306         * modules/unistdio/u32-u32-vsprintf: Likewise.
27307         * modules/unistdio/u32-vasnprintf: Likewise.
27308         * modules/unistdio/u32-vasprintf: Likewise.
27309         * modules/unistdio/u32-vsnprintf: Likewise.
27310         * modules/unistdio/u32-vsprintf: Likewise.
27311         * modules/unistdio/ulc-asnprintf: Likewise.
27312         * modules/unistdio/ulc-asprintf: Likewise.
27313         * modules/unistdio/ulc-fprintf: Likewise.
27314         * modules/unistdio/ulc-snprintf: Likewise.
27315         * modules/unistdio/ulc-sprintf: Likewise.
27316         * modules/unistdio/ulc-vasnprintf: Likewise.
27317         * modules/unistdio/ulc-vasprintf: Likewise.
27318         * modules/unistdio/ulc-vfprintf: Likewise.
27319         * modules/unistdio/ulc-vsnprintf: Likewise.
27320         * modules/unistdio/ulc-vsprintf: Likewise.
27321         * modules/unistr/u8-check: Likewise.
27322         * modules/unistr/u8-chr: Likewise.
27323         * modules/unistr/u8-cmp: Likewise.
27324         * modules/unistr/u8-cmp2: Likewise.
27325         * modules/unistr/u8-cpy: Likewise.
27326         * modules/unistr/u8-cpy-alloc: Likewise.
27327         * modules/unistr/u8-endswith: Likewise.
27328         * modules/unistr/u8-mblen: Likewise.
27329         * modules/unistr/u8-mbsnlen: Likewise.
27330         * modules/unistr/u8-mbtouc: Likewise.
27331         * modules/unistr/u8-mbtouc-unsafe: Likewise.
27332         * modules/unistr/u8-mbtoucr: Likewise.
27333         * modules/unistr/u8-move: Likewise.
27334         * modules/unistr/u8-next: Likewise.
27335         * modules/unistr/u8-prev: Likewise.
27336         * modules/unistr/u8-set: Likewise.
27337         * modules/unistr/u8-startswith: Likewise.
27338         * modules/unistr/u8-stpcpy: Likewise.
27339         * modules/unistr/u8-stpncpy: Likewise.
27340         * modules/unistr/u8-strcat: Likewise.
27341         * modules/unistr/u8-strchr: Likewise.
27342         * modules/unistr/u8-strcmp: Likewise.
27343         * modules/unistr/u8-strcoll: Likewise.
27344         * modules/unistr/u8-strcpy: Likewise.
27345         * modules/unistr/u8-strcspn: Likewise.
27346         * modules/unistr/u8-strdup: Likewise.
27347         * modules/unistr/u8-strlen: Likewise.
27348         * modules/unistr/u8-strmblen: Likewise.
27349         * modules/unistr/u8-strmbtouc: Likewise.
27350         * modules/unistr/u8-strncat: Likewise.
27351         * modules/unistr/u8-strncmp: Likewise.
27352         * modules/unistr/u8-strncpy: Likewise.
27353         * modules/unistr/u8-strnlen: Likewise.
27354         * modules/unistr/u8-strpbrk: Likewise.
27355         * modules/unistr/u8-strrchr: Likewise.
27356         * modules/unistr/u8-strspn: Likewise.
27357         * modules/unistr/u8-strstr: Likewise.
27358         * modules/unistr/u8-strtok: Likewise.
27359         * modules/unistr/u8-to-u16: Likewise.
27360         * modules/unistr/u8-to-u32: Likewise.
27361         * modules/unistr/u8-uctomb: Likewise.
27362         * modules/unistr/u16-check: Likewise.
27363         * modules/unistr/u16-chr: Likewise.
27364         * modules/unistr/u16-cmp: Likewise.
27365         * modules/unistr/u16-cmp2: Likewise.
27366         * modules/unistr/u16-cpy: Likewise.
27367         * modules/unistr/u16-cpy-alloc: Likewise.
27368         * modules/unistr/u16-endswith: Likewise.
27369         * modules/unistr/u16-mblen: Likewise.
27370         * modules/unistr/u16-mbsnlen: Likewise.
27371         * modules/unistr/u16-mbtouc: Likewise.
27372         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27373         * modules/unistr/u16-mbtoucr: Likewise.
27374         * modules/unistr/u16-move: Likewise.
27375         * modules/unistr/u16-next: Likewise.
27376         * modules/unistr/u16-prev: Likewise.
27377         * modules/unistr/u16-set: Likewise.
27378         * modules/unistr/u16-startswith: Likewise.
27379         * modules/unistr/u16-stpcpy: Likewise.
27380         * modules/unistr/u16-stpncpy: Likewise.
27381         * modules/unistr/u16-strcat: Likewise.
27382         * modules/unistr/u16-strchr: Likewise.
27383         * modules/unistr/u16-strcmp: Likewise.
27384         * modules/unistr/u16-strcoll: Likewise.
27385         * modules/unistr/u16-strcpy: Likewise.
27386         * modules/unistr/u16-strcspn: Likewise.
27387         * modules/unistr/u16-strdup: Likewise.
27388         * modules/unistr/u16-strlen: Likewise.
27389         * modules/unistr/u16-strmblen: Likewise.
27390         * modules/unistr/u16-strmbtouc: Likewise.
27391         * modules/unistr/u16-strncat: Likewise.
27392         * modules/unistr/u16-strncmp: Likewise.
27393         * modules/unistr/u16-strncpy: Likewise.
27394         * modules/unistr/u16-strnlen: Likewise.
27395         * modules/unistr/u16-strpbrk: Likewise.
27396         * modules/unistr/u16-strrchr: Likewise.
27397         * modules/unistr/u16-strspn: Likewise.
27398         * modules/unistr/u16-strstr: Likewise.
27399         * modules/unistr/u16-strtok: Likewise.
27400         * modules/unistr/u16-to-u32: Likewise.
27401         * modules/unistr/u16-to-u8: Likewise.
27402         * modules/unistr/u16-uctomb: Likewise.
27403         * modules/unistr/u32-check: Likewise.
27404         * modules/unistr/u32-chr: Likewise.
27405         * modules/unistr/u32-cmp: Likewise.
27406         * modules/unistr/u32-cmp2: Likewise.
27407         * modules/unistr/u32-cpy: Likewise.
27408         * modules/unistr/u32-cpy-alloc: Likewise.
27409         * modules/unistr/u32-endswith: Likewise.
27410         * modules/unistr/u32-mblen: Likewise.
27411         * modules/unistr/u32-mbsnlen: Likewise.
27412         * modules/unistr/u32-mbtouc: Likewise.
27413         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27414         * modules/unistr/u32-mbtoucr: Likewise.
27415         * modules/unistr/u32-move: Likewise.
27416         * modules/unistr/u32-next: Likewise.
27417         * modules/unistr/u32-prev: Likewise.
27418         * modules/unistr/u32-set: Likewise.
27419         * modules/unistr/u32-startswith: Likewise.
27420         * modules/unistr/u32-stpcpy: Likewise.
27421         * modules/unistr/u32-stpncpy: Likewise.
27422         * modules/unistr/u32-strcat: Likewise.
27423         * modules/unistr/u32-strchr: Likewise.
27424         * modules/unistr/u32-strcmp: Likewise.
27425         * modules/unistr/u32-strcoll: Likewise.
27426         * modules/unistr/u32-strcpy: Likewise.
27427         * modules/unistr/u32-strcspn: Likewise.
27428         * modules/unistr/u32-strdup: Likewise.
27429         * modules/unistr/u32-strlen: Likewise.
27430         * modules/unistr/u32-strmblen: Likewise.
27431         * modules/unistr/u32-strmbtouc: Likewise.
27432         * modules/unistr/u32-strncat: Likewise.
27433         * modules/unistr/u32-strncmp: Likewise.
27434         * modules/unistr/u32-strncpy: Likewise.
27435         * modules/unistr/u32-strnlen: Likewise.
27436         * modules/unistr/u32-strpbrk: Likewise.
27437         * modules/unistr/u32-strrchr: Likewise.
27438         * modules/unistr/u32-strspn: Likewise.
27439         * modules/unistr/u32-strstr: Likewise.
27440         * modules/unistr/u32-strtok: Likewise.
27441         * modules/unistr/u32-to-u16: Likewise.
27442         * modules/unistr/u32-to-u8: Likewise.
27443         * modules/unistr/u32-uctomb: Likewise.
27444         * modules/uniwbrk/u8-wordbreaks: Likewise.
27445         * modules/uniwbrk/u16-wordbreaks: Likewise.
27446         * modules/uniwbrk/u32-wordbreaks: Likewise.
27447         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27448         * modules/uniwbrk/wordbreak-property: Likewise.
27449         * modules/uniwidth/u8-strwidth: Likewise.
27450         * modules/uniwidth/u8-width: Likewise.
27451         * modules/uniwidth/u16-strwidth: Likewise.
27452         * modules/uniwidth/u16-width: Likewise.
27453         * modules/uniwidth/u32-strwidth: Likewise.
27454         * modules/uniwidth/u32-width: Likewise.
27455         * modules/uniwidth/width: Likewise.
27456         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27457         with $(LIBUNISTRING).
27458         * modules/unicase/ignorable-tests: Likewise.
27459         * modules/unicase/locale-language-tests: Likewise.
27460         * modules/unicase/tolower-tests: Likewise.
27461         * modules/unicase/totitle-tests: Likewise.
27462         * modules/unicase/toupper-tests: Likewise.
27463         * modules/unicase/u8-casecmp-tests: Likewise.
27464         * modules/unicase/u8-casecoll-tests: Likewise.
27465         * modules/unicase/u8-casefold-tests: Likewise.
27466         * modules/unicase/u8-is-cased-tests: Likewise.
27467         * modules/unicase/u8-is-casefolded-tests: Likewise.
27468         * modules/unicase/u8-is-lowercase-tests: Likewise.
27469         * modules/unicase/u8-is-titlecase-tests: Likewise.
27470         * modules/unicase/u8-is-uppercase-tests: Likewise.
27471         * modules/unicase/u8-tolower-tests: Likewise.
27472         * modules/unicase/u8-totitle-tests: Likewise.
27473         * modules/unicase/u8-toupper-tests: Likewise.
27474         * modules/unicase/u16-casecmp-tests: Likewise.
27475         * modules/unicase/u16-casecoll-tests: Likewise.
27476         * modules/unicase/u16-casefold-tests: Likewise.
27477         * modules/unicase/u16-is-cased-tests: Likewise.
27478         * modules/unicase/u16-is-casefolded-tests: Likewise.
27479         * modules/unicase/u16-is-lowercase-tests: Likewise.
27480         * modules/unicase/u16-is-titlecase-tests: Likewise.
27481         * modules/unicase/u16-is-uppercase-tests: Likewise.
27482         * modules/unicase/u16-tolower-tests: Likewise.
27483         * modules/unicase/u16-totitle-tests: Likewise.
27484         * modules/unicase/u16-toupper-tests: Likewise.
27485         * modules/unicase/u32-casecmp-tests: Likewise.
27486         * modules/unicase/u32-casecoll-tests: Likewise.
27487         * modules/unicase/u32-casefold-tests: Likewise.
27488         * modules/unicase/u32-is-cased-tests: Likewise.
27489         * modules/unicase/u32-is-casefolded-tests: Likewise.
27490         * modules/unicase/u32-is-lowercase-tests: Likewise.
27491         * modules/unicase/u32-is-titlecase-tests: Likewise.
27492         * modules/unicase/u32-is-uppercase-tests: Likewise.
27493         * modules/unicase/u32-tolower-tests: Likewise.
27494         * modules/unicase/u32-totitle-tests: Likewise.
27495         * modules/unicase/u32-toupper-tests: Likewise.
27496         * modules/unicase/ulc-casecmp-tests: Likewise.
27497         * modules/unicase/ulc-casecoll-tests: Likewise.
27498         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27499         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27500         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27501         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27502         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27503         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27504         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27505         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27506         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27507         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27508         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27509         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27510         * modules/unictype/bidicategory-byname-tests: Likewise.
27511         * modules/unictype/bidicategory-name-tests: Likewise.
27512         * modules/unictype/bidicategory-of-tests: Likewise.
27513         * modules/unictype/bidicategory-test-tests: Likewise.
27514         * modules/unictype/block-list-tests: Likewise.
27515         * modules/unictype/block-of-tests: Likewise.
27516         * modules/unictype/block-test-tests: Likewise.
27517         * modules/unictype/category-C-tests: Likewise.
27518         * modules/unictype/category-Cc-tests: Likewise.
27519         * modules/unictype/category-Cf-tests: Likewise.
27520         * modules/unictype/category-Cn-tests: Likewise.
27521         * modules/unictype/category-Co-tests: Likewise.
27522         * modules/unictype/category-Cs-tests: Likewise.
27523         * modules/unictype/category-L-tests: Likewise.
27524         * modules/unictype/category-Ll-tests: Likewise.
27525         * modules/unictype/category-Lm-tests: Likewise.
27526         * modules/unictype/category-Lo-tests: Likewise.
27527         * modules/unictype/category-Lt-tests: Likewise.
27528         * modules/unictype/category-Lu-tests: Likewise.
27529         * modules/unictype/category-M-tests: Likewise.
27530         * modules/unictype/category-Mc-tests: Likewise.
27531         * modules/unictype/category-Me-tests: Likewise.
27532         * modules/unictype/category-Mn-tests: Likewise.
27533         * modules/unictype/category-N-tests: Likewise.
27534         * modules/unictype/category-Nd-tests: Likewise.
27535         * modules/unictype/category-Nl-tests: Likewise.
27536         * modules/unictype/category-No-tests: Likewise.
27537         * modules/unictype/category-P-tests: Likewise.
27538         * modules/unictype/category-Pc-tests: Likewise.
27539         * modules/unictype/category-Pd-tests: Likewise.
27540         * modules/unictype/category-Pe-tests: Likewise.
27541         * modules/unictype/category-Pf-tests: Likewise.
27542         * modules/unictype/category-Pi-tests: Likewise.
27543         * modules/unictype/category-Po-tests: Likewise.
27544         * modules/unictype/category-Ps-tests: Likewise.
27545         * modules/unictype/category-S-tests: Likewise.
27546         * modules/unictype/category-Sc-tests: Likewise.
27547         * modules/unictype/category-Sk-tests: Likewise.
27548         * modules/unictype/category-Sm-tests: Likewise.
27549         * modules/unictype/category-So-tests: Likewise.
27550         * modules/unictype/category-Z-tests: Likewise.
27551         * modules/unictype/category-Zl-tests: Likewise.
27552         * modules/unictype/category-Zp-tests: Likewise.
27553         * modules/unictype/category-Zs-tests: Likewise.
27554         * modules/unictype/category-and-not-tests: Likewise.
27555         * modules/unictype/category-and-tests: Likewise.
27556         * modules/unictype/category-byname-tests: Likewise.
27557         * modules/unictype/category-name-tests: Likewise.
27558         * modules/unictype/category-none-tests: Likewise.
27559         * modules/unictype/category-of-tests: Likewise.
27560         * modules/unictype/category-or-tests: Likewise.
27561         * modules/unictype/category-test-withtable-tests: Likewise.
27562         * modules/unictype/combining-class-tests: Likewise.
27563         * modules/unictype/ctype-alnum-tests: Likewise.
27564         * modules/unictype/ctype-alpha-tests: Likewise.
27565         * modules/unictype/ctype-blank-tests: Likewise.
27566         * modules/unictype/ctype-cntrl-tests: Likewise.
27567         * modules/unictype/ctype-digit-tests: Likewise.
27568         * modules/unictype/ctype-graph-tests: Likewise.
27569         * modules/unictype/ctype-lower-tests: Likewise.
27570         * modules/unictype/ctype-print-tests: Likewise.
27571         * modules/unictype/ctype-punct-tests: Likewise.
27572         * modules/unictype/ctype-space-tests: Likewise.
27573         * modules/unictype/ctype-upper-tests: Likewise.
27574         * modules/unictype/ctype-xdigit-tests: Likewise.
27575         * modules/unictype/decimal-digit-tests: Likewise.
27576         * modules/unictype/digit-tests: Likewise.
27577         * modules/unictype/mirror-tests: Likewise.
27578         * modules/unictype/numeric-tests: Likewise.
27579         * modules/unictype/property-alphabetic-tests: Likewise.
27580         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27581         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27582         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27583         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27584         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27585         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27586         * modules/unictype/property-bidi-control-tests: Likewise.
27587         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27588         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27589         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27590         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27591         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27592         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27593         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27594         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27595         * modules/unictype/property-bidi-pdf-tests: Likewise.
27596         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27597         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27598         * modules/unictype/property-byname-tests: Likewise.
27599         * modules/unictype/property-combining-tests: Likewise.
27600         * modules/unictype/property-composite-tests: Likewise.
27601         * modules/unictype/property-currency-symbol-tests: Likewise.
27602         * modules/unictype/property-dash-tests: Likewise.
27603         * modules/unictype/property-decimal-digit-tests: Likewise.
27604         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27605         * modules/unictype/property-deprecated-tests: Likewise.
27606         * modules/unictype/property-diacritic-tests: Likewise.
27607         * modules/unictype/property-extender-tests: Likewise.
27608         * modules/unictype/property-format-control-tests: Likewise.
27609         * modules/unictype/property-grapheme-base-tests: Likewise.
27610         * modules/unictype/property-grapheme-extend-tests: Likewise.
27611         * modules/unictype/property-grapheme-link-tests: Likewise.
27612         * modules/unictype/property-hex-digit-tests: Likewise.
27613         * modules/unictype/property-hyphen-tests: Likewise.
27614         * modules/unictype/property-id-continue-tests: Likewise.
27615         * modules/unictype/property-id-start-tests: Likewise.
27616         * modules/unictype/property-ideographic-tests: Likewise.
27617         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27618         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27619         * modules/unictype/property-ignorable-control-tests: Likewise.
27620         * modules/unictype/property-iso-control-tests: Likewise.
27621         * modules/unictype/property-join-control-tests: Likewise.
27622         * modules/unictype/property-left-of-pair-tests: Likewise.
27623         * modules/unictype/property-line-separator-tests: Likewise.
27624         * modules/unictype/property-logical-order-exception-tests: Likewise.
27625         * modules/unictype/property-lowercase-tests: Likewise.
27626         * modules/unictype/property-math-tests: Likewise.
27627         * modules/unictype/property-non-break-tests: Likewise.
27628         * modules/unictype/property-not-a-character-tests: Likewise.
27629         * modules/unictype/property-numeric-tests: Likewise.
27630         * modules/unictype/property-other-alphabetic-tests: Likewise.
27631         * modules/unictype/property-other-default-ignorable-code-point-tests:
27632         Likewise.
27633         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27634         * modules/unictype/property-other-id-continue-tests: Likewise.
27635         * modules/unictype/property-other-id-start-tests: Likewise.
27636         * modules/unictype/property-other-lowercase-tests: Likewise.
27637         * modules/unictype/property-other-math-tests: Likewise.
27638         * modules/unictype/property-other-uppercase-tests: Likewise.
27639         * modules/unictype/property-paired-punctuation-tests: Likewise.
27640         * modules/unictype/property-paragraph-separator-tests: Likewise.
27641         * modules/unictype/property-pattern-syntax-tests: Likewise.
27642         * modules/unictype/property-pattern-white-space-tests: Likewise.
27643         * modules/unictype/property-private-use-tests: Likewise.
27644         * modules/unictype/property-punctuation-tests: Likewise.
27645         * modules/unictype/property-quotation-mark-tests: Likewise.
27646         * modules/unictype/property-radical-tests: Likewise.
27647         * modules/unictype/property-sentence-terminal-tests: Likewise.
27648         * modules/unictype/property-soft-dotted-tests: Likewise.
27649         * modules/unictype/property-space-tests: Likewise.
27650         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27651         * modules/unictype/property-test-tests: Likewise.
27652         * modules/unictype/property-titlecase-tests: Likewise.
27653         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27654         * modules/unictype/property-unified-ideograph-tests: Likewise.
27655         * modules/unictype/property-uppercase-tests: Likewise.
27656         * modules/unictype/property-variation-selector-tests: Likewise.
27657         * modules/unictype/property-white-space-tests: Likewise.
27658         * modules/unictype/property-xid-continue-tests: Likewise.
27659         * modules/unictype/property-xid-start-tests: Likewise.
27660         * modules/unictype/property-zero-width-tests: Likewise.
27661         * modules/unictype/scripts-tests: Likewise.
27662         * modules/unictype/syntax-c-ident-tests: Likewise.
27663         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27664         * modules/unictype/syntax-java-ident-tests: Likewise.
27665         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27666         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27667         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27668         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27669         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27670         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27671         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27672         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27673         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27674         * modules/uniname/uniname-tests: Likewise.
27675         * modules/uninorm/canonical-decomposition-tests: Likewise.
27676         * modules/uninorm/compat-decomposition-tests: Likewise.
27677         * modules/uninorm/composition-tests: Likewise.
27678         * modules/uninorm/decomposing-form-tests: Likewise.
27679         * modules/uninorm/decomposition-tests: Likewise.
27680         * modules/uninorm/filter-tests: Likewise.
27681         * modules/uninorm/nfc-tests: Likewise.
27682         * modules/uninorm/nfd-tests: Likewise.
27683         * modules/uninorm/nfkc-tests: Likewise.
27684         * modules/uninorm/nfkd-tests: Likewise.
27685         * modules/uninorm/u8-normcmp-tests: Likewise.
27686         * modules/uninorm/u8-normcoll-tests: Likewise.
27687         * modules/uninorm/u16-normcmp-tests: Likewise.
27688         * modules/uninorm/u16-normcoll-tests: Likewise.
27689         * modules/uninorm/u32-normcmp-tests: Likewise.
27690         * modules/uninorm/u32-normcoll-tests: Likewise.
27691         * modules/unistdio/u8-asnprintf-tests: Likewise.
27692         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27693         * modules/unistdio/u8-vasprintf-tests: Likewise.
27694         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27695         * modules/unistdio/u8-vsprintf-tests: Likewise.
27696         * modules/unistdio/u16-asnprintf-tests: Likewise.
27697         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27698         * modules/unistdio/u16-vasprintf-tests: Likewise.
27699         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27700         * modules/unistdio/u16-vsprintf-tests: Likewise.
27701         * modules/unistdio/u32-asnprintf-tests: Likewise.
27702         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27703         * modules/unistdio/u32-vasprintf-tests: Likewise.
27704         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27705         * modules/unistdio/u32-vsprintf-tests: Likewise.
27706         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27707         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27708         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27709         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27710         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27711         * modules/unistr/u8-check-tests: Likewise.
27712         * modules/unistr/u8-chr-tests: Likewise.
27713         * modules/unistr/u8-cmp-tests: Likewise.
27714         * modules/unistr/u8-cmp2-tests: Likewise.
27715         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27716         * modules/unistr/u8-cpy-tests: Likewise.
27717         * modules/unistr/u8-mblen-tests: Likewise.
27718         * modules/unistr/u8-mbsnlen-tests: Likewise.
27719         * modules/unistr/u8-mbtouc-tests: Likewise.
27720         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27721         * modules/unistr/u8-mbtoucr-tests: Likewise.
27722         * modules/unistr/u8-move-tests: Likewise.
27723         * modules/unistr/u8-next-tests: Likewise.
27724         * modules/unistr/u8-prev-tests: Likewise.
27725         * modules/unistr/u8-set-tests: Likewise.
27726         * modules/unistr/u8-stpcpy-tests: Likewise.
27727         * modules/unistr/u8-stpncpy-tests: Likewise.
27728         * modules/unistr/u8-strcat-tests: Likewise.
27729         * modules/unistr/u8-strcmp-tests: Likewise.
27730         * modules/unistr/u8-strcoll-tests: Likewise.
27731         * modules/unistr/u8-strcpy-tests: Likewise.
27732         * modules/unistr/u8-strdup-tests: Likewise.
27733         * modules/unistr/u8-strlen-tests: Likewise.
27734         * modules/unistr/u8-strmblen-tests: Likewise.
27735         * modules/unistr/u8-strmbtouc-tests: Likewise.
27736         * modules/unistr/u8-strncat-tests: Likewise.
27737         * modules/unistr/u8-strncmp-tests: Likewise.
27738         * modules/unistr/u8-strncpy-tests: Likewise.
27739         * modules/unistr/u8-strnlen-tests: Likewise.
27740         * modules/unistr/u8-to-u16-tests: Likewise.
27741         * modules/unistr/u8-to-u32-tests: Likewise.
27742         * modules/unistr/u8-uctomb-tests: Likewise.
27743         * modules/unistr/u16-check-tests: Likewise.
27744         * modules/unistr/u16-chr-tests: Likewise.
27745         * modules/unistr/u16-cmp-tests: Likewise.
27746         * modules/unistr/u16-cmp2-tests: Likewise.
27747         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27748         * modules/unistr/u16-cpy-tests: Likewise.
27749         * modules/unistr/u16-mblen-tests: Likewise.
27750         * modules/unistr/u16-mbsnlen-tests: Likewise.
27751         * modules/unistr/u16-mbtouc-tests: Likewise.
27752         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27753         * modules/unistr/u16-mbtoucr-tests: Likewise.
27754         * modules/unistr/u16-move-tests: Likewise.
27755         * modules/unistr/u16-next-tests: Likewise.
27756         * modules/unistr/u16-prev-tests: Likewise.
27757         * modules/unistr/u16-set-tests: Likewise.
27758         * modules/unistr/u16-stpcpy-tests: Likewise.
27759         * modules/unistr/u16-stpncpy-tests: Likewise.
27760         * modules/unistr/u16-strcat-tests: Likewise.
27761         * modules/unistr/u16-strcmp-tests: Likewise.
27762         * modules/unistr/u16-strcoll-tests: Likewise.
27763         * modules/unistr/u16-strcpy-tests: Likewise.
27764         * modules/unistr/u16-strdup-tests: Likewise.
27765         * modules/unistr/u16-strlen-tests: Likewise.
27766         * modules/unistr/u16-strmblen-tests: Likewise.
27767         * modules/unistr/u16-strmbtouc-tests: Likewise.
27768         * modules/unistr/u16-strncat-tests: Likewise.
27769         * modules/unistr/u16-strncmp-tests: Likewise.
27770         * modules/unistr/u16-strncpy-tests: Likewise.
27771         * modules/unistr/u16-strnlen-tests: Likewise.
27772         * modules/unistr/u16-to-u32-tests: Likewise.
27773         * modules/unistr/u16-to-u8-tests: Likewise.
27774         * modules/unistr/u16-uctomb-tests: Likewise.
27775         * modules/unistr/u32-check-tests: Likewise.
27776         * modules/unistr/u32-chr-tests: Likewise.
27777         * modules/unistr/u32-cmp-tests: Likewise.
27778         * modules/unistr/u32-cmp2-tests: Likewise.
27779         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27780         * modules/unistr/u32-cpy-tests: Likewise.
27781         * modules/unistr/u32-mblen-tests: Likewise.
27782         * modules/unistr/u32-mbsnlen-tests: Likewise.
27783         * modules/unistr/u32-mbtouc-tests: Likewise.
27784         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27785         * modules/unistr/u32-mbtoucr-tests: Likewise.
27786         * modules/unistr/u32-move-tests: Likewise.
27787         * modules/unistr/u32-next-tests: Likewise.
27788         * modules/unistr/u32-prev-tests: Likewise.
27789         * modules/unistr/u32-set-tests: Likewise.
27790         * modules/unistr/u32-stpcpy-tests: Likewise.
27791         * modules/unistr/u32-stpncpy-tests: Likewise.
27792         * modules/unistr/u32-strcat-tests: Likewise.
27793         * modules/unistr/u32-strcmp-tests: Likewise.
27794         * modules/unistr/u32-strcoll-tests: Likewise.
27795         * modules/unistr/u32-strcpy-tests: Likewise.
27796         * modules/unistr/u32-strdup-tests: Likewise.
27797         * modules/unistr/u32-strlen-tests: Likewise.
27798         * modules/unistr/u32-strmblen-tests: Likewise.
27799         * modules/unistr/u32-strmbtouc-tests: Likewise.
27800         * modules/unistr/u32-strncat-tests: Likewise.
27801         * modules/unistr/u32-strncmp-tests: Likewise.
27802         * modules/unistr/u32-strncpy-tests: Likewise.
27803         * modules/unistr/u32-strnlen-tests: Likewise.
27804         * modules/unistr/u32-to-u16-tests: Likewise.
27805         * modules/unistr/u32-to-u8-tests: Likewise.
27806         * modules/unistr/u32-uctomb-tests: Likewise.
27807         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27808         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27809         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27810         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27811         * modules/uniwidth/u8-strwidth-tests: Likewise.
27812         * modules/uniwidth/u8-width-tests: Likewise.
27813         * modules/uniwidth/u16-strwidth-tests: Likewise.
27814         * modules/uniwidth/u16-width-tests: Likewise.
27815         * modules/uniwidth/u32-strwidth-tests: Likewise.
27816         * modules/uniwidth/u32-width-tests: Likewise.
27817         * modules/uniwidth/width-tests: Likewise.
27818
27819 2010-05-18  Richard Jones  <rjones@redhat.com>
27820
27821         doc: users.txt: list hivex
27822         * users.txt: Add hivex.
27823
27824 2010-05-18  Richard Jones  <rjones@redhat.com>
27825
27826         doc: users.txt: list febootstrap
27827         * users.txt: Add febootstrap.
27828
27829 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27830
27831         bootstrap: fix an error when gnulib is not used as a git submodule
27832         * build-aux/bootstrap (gnulib_path): If its length is zero then
27833         assign "gnulib" to it.
27834         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27835
27836 2010-05-16  Bruno Haible  <bruno@clisp.org>
27837
27838         Avoid autoconf warnings about AM_ICONV.
27839         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27840         2.64.
27841
27842 2010-05-16  Bruno Haible  <bruno@clisp.org>
27843
27844         absolute-header: Make the macro usable in more situations.
27845         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27846         from gl_ABSOLUTE_HEADER.
27847         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27848
27849 2010-05-16  James Youngman  <jay@gnu.org>
27850
27851         doc: update users.txt
27852         * users.txt: Add CSSC.
27853
27854 2010-05-16  Jim Meyering  <meyering@redhat.com>
27855
27856         init.sh: fix an error in the previous change; add more comments
27857         * tests/init.sh: Compare exit code in loop against 9, not 2.
27858         Patch by Bruno Haible.
27859         Make the two tests more similar by adding an empty "then" clause.
27860         Add comments.
27861
27862         init.sh: avoid unnecessary shell re-exec
27863         * tests/init.sh: Improve the re-exec-required check to first test the
27864         current shell.  If it passes the test, do not search for a shell that
27865         does pass, and do not re-exec.  This test is particularly contorted to
27866         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27867         of $(...) evokes a syntax error and causes immediate shell exit with
27868         status 2.  Bruno Haible reported that the re-exec made it impossible
27869         to single-step through any init.sh-using script.
27870
27871 2010-05-16  Bruno Haible  <bruno@clisp.org>
27872
27873         Fix collision between gnulib's and libintl's printf replacements.
27874         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27875         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27876         (printf): When using GNU C, map the __printf__ function to rpl_printf
27877         via __asm__. When not using GNU C, define rpl_printf instead of
27878         __printf__.
27879         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27880         commit.
27881         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27882         commit.
27883         * m4/asm-underscore.m4: New file.
27884         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27885         * modules/stdio (Files): Add m4/asm-underscore.m4.
27886         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27887         Reported by Ben Pfaff.
27888
27889 2010-05-16  Bruno Haible  <bruno@clisp.org>
27890
27891         verify: Avoid skipping the test on openSUSE 11.0.
27892         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27893
27894 2010-05-13  Bruno Haible  <bruno@clisp.org>
27895
27896         Avoid useless warnings from G++.
27897         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27898         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27899         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27900
27901 2010-05-11  Jim Meyering  <meyering@redhat.com>
27902
27903         maint.mk: tweak preceding change
27904         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27905         regexps tighter by anchoring at EOL, and make the new group "shy"
27906         for slightly decreased overhead.
27907
27908 2010-05-11  Eric Blake  <eblake@redhat.com>
27909
27910         maint.mk: gnulib doesn't guarantee NSIG
27911         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27912
27913 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27914
27915         test-pwrite.c: Remove unused variable declaration.
27916         * tests/test-pwrite.c (main): Remove read_buf declaration.
27917
27918         Remove useless test-pwrite.sh file.
27919         * tests/test-pwrite.sh: Delete file.
27920         * modules/pwrite-tests: Remove references.
27921         Reported by Bruno Haible.
27922
27923 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27924
27925         init.sh: fix a typo
27926         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27927
27928 2010-05-10  Jim Meyering  <meyering@redhat.com>
27929
27930         maint.mk: avoid using a temporary file in the always-defined-macros check
27931         * top/maint.mk (.re-defmac): Remove rule.
27932         (gl_trap_): Remove definition.
27933         (sc_prohibit_always-defined_macros): Rewrite not to create and
27934         depend on a temporary file.  Instead, depend on GNU grep's ability
27935         to read a list of regular expressions from stdin when given "-f -".
27936
27937 2010-05-09  Bruno Haible  <bruno@clisp.org>
27938
27939         Update to GNU gettext 0.18, part 1.
27940         * m4/gettext.m4: Update to GNU gettext 0.18.
27941         * m4/intl.m4: Likewise.
27942         * m4/po.m4: Likewise.
27943         * modules/gettext (Files): Add m4/fcntl-o.m4.
27944         (configure.ac): Require gettext infrastructure from version 0.18.
27945
27946 2010-05-09  Jim Meyering  <meyering@redhat.com>
27947
27948         init.sh: enable MALLOC_PERTURB_
27949         * tests/init.sh: Enable glibc's malloc-perturbing option.
27950
27951         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27952         With my recent change in init.sh from the two-line form:
27953             -#   : ${srcdir=.}
27954             -#   . "$srcdir/init.sh"; path_prepend_ .
27955             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27956         I noticed that using the one-line form would cause this test
27957         to fail with a false-positive, or to stop working altogether,
27958         depending on whether help-version changed or all the tests did.
27959         * top/maint.mk (_hv_regex): Remove this definition.
27960         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27961         (_hv_regex_strong): Use a stronger regex to check for conformance.
27962         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27963         Give a separate diagnostic for lack of conforming use.
27964
27965         maint.mk: prohibit definition of symbols defined by gnulib
27966         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27967         definition of symbols defined by gnulib.
27968
27969 2010-05-09  Bruno Haible  <bruno@clisp.org>
27970
27971         acl: Avoid test failure on Cygwin-hosted mingw.
27972         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27973
27974 2010-05-09  Bruno Haible  <bruno@clisp.org>
27975
27976         error: Use system's fcntl function.
27977         * lib/error.c (fcntl): Undefine.
27978
27979 2010-05-09  Jim Meyering  <meyering@redhat.com>
27980
27981         verify: adjust formatting to be more consistent
27982         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27983         argument-list '('s, and after one comma.
27984
27985 2010-05-09  Bruno Haible  <bruno@clisp.org>
27986
27987         error: More reliable output on mingw.
27988         * lib/error.c: Include <windows.h>.
27989         (is_open): New function.
27990         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27991         defined.
27992
27993 2010-05-09  Bruno Haible  <bruno@clisp.org>
27994
27995         vasnprintf: Fix syntax errors in libintl build on mingw.
27996         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27997         pad_ourselves and prec_ourselves after use.
27998
27999 2010-05-08  Bruno Haible  <bruno@clisp.org>
28000
28001         * lib/config.charset: Update comments for Cygwin 1.7.
28002         * lib/localcharset.c: Likewise.
28003
28004 2010-05-07  Jim Meyering  <meyering@redhat.com>
28005
28006         init.sh: improve comments
28007         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
28008         . "${srcdir=.}/init.sh"; path_prepend_ .
28009         Add a note about path_prepend_ and the alternative of using
28010         TESTS_ENVIRONMENT.
28011
28012 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
28013
28014         exclude: Unescape hashed patterns in wildcard mode.
28015         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
28016         to the hash list.
28017         * tests/test-exclude8.sh: New test case.
28018         * modules/exclude-tests: Add new test.
28019
28020 2010-05-05  Eric Blake  <eblake@redhat.com>
28021
28022         verify: automate tests
28023         * modules/verify-tests: New module.
28024         * tests/test-verify.sh: New file.
28025         * tests/test-verify.c: Guard each negative test with a unique id.
28026         Also avoid warning about unused left hand of comma expressions.
28027
28028 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
28029
28030         Further improvements to verify.h, suggested by Eric Blake.
28031         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
28032         the GL_* versions, to avoid collision with OpenGL.
28033         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
28034         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
28035         than testing merely whether it's defined.
28036
28037         Modify verify.h to pacify gcc -Wredundant_decls.
28038         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
28039         These use the prefix "GL_" since they're likely to be useful elsewhere.
28040         We may need to break them out into a different .h file.
28041         (__COUNTER__): Define to 0 if the compiler doesn't support it.
28042         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
28043         of verify_function__.
28044
28045 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
28046
28047         Tests for module pwrite.
28048         * modules/pwrite-tests: New file.
28049         * tests/test-pwrite.sh: New file.
28050         * tests/test-pwrite.c: New file.
28051
28052         New module pwrite.
28053         * lib/unistd.in.h (pwrite): New declaration.
28054         * lib/pwrite.c: New file, from glibc with modifications.
28055         * m4/pwrite.m4: New file.
28056         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
28057         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
28058         REPLACE_PWRITE.
28059         * modules/pwrite: New file.
28060         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
28061         REPLACE_PWRITE.
28062         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
28063         * doc/posix-functions/pwrite.texi: Mention the new module.
28064
28065 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
28066
28067         pread: Update documentation.
28068         * doc/posix-functions/pread.texi: Mention the 'pread' module.
28069
28070 2010-05-04  Eric Blake  <eblake@redhat.com>
28071
28072         docs: update cygwin progress
28073         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
28074         this bug.
28075         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
28076         Added in cygwin 1.7.2.
28077         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
28078         Likewise.
28079         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
28080         Likewise.
28081         * doc/glibc-functions/dup3.texi (dup3): Likewise.
28082         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
28083         * doc/glibc-functions/accept4.texi (accept4): Likewise.
28084         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
28085         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
28086         Mention nproc module.
28087         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
28088         bug in cygwin 1.7.5 addition.
28089         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
28090         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
28091         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
28092         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
28093         1.7.5.
28094         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
28095         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
28096         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
28097         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
28098         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
28099         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
28100         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
28101         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
28102         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
28103         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
28104         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
28105         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
28106         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
28107         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
28108         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
28109         Likewise.
28110         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
28111         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
28112         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
28113         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
28114         Likewise.
28115         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
28116         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
28117         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
28118         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
28119         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
28120         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
28121         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
28122         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
28123         Likewise.
28124         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
28125         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
28126         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
28127         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
28128         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
28129         Likewise.
28130         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
28131         Likewise.
28132         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
28133         Likewise.
28134         * doc/glibc-functions/xdrrec_endofrecord.texi
28135         (xdrrec_endofrecord): Likewise.
28136         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
28137         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
28138         Likewise.
28139         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
28140         Likewise.
28141
28142 2010-05-04  Jim Meyering  <meyering@redhat.com>
28143
28144         gendocs.sh: make its "-s FILE" option more useful
28145         * build-aux/gendocs.sh: When honoring the -s FILE option, update
28146         $PACKAGE to reflect the probably-different basename of "FILE".
28147
28148 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28149
28150         bootstrap: don't ignore download_po_files failure
28151         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
28152         failure.
28153
28154 2010-05-03  Jim Meyering  <meyering@redhat.com>
28155
28156         maint.mk: allow to pass options to gendocs.sh
28157         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
28158         (gendocs_options_): New overridable variable.
28159
28160         gnu-web-doc-update: don't ignore configure or build failure
28161         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
28162
28163         announce-gen: backslash-escape '@'s in --help output
28164         * build-aux/announce-gen: Fix syntax errors.
28165
28166         maint.mk, announce-gen: allow project-specific announcement mail headers
28167         * top/maint.mk (translation_project_): Define default.
28168         (announcement_Cc_, announcement_mail_headers_): Likewise.
28169         (announcement): Invoke announce-gen with new --mail-headers option.
28170         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
28171
28172         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
28173         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
28174         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
28175         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
28176         line in the "err2" output file when running "make check" in verbose
28177         mode (i.e., with set -x enabled).
28178
28179 2010-05-03  Bruno Haible  <bruno@clisp.org>
28180
28181         wctob: Fix for weird platforms.
28182         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
28183         argument value.
28184
28185 2010-05-03  Jim Meyering  <meyering@redhat.com>
28186
28187         maint.mk: prohibit unwarranted use of <strings.h>
28188         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
28189         strings.h in a file that does not also use strcasecmp, strncasecmp,
28190         ffs or ffsll.
28191
28192         maint.mk: remove obsolete comments
28193         * top/maint.mk: Remove stale, commented-out rules.
28194
28195 2010-05-02  Bruno Haible  <bruno@clisp.org>
28196
28197         wcwidth: Declare also when it's aliased.
28198         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
28199         macro.
28200
28201 2010-05-02  Bruno Haible  <bruno@clisp.org>
28202
28203         Fix regression from 2010-04-25.
28204         * gnulib-tool (func_modules_transitive_closure): Check the status of
28205         all modules, not only of the tests that are of the form foo-tests where
28206         foo is a module.
28207
28208 2010-05-02  Bruno Haible  <bruno@clisp.org>
28209
28210         wctob: Work around nasty Cygwin 1.7.2 bug.
28211         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
28212         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
28213
28214 2010-05-01  Bruno Haible  <bruno@clisp.org>
28215
28216         fpurge: Sharper test.
28217         * tests/test-fpurge.c (main): Add one more ftell check.
28218         * modules/fpurge-tests (Depends-on): Add ftell.
28219         Suggested by Eric Blake.
28220
28221 2010-05-01  Bruno Haible  <bruno@clisp.org>
28222
28223         ftello: Another test.
28224         * tests/test-ftello3.c: New file.
28225         * modules/ftello-tests (Files): Add it.
28226         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28227         MOSTLYCLEANFILES.
28228
28229         ftell: Another test.
28230         * tests/test-ftell3.c: New file.
28231         * modules/ftell-tests (Files): Add it.
28232         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28233         MOSTLYCLEANFILES.
28234
28235 2010-05-01  Bruno Haible  <bruno@clisp.org>
28236
28237         ftell, ftello: Work around Solaris bug.
28238         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28239         * lib/ftello.c: Include stdio-impl.h.
28240         (ftello): On Solaris, when _IOWRT is set, compute the result without
28241         looking at _IOREAD.
28242         * modules/ftello (Files): Add lib/stdio-impl.h.
28243         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28244         * doc/posix-functions/ftello.texi: Likewise.
28245         Reported by Eric Blake.
28246
28247 2010-05-01  Bruno Haible  <bruno@clisp.org>
28248
28249         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28250         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28251         the _IOWRT flag is also set.
28252
28253 2010-05-01  Bruno Haible  <bruno@clisp.org>
28254
28255         Fix doc about a HP-UX stdio bug.
28256         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28257         * doc/posix-functions/ftello.texi: Likewise.
28258
28259 2010-05-01  Bruno Haible  <bruno@clisp.org>
28260
28261         lseek test: Fix failure on Solaris.
28262         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28263         output.
28264
28265 2010-04-30  Jim Meyering  <meyering@redhat.com>
28266
28267         bootstrap: don't ignore failure to generate po*/Makevars
28268         * build-aux/bootstrap (with_gettext): Don't ignore failure
28269         to create po/Makevars or runtime-po/Makevars.
28270
28271 2010-04-29  Eric Blake  <eblake@redhat.com>
28272
28273         headers: relax license to LGPLv2+
28274         * modules/fcntl-h (License): Relax license.
28275         * modules/getopt-posix (License): Likewise.
28276         * modules/locale (License): Likewise.
28277         * modules/math (License): Likewise.
28278         * modules/pty (License): Likewise.
28279         * modules/sched (License): Likewise.
28280         * modules/search (License): Likewise.
28281         * modules/spawn (License): Likewise.
28282         * modules/stdarg (License): Likewise.
28283         * modules/sysexits (License): Likewise.
28284
28285 2010-04-29  Jim Meyering  <meyering@redhat.com>
28286
28287         inttypes: relax license to LGPLv2+
28288         * modules/inttypes (License): Relax license.
28289
28290 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28291
28292         * top/maint.mk (indent): Run twice to produce idempotent results.
28293
28294 2010-04-28  Bruno Haible  <bruno@clisp.org>
28295
28296         getdate: Generate getdate.c in the source directory.
28297         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28298         MOSTLYCLEANFILES.
28299         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28300
28301 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28302
28303         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28304         is not declared as a const *; avoid warnings in that case.
28305
28306 2010-04-28  Eric Blake  <eblake@redhat.com>
28307
28308         canonicalize-lgpl: avoid compiler warning
28309         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28310         declaration' / 'extraneous semicolon' warning with some compilers.
28311         Reported by Andreas Gruenbacher.
28312
28313 2010-04-28  Jim Meyering  <meyering@redhat.com>
28314
28315         init.sh: ensure a more reliable exit status when exiting via trap
28316         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28317         Inspired by patches from Dmitry V. Levin.
28318         Also trap on signal 3 (SIGQUIT).
28319
28320 2010-04-27  Bruno Haible  <bruno@clisp.org>
28321
28322         Update doc about utimes().
28323         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28324         'utimens' module.
28325         Reported by Andreas Gruenbacher <agruen@suse.de>.
28326
28327 2010-04-27  Eric Blake  <eblake@redhat.com>
28328
28329         full-read, full-write: relax license
28330         * modules/full-read (License): Drop to LGPLv2+.
28331         * modules/full-write (License): Likewise.
28332         * modules/safe-read (License): Likewise.
28333         * modules/safe-write (License): Likewise.
28334
28335         pthread: mention library for linking
28336         * modules/pthread (Link): Mention $(LIB_PTHREAD).
28337
28338 2010-04-27  Jim Meyering  <meyering@redhat.com>
28339
28340         maint.mk: fix a bug introduced in last change
28341         * top/maint.mk (gl_assured_headers_): Now that all names are on
28342         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
28343         is not anchored to end of word, it should be adequate.
28344
28345         maint.mk: avoid side-effect in latest syntax-check
28346         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
28347         to run commands via $(shell...), and hence to incur cost only when
28348         the new rule is actually run.
28349
28350         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
28351         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
28352         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28353         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28354         (gl_assured_headers_, az_, AZ_): Define.
28355         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28356
28357 2010-04-26  Jim Meyering  <jim@meyering.net>
28358             Bruno Haible  <bruno@clisp.org>
28359
28360         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28361         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28362         Prompted by an exchange with Gilles Espinasse.
28363
28364 2010-04-26  Jim Meyering  <meyering@redhat.com>
28365
28366         git-version-gen: aesthetic tweak
28367         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28368         so that the command remains on a single line.
28369
28370 2010-04-26  Eric Blake  <eblake@redhat.com>
28371
28372         git-version-gen: allow use on EBCDIC hosts
28373         * build-aux/git-version-gen (dirty): Use literal rather than tying
28374         ourselves to ascii.
28375         Reported by Steve Goetze.
28376
28377 2010-04-25  Bruno Haible  <bruno@clisp.org>
28378
28379         netdb: Add support for GNULIB_POSIXCHECK.
28380         * lib/netdb.in.h: Include warn-on-use.h.
28381         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28382         functions are used when GNULIB_POSIXCHECK is defined and the
28383         getaddrinfo module is not in use.
28384         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28385         freeaddrinfo, gai_strerror, getnameinfo are declared.
28386         * modules/netdb (Depends-on): Add warn-on-use.
28387         (Makefile.am): Include warn-on-use.h in netdb.h.
28388
28389 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28390
28391         build: avoid "make check" failure without .git/ directory
28392         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28393         there is no .git/ directory.
28394
28395 2010-04-25  Bruno Haible  <bruno@clisp.org>
28396
28397         ptsname: Fix misuse of ttyname_r.
28398         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28399         of errno.
28400
28401 2010-04-25  Bruno Haible  <bruno@clisp.org>
28402
28403         ttyname_r: Make it work on Solaris 10.
28404         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28405         if the system function has the POSIX declaration. Test whether the
28406         function fails if the buffer is less than 128 bytes large.
28407         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28408         system's ttyname_r function. Provide a reasonably large buffer.
28409         * modules/ttyname_r (Depends-on): Add extensions.
28410         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28411
28412 2010-04-25  Bruno Haible  <bruno@clisp.org>
28413
28414         Use the 'extensions' module for some more functions on Solaris.
28415         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28416         module.
28417         * doc/posix-functions/ctime_r.texi: Likewise.
28418         * doc/posix-functions/getgrgid_r.texi: Likewise.
28419         * doc/posix-functions/getgrnam_r.texi: Likewise.
28420         * doc/posix-functions/getpwnam_r.texi: Likewise.
28421         * doc/posix-functions/getpwuid_r.texi: Likewise.
28422         * doc/posix-functions/readdir_r.texi: Likewise.
28423         * doc/posix-functions/sigwait.texi: Likewise.
28424         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28425         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28426
28427 2010-04-25  Bruno Haible  <bruno@clisp.org>
28428
28429         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28430         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28431         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28432         * lib/ttyname_r.c: Include <limits.h>.
28433         (ttyname_r): Define using the system's ttyname_r function, if it exists
28434         and not on Solaris.
28435         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28436         set.
28437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28438         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28439         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28440         Reported by Simon Josefsson.
28441
28442 2010-04-25  Bruno Haible  <bruno@clisp.org>
28443
28444         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28445         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28446         * doc/posix-functions/ctime_r.texi: Likewise.
28447         * doc/posix-functions/getgrgid_r.texi: Likewise.
28448         * doc/posix-functions/getgrnam_r.texi: Likewise.
28449         * doc/posix-functions/getlogin_r.texi: Likewise.
28450         * doc/posix-functions/getpwnam_r.texi: Likewise.
28451         * doc/posix-functions/getpwuid_r.texi: Likewise.
28452         * doc/posix-functions/readdir_r.texi: Likewise.
28453         * doc/posix-functions/sigwait.texi: Likewise.
28454         * doc/posix-functions/ttyname_r.texi: Likewise.
28455         Reported by Simon Josefsson.
28456
28457 2010-04-25  Bruno Haible  <bruno@clisp.org>
28458
28459         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28460         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28461         also to --create-testdir.
28462         (func_acceptable): Don't consider the status of *-tests modules here.
28463         (func_modules_transitive_closure): Consider it here, before including a
28464         test module.
28465         (func_import, func_create_testdir): Set inc_all_direct_tests,
28466         inc_all_indirect_tests.
28467         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28468         --create-testdir and --create-megatestdir.
28469
28470 2010-04-25  Bruno Haible  <bruno@clisp.org>
28471
28472         gnulib-tool: Add --without-*-tests options.
28473         * gnulib-tool (func_usage): Document the --without-*-tests options.
28474         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28475         excl_unportable_tests): New variables.
28476         Fail if they are specified with --import or --update.
28477         (func_acceptable): Respect the excl_*_tests variables.
28478         (func_import): Set the excl_*_tests variables to empty.
28479
28480 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28481             Bruno Haible  <bruno@clisp.org>
28482
28483         Work around a MacOS X 10.4 bug with openpty.
28484         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28485         * tests/test-openpty.c (main): Close the master side explicitly.
28486
28487 2010-04-25  Bruno Haible  <bruno@clisp.org>
28488
28489         strnlen: Fix a C++ test error on MacOS X and Solaris.
28490         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28491         the function is not declared.
28492         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28493         Simon Josefsson.
28494
28495 2010-04-24  Bruno Haible  <bruno@clisp.org>
28496
28497         Avoid a gcc warning.
28498         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28499         of correct type for %08lx directive.
28500         Reported by Eric Blake.
28501
28502 2010-04-24  Bruno Haible  <bruno@clisp.org>
28503
28504         vasnprintf: Correct errno value in case of out-of-memory.
28505         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28506         or sprintf. Use the errno value from SNPRINTF or sprintf.
28507         Reported by Ian Beckwith <ianb@erislabs.net>.
28508
28509 2010-04-24  Bruno Haible  <bruno@clisp.org>
28510
28511         ansi-c++-opt: Find correct compiler when cross-compiling.
28512         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28513         AC_CHECK_PROGS.
28514         Reported by Simon Josefsson.
28515
28516 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28517
28518         vc-list-files: Add support for subversion
28519         * build-aux/vc-list-files: Use "svn list" to generate the list of
28520         files controlled by subversion.
28521
28522 2010-04-23  Jim Meyering  <meyering@redhat.com>
28523
28524         vc-list-files tests: convert to use init.sh
28525         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28526         path_prepend_.
28527         Use Exit, not exit.
28528         Use skip_ rather than open coding it.
28529         Remove trap set-up and compare definitions.
28530         * tests/test-vc-list-files-git.sh: Likewise.
28531         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28532
28533 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28534
28535         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28536         backup files.
28537
28538 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28539
28540         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28541
28542 2010-04-20  Eric Blake  <eblake@redhat.com>
28543
28544         tests: be robust to ignored SIGPIPE
28545         * tests/test-select-in.sh: Consume all output.
28546         * tests/test-lseek.sh: Check correct exit status, while avoiding
28547         EPIPE.
28548
28549 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28550             Bruno Haible  <bruno@clisp.org>
28551
28552         visibility: Don't use -fvisibility if it leads to a warning.
28553         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28554         yes, don't pretend that visibility works if it leads to a warning.
28555         Reported by Mike Gran <spk121@yahoo.com>.
28556
28557 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28558
28559         * build-aux/bootstrap: Use "git -h" for testing for supported options
28560         instead of "git --help".  The short-form option only shows a summary,
28561         and doesn't layout the full man page.  Grep for the full option name
28562         in the summary, too.
28563
28564 2010-04-19  Bruno Haible  <bruno@clisp.org>
28565
28566         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28567         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28568         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28569         mention of RELOCATABLE_STRIP.
28570         Reported by Sylvain Beucler <beuc@beuc.net>.
28571
28572 2010-04-19  Bruno Haible  <bruno@clisp.org>
28573
28574         * lib/diffseq.h: Fix typo in comment.
28575         Reported by Eric Blake.
28576
28577 2010-04-19  Bruno Haible  <bruno@clisp.org>
28578
28579         ioctl: Move autoconf macro to a .m4 file.
28580         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28581         * modules/ioctl (Files): Add it.
28582         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28583         Reported by Ian Beckwith <ianb@erislabs.net>.
28584
28585 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28586             Bruno Haible  <bruno@clisp.org>
28587
28588         diffseq: Accommodate use-case with abstract arrays.
28589         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28590         is not defined.
28591         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28592         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28593
28594 2010-04-18  Bruno Haible  <bruno@clisp.org>
28595
28596         * doc/posix-headers/stdbool.texi: More precise wording.
28597
28598 2010-04-17  Jim Meyering  <meyering@redhat.com>
28599
28600         maint.mk: use gnu-style indentation in an embedded perl script
28601         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28602         Rename variable: s/two/last_two_bytes/
28603
28604 2010-04-16  Eric Blake  <eblake@redhat.com>
28605
28606         test-stdbool: skip test that fails with Solaris CC
28607         * tests/test-stdbool.c (f): Skip test that causes compilation
28608         error under buggy C++ compiler.
28609         * lib/stdbool.in.h: Document the limitation.
28610         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28611
28612         setenv: allow compilation with C++
28613         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28614         register keyword.
28615
28616         stdint: allow test to pass with C++
28617         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28618
28619         getopt: allow compilation with C++
28620         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28621         struct.
28622         * lib/getopt.c (_getopt_internal_r): Use correct type.
28623         Reported by Dagobert Michelson, via Joel E. Denny.
28624
28625 2010-04-16  Bruno Haible  <bruno@clisp.org>
28626
28627         Override netdb.h always.
28628         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28629         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28630         Reported by Ludovic Courtès <ludo@gnu.org>.
28631
28632 2010-04-15  Bruno Haible  <bruno@clisp.org>
28633
28634         openpty: Fix mistake from 2010-03-21.
28635         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28636         Reported by Simon Josefsson.
28637
28638 2010-04-15  Eric Blake  <eblake@redhat.com>
28639
28640         test-forkpty: fix expected signature
28641         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28642         Reported by Simon Josefsson.
28643
28644 2010-04-15  Jim Meyering  <meyering@redhat.com>
28645
28646         maint.mk: texinfo_suffix_re_: correct the default regexp
28647         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28648
28649         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28650         make it configurable via texinfo_suffix_re_.
28651
28652 2010-04-14  Eric Blake  <eblake@redhat.com>
28653
28654         strtok_r: relax license to LGPLv2+
28655         * modules/strtok_r (License): Relax license.
28656         Reported by Matthias Bolte.
28657
28658 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28659
28660         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28661         version 1.4.4 by default instead of requiring the libgcrypt
28662         version used during build.  This makes it possible to use the
28663         application with older but still binary compatible libgcrypt
28664         versions.
28665
28666 2010-04-13  Eric Blake  <eblake@redhat.com>
28667
28668         getopt-gnu: match recent glibc fixes and posix ruling
28669         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28670         '+' handling, when requesting extensions.
28671         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28672         'W;' handling.
28673         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28674         * doc/posix-functions/getopt.texi (getopt): Document this.
28675         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28676         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28677         Likewise.
28678
28679         getopt: merge bug fixes from glibc
28680         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28681         diagnostics.  Honor '+:' correctly.  Reject ';'.
28682
28683         getopt-posix: detect MacOS bug
28684         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28685         optind when missing a required argument.
28686         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28687         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28688         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28689         Likewise.
28690
28691         getopt-posix: avoid spurious failure on Solaris
28692         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28693         an indicator that setting optind=1 is sufficient for reset.
28694
28695         getopt-posix: avoid spurious failure on FreeBSD
28696         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28697         in POSIX mode, since the m4 test uses it.
28698
28699         gnulib-tool: silence warning on BSD sh
28700         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28701
28702 2010-04-13  Jim Meyering  <meyering@redhat.com>
28703
28704         doc: users.txt: GNU patch now uses gnulib
28705         * users.txt: Add patch.
28706
28707 2010-04-12  Jim Meyering  <meyering@redhat.com>
28708
28709         maint.mk: generate more concise timing data for syntax-check rules
28710         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28711         " done" from each line that reports a syntax-check test duration.
28712
28713 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28714
28715         git-version-gen: use "git update-index..." rather than "git status"
28716         * build-aux/git-version-gen: Use git update-index --refresh, not
28717         "git status".  With some versions of git, "git status" would fail
28718         to update the index and result in an unwarranted "-dirty" suffix.
28719
28720 2010-04-11  Jim Meyering  <meyering@redhat.com>
28721
28722         openat: correct formatting (no semantic change)
28723         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28724         Suggested by Bruno Haible.
28725
28726 2010-04-11  Bruno Haible  <bruno@clisp.org>
28727
28728         Stricter declaration checking in testdirs.
28729         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28730         If for_tests is true, augment AM_CPPFLAGS to define
28731         GNULIB_STRICT_CHECKING.
28732         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28733         GNULIB_STRICT_CHECKING is defined, verify that the function is
28734         declared.
28735
28736 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28737             Bruno Haible  <bruno@clisp.org>
28738
28739         libunistring: Improve configure output.
28740         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28741         Don't say "consider installing GNU libunistring" when checking again
28742         with libiconv.
28743
28744 2010-04-11  Bruno Haible  <bruno@clisp.org>
28745
28746         libunistring: Correct value of $LTLIBUNISTRING.
28747         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28748         correct the value of $LTLIBUNISTRING.
28749
28750 2010-04-11  Bruno Haible  <bruno@clisp.org>
28751
28752         havelib: Add static libraries to LIBS in the right order.
28753         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28754         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28755
28756 2010-04-11  Bruno Haible  <bruno@clisp.org>
28757
28758         libunistring: Detect libunistring also when it depends on libiconv.
28759         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28760         the second AC_LIB_HAVE_LINKFLAGS invocation.
28761
28762 2010-04-11  James Youngman  <jay@gnu.org>
28763
28764         close-stream: declare local scalars to be "const"
28765         * lib/close-stream.c (close_stream): Make boolean variables const
28766         to document the fact that we set but do not change them.
28767
28768 2010-04-11  Bruno Haible  <bruno@clisp.org>
28769
28770         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28771
28772 2010-04-11  Jim Meyering  <meyering@redhat.com>
28773
28774         maint.mk: don't include dist-check.mk
28775         * top/maint.mk: Remove bogus include directive.
28776
28777         maint.mk: improve empty-line-at-EOF check
28778         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28779         solution, rather than tail+Perl-based one.  The latter would read
28780         a few kilobytes from the end of each file, and did not handle empty
28781         files properly.
28782
28783         maint.mk: print the elapsed time for each syntax-check rule
28784         * top/maint.mk (sc_m_rules_): Save start time in a file.
28785         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28786         (local-check): Interpose the .z rules
28787
28788 2010-04-11  Jim Meyering  <meyering@redhat.com>
28789
28790         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28791         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28792         empty file with one that ends in an empty line.
28793
28794 2010-04-10  Bruno Haible  <bruno@clisp.org>
28795
28796         mkdir: Make it work on mingw64.
28797         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28798         * lib/mkdir.c: Update comment.
28799         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
28800
28801 2010-04-10  Bruno Haible  <bruno@clisp.org>
28802
28803         Don't override improved macro from newer autoconf.
28804         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28805         autoconf >= 2.62.
28806         Reported by Joel E. Denny <jdenny@clemson.edu>.
28807
28808 2010-04-10  Jim Meyering  <meyering@redhat.com>
28809
28810         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28811         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28812
28813         maint.mk: correct a diagnostic
28814         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28815         in diagnostic; now use $prohibit.
28816
28817 2010-04-10  Bruno Haible  <address@hidden>
28818
28819         fchownat: Fix a C++ test error on Solaris 8.
28820         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28821         the function does not exist.
28822
28823 2010-04-10  Bruno Haible  <bruno@clisp.org>
28824
28825         vasnprintf: Add more tests.
28826         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28827         (test_function): Test converting an invalid wide string.
28828
28829         vasnprintf: Correct handling of unconvertible wide string arguments.
28830         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28831         VASNPRINTF.
28832         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28833         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28834         smaller than the expected maximum need for the directive. Set errno to
28835         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28836         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28837         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28838         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28839         * modules/vasnprintf (Files): Add m4/printf.m4.
28840         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28841
28842 2010-04-10  Bruno Haible  <bruno@clisp.org>
28843
28844         vasnprintf: Fix crash in %ls directive.
28845         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28846         string is passed as argument to %ls, with no precision and no width.
28847         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28848
28849 2010-04-10  Bruno Haible  <bruno@clisp.org>
28850
28851         vasnprintf: Fix multiple test failures on mingw.
28852         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28853         _snprintf, or snwprintf, not _snwprintf.
28854
28855 2010-04-10  Bruno Haible  <bruno@clisp.org>
28856
28857         write: Fix a C++ test error on mingw.
28858         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28859
28860 2010-04-10  Bruno Haible  <bruno@clisp.org>
28861
28862         vasnprintf test: Reduce code duplication.
28863         * tests/test-vasnprintf.c (test_function): New function, extracted from
28864         test_vasnprintf.
28865         (test_vasnprintf, test_asnprintf): Invoke it.
28866
28867 2010-04-10  Bruno Haible  <bruno@clisp.org>
28868
28869         strnlen: Fix warning in C++ mode on MacOS X.
28870         * lib/string.in.h (strnlen): Use the modern idiom.
28871         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28872         defining strnlen as a macro already in <config.h>.
28873         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28874         REPLACE_STRNLEN.
28875         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28876         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28877
28878 2010-04-08  James Youngman  <jay@gnu.org>
28879
28880         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28881         the example.
28882
28883 2010-04-09  Jim Meyering  <meyering@redhat.com>
28884
28885         maint.mk: print better diagnostic when there is no $(_hv_file)
28886         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28887         announce that when $(_hv_file) (aka help-version) does not exist.
28888
28889         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28890         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28891         not try to interpret its random input bytes.  Jarno Rajahalme reported
28892         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28893         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28894         (mktempd_): Likewise, just in case.
28895
28896         ftruncate: add two years to projected module removal date: 2012
28897         * m4/ftruncate.m4: Adjust comments.
28898
28899         ftruncate: mark module as obsolete; even MinGW provides it, now
28900         * modules/ftruncate (Status): Obsolete.
28901         (Notice): Say that.
28902         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28903         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28904
28905 2010-04-08  Bruno Haible  <bruno@clisp.org>
28906
28907         Fix side effects from tests-related modules.
28908         * modules/dprintf-posix (Comment): New section.
28909         * modules/fprintf-posix (Comment): Likewise.
28910         * modules/obstack-printf-posix (Comment): Likewise.
28911         * modules/printf-posix (Comment): Likewise.
28912         * modules/snprintf-posix (Comment): Likewise.
28913         * modules/sprintf-posix (Comment): Likewise.
28914         * modules/vasnprintf-posix (Comment): Likewise.
28915         * modules/vasprintf-posix (Comment): Likewise.
28916         * modules/vdprintf-posix (Comment): Likewise.
28917         * modules/vfprintf-posix (Comment): Likewise.
28918         * modules/vprintf-posix (Comment): Likewise.
28919         * modules/vsnprintf-posix (Comment): Likewise.
28920         * modules/vsprintf-posix (Comment): Likewise.
28921         * modules/xprintf-posix (Comment): Likewise.
28922         * modules/xvasprintf-posix (Comment): Likewise.
28923         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28924         * modules/floorf-tests (Depends-on): Likewise.
28925         * modules/round-tests (Depends-on): Likewise.
28926         * modules/roundf-tests (Depends-on): Likewise.
28927         * modules/trunc-tests (Depends-on): Likewise.
28928         * modules/truncf-tests (Depends-on): Likewise.
28929         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28930         'fprintf-posix' module is not present.
28931         * tests/test-floorf2.c (check): Likewise.
28932         * tests/test-trunc2.c (check): Likewise.
28933         * tests/test-truncf2.c (check): Likewise.
28934         * tests/test-round2.c (equal): Likewise.
28935         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28936
28937 2010-04-07  Karl Berry  <karl@gnu.org>
28938
28939         * config/srclist.txt,
28940         * config/srclistvars.sh,
28941         * config/srclist-update: doc fixes.
28942
28943 2010-04-07  Jim Meyering  <meyering@redhat.com>
28944
28945         maint.mk: add a PATH crosschecking syntax-check rule
28946         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28947         Useful if you use a test like the one in help-version (coreutils,
28948         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28949         printed by prog --version.
28950
28951 2010-04-06  Bruno Haible  <bruno@clisp.org>
28952
28953         Fix link error on mingw.
28954         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28955         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28956
28957 2010-04-06  Bruno Haible  <bruno@clisp.org>
28958
28959         Assume rmdir exists.
28960         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28961
28962 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28963
28964         doc: update users.txt
28965         * users.txt: Add gcal.
28966
28967 2010-04-06  Jim Meyering  <meyering@redhat.com>
28968
28969         init.sh: simply unset TMPDIR rather than risking env -i
28970         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28971         although it probably works fine on all Unix-based systems, some
28972         systems (Cygwin?) cannot tolerate a totally cleared environment.
28973         Suggestion from Eric Blake.
28974
28975 2010-04-06  Jim Meyering  <meyering@redhat.com>
28976
28977         init.sh: portability fix: use env's POSIX-specified -i option not -u
28978         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28979         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28980
28981 2010-04-05  Bruno Haible  <bruno@clisp.org>
28982
28983         btowc: Work around Cygwin 1.7.2 bug.
28984         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28985         does not map NUL to 0.
28986         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28987
28988 2010-04-05  Bruno Haible  <bruno@clisp.org>
28989
28990         Make the multithread modules work on Cygwin 1.7.2.
28991         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28992         imported symbols can be declared weak, so that it returns "no" on
28993         Cygwin 1.7.2.
28994
28995 2010-04-05  Bruno Haible  <bruno@clisp.org>
28996
28997         Use the module 'strncat'.
28998         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28999
29000         Tests for module 'strncat'.
29001         * modules/strncat-tests: New file.
29002         * tests/test-strncat.c: New file.
29003
29004         New module 'strncat'.
29005         * lib/string.in.h (strncat): New declaration.
29006         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
29007         * m4/strncat.m4: New file, based on m4/memchr.m4.
29008         * modules/strncat: New file.
29009         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
29010         is declared.
29011         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
29012         REPLACE_STRNCAT.
29013         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
29014         REPLACE_STRNCAT.
29015         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
29016         module.
29017         * tests/test-string-c++.cc: Check signature of strncat.
29018
29019 2010-04-05  Jim Meyering  <meyering@redhat.com>
29020
29021         xstrtoumax-tests: convert to use init.sh
29022         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
29023         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29024         Use Exit, not exit.
29025         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29026
29027         xstrtoimax-tests: convert to use init.sh
29028         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
29029         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29030         Use Exit, not exit.
29031         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29032
29033 2010-04-05  Bruno Haible  <bruno@clisp.org>
29034
29035         sys_socket: Avoid #define replacements in C++ mode.
29036         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
29037         warning to the function if possible, rather than #defining the symbol
29038         to a dysfunctional alias.
29039
29040 2010-04-05  Bruno Haible  <bruno@clisp.org>
29041
29042         fseeko: Fix C++ test error on mingw.
29043         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
29044         gl_FUNC_FSEEKO.
29045         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
29046         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
29047         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
29048         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
29049
29050 2010-04-05  Bruno Haible  <bruno@clisp.org>
29051
29052         duplocale: Improve test output.
29053         * tests/test-duplocale.c (main): Print reason for skipped test.
29054
29055 2010-04-05  Bruno Haible  <bruno@clisp.org>
29056
29057         Assume rmdir exists.
29058         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
29059         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
29060
29061 2010-04-05  Bruno Haible  <bruno@clisp.org>
29062
29063         Fix link error on Solaris 8 with cc.
29064         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
29065
29066 2010-04-05  Bruno Haible  <bruno@clisp.org>
29067
29068         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29069         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
29070
29071 2010-04-05  Bruno Haible  <bruno@clisp.org>
29072
29073         vasprintf: Update documentation.
29074         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
29075
29076 2010-04-05  Bruno Haible  <bruno@clisp.org>
29077
29078         ptsname: Improve test.
29079         * tests/test-ptsname.c (main): Also try the various master names of BSD
29080         systems.
29081
29082 2010-04-05  Bruno Haible  <bruno@clisp.org>
29083
29084         memchr: Avoid a possible C++ test error.
29085         * lib/string.in.h (memchr): Provide declaration if function is missing.
29086         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
29087         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
29088         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
29089         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
29090
29091 2010-04-05  Bruno Haible  <bruno@clisp.org>
29092
29093         strtok_r: Improve idiom.
29094         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
29095         AC_LIBOBJ is used.
29096
29097 2010-04-05  Bruno Haible  <bruno@clisp.org>
29098
29099         strdup: Improve idiom.
29100         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
29101         AC_LIBOBJ is used.
29102         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
29103         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
29104         when AC_LIBOBJ is used.
29105
29106 2010-04-05  Bruno Haible  <bruno@clisp.org>
29107
29108         mbsinit, mbrtowc, wcrtomb: Improve idioms.
29109         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
29110         don't set REPLACE_MBSINIT to 1.
29111         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
29112         don't set REPLACE_MBRTOWC to 1.
29113         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
29114         exist, don't set REPLACE_MBSRTOWCS to 1.
29115         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
29116         exist, don't set REPLACE_MBSNRTOWCS to 1.
29117         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
29118         don't set REPLACE_WCRTOMB to 1.
29119         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
29120         exist, don't set REPLACE_WCSRTOMBS to 1.
29121         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
29122         exist, don't set REPLACE_WCSNRTOMBS to 1.
29123
29124 2010-04-05  Bruno Haible  <bruno@clisp.org>
29125
29126         ldexpl: Improve idiom.
29127         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
29128         make sure to set HAVE_DECL_LDEXPL to 0.
29129
29130 2010-04-05  Jim Meyering  <meyering@redhat.com>
29131
29132         xstrtol-tests: convert to use init.sh
29133         * modules/xstrtol-tests (Files): Add tests/init.sh.
29134         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29135         Use Exit, not exit.
29136         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29137
29138         atexit-tests: convert to use init.sh
29139         * modules/atexit-tests (Files): Add tests/init.sh.
29140         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29141         Use Exit, not exit.
29142         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29143
29144         init.sh: fix typo
29145         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
29146
29147         init.sh: make it easier for a test script to write to the tty, ...
29148         when using automake's parallel-tests mode.
29149         * tests/init.sh (stderr_fileno_): Define overridable variable.
29150         (warn_): New function, to use it.
29151         (fail_, skip_, framework_failure_): Use warn_.
29152
29153 2010-04-04  Bruno Haible  <bruno@clisp.org>
29154
29155         btowc: Avoid warning.
29156         * lib/btowc.c: Include <stdlib.h>.
29157         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
29158
29159 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29160             Bruno Haible  <bruno@clisp.org>
29161
29162         wchar: Port to NetBSD 1.5.
29163         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
29164         * lib/wctype.in.h (WEOF): Likewise.
29165
29166 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29167             Bruno Haible  <bruno@clisp.org>
29168
29169         Port extended stdio to NetBSD 1.5.
29170         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
29171         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
29172         older.
29173
29174 2010-04-04  Bruno Haible  <bruno@clisp.org>
29175
29176         string: Remove unused substitution.
29177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
29178         HAVE_DECL_STRERROR.
29179         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
29180
29181 2010-04-04  Bruno Haible  <bruno@clisp.org>
29182
29183         strtod: Avoid a possible C++ test error.
29184         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
29185         set REPLACE_STRTOD.
29186
29187 2010-04-04  Bruno Haible  <bruno@clisp.org>
29188
29189         strerror: Update documentation.
29190         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
29191
29192 2010-04-04  Bruno Haible  <bruno@clisp.org>
29193
29194         stdio: Fix some C++ test errors on Solaris 8 with GCC.
29195         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
29196         _GL_CXXALIAS_SYS_CAST.
29197
29198 2010-04-04  Bruno Haible  <bruno@clisp.org>
29199
29200         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29201         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
29202         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
29203         REPLACE_FREXPL to 1.
29204         * doc/posix-functions/frexpl.texi: Update documentation.
29205
29206 2010-04-04  Bruno Haible  <bruno@clisp.org>
29207
29208         math: Fix some C++ test errors on Solaris 8 and Cygwin.
29209         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
29210
29211 2010-04-04  Bruno Haible  <bruno@clisp.org>
29212
29213         Implement nanosleep for native Windows.
29214         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
29215
29216 2010-04-04  Bruno Haible  <bruno@clisp.org>
29217
29218         math: Fix some C++ test errors on Solaris 8.
29219         * lib/math.in.h (truncf, trunc): Use simpler idiom.
29220
29221 2010-04-04  Bruno Haible  <bruno@clisp.org>
29222
29223         math: Fix some C++ test errors on Cygwin.
29224         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
29225         truncl): Provide declaration if the system does not have it.
29226         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
29227         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
29228         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
29229         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
29230         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
29231         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
29232         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
29233         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
29234         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29235         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29236         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29237         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29238         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29239         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29240         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29241         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29242         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29243         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29244         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29245         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29246         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29247         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29248
29249 2010-04-04  Bruno Haible  <bruno@clisp.org>
29250
29251         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29252         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29253         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29254         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29255         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29256         * m4/isinf.m4 (gl_ISINF): Likewise.
29257         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29258
29259 2010-04-04  Bruno Haible  <bruno@clisp.org>
29260
29261         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29262         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29263
29264 2010-04-04  Bruno Haible  <bruno@clisp.org>
29265
29266         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29267         * modules/tmpfile (configure.ac): Update.
29268
29269         tmpfile: Fix C++ test error on mingw.
29270         * lib/stdio.in.h (tmpfile): New declaration.
29271         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29272         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29273         * modules/tmpfile (Depends-on): Add stdio.
29274         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29275         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29276         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29277         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29278         REPLACE_TMPFILE.
29279         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29280
29281 2010-04-04  Bruno Haible  <bruno@clisp.org>
29282
29283         ioctl: Fix C++ test error on mingw.
29284         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29285         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29286         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29287
29288 2010-04-03  Bruno Haible  <bruno@clisp.org>
29289
29290         wcwidth: Fix C++ test error on mingw.
29291         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29292         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29293         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29294
29295 2010-04-03  Bruno Haible  <bruno@clisp.org>
29296
29297         nanosleep: Fix C++ test error on mingw.
29298         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29299         * lib/time.in.h (nanosleep): Use modern idiom.
29300         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29301         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29302         REPLACE_NANOSLEEP to 1.
29303         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29304         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29305
29306 2010-04-03  Bruno Haible  <bruno@clisp.org>
29307
29308         strptime: Fix C++ test error on mingw.
29309         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29310         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29311         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29312         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29313         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29314         not REPLACE_STRPTIME.
29315         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29316         REPLACE_STRPTIME.
29317
29318 2010-04-03  Bruno Haible  <bruno@clisp.org>
29319
29320         timegm: Fix C++ test error on mingw.
29321         * lib/time.in.h (timegm): Use modern idiom.
29322         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29323         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29324         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29325         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29326
29327 2010-04-03  Bruno Haible  <bruno@clisp.org>
29328
29329         timegm: Assume declaration if function exists.
29330         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
29331         if it exists. Don't clobber ac_cv_func_timegm.
29332
29333 2010-04-03  Bruno Haible  <bruno@clisp.org>
29334
29335         time_r: Fix C++ test error on mingw.
29336         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
29337         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
29338         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
29339         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
29340         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
29341
29342 2010-04-03  Bruno Haible  <bruno@clisp.org>
29343
29344         time_r: Minor updates.
29345         * modules/time_r (Description): Mention the provided functions.
29346         * lib/time_r.c: Don't include <string.h>.
29347         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
29348         * doc/posix-functions/localtime_r.texi: Likewise.
29349
29350 2010-04-03  Bruno Haible  <bruno@clisp.org>
29351
29352         time: Fix regression introduced on 2010-03-08.
29353         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29354         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29355
29356 2010-04-03  Jim Meyering  <meyering@redhat.com>
29357
29358         maint.mk: don't silently disable project-specific syntax-check rules
29359         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29360         that they need to convert their project-specific syntax-check rules
29361         to use the new _sc_search_regexp.
29362
29363 2010-04-03  Bruno Haible  <bruno@clisp.org>
29364
29365         fchdir: Fix regression introduced on 2010-03-08.
29366         * lib/unistd.in.h (fchdir): Fix declaration.
29367         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29369         REPLACE_FCHDIR.
29370         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29371         REPLACE_FCHDIR.
29372
29373 2010-04-03  Bruno Haible  <bruno@clisp.org>
29374
29375         getpagesize: Fix C++ test error on mingw.
29376         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29377         system does not declare the function.
29378         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29379         declared.
29380         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29381         HAVE_DECL_GETPAGESIZE.
29382         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29383
29384 2010-04-03  Bruno Haible  <bruno@clisp.org>
29385
29386         stdio: Make C++ tests work on mingw.
29387         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29388         does not declare the function.
29389
29390 2010-04-03  Bruno Haible  <bruno@clisp.org>
29391
29392         ftello: Fix C++ test error on mingw.
29393         * lib/stdio.in.h (ftello): Use modern idiom.
29394         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29395         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29396         is missing and that it needs to be replaced.
29397         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29398         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29399         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29400
29401 2010-04-03  Bruno Haible  <bruno@clisp.org>
29402
29403         fseeko: Fix C++ test error on mingw.
29404         * lib/stdio.in.h (fseeko): Use modern idiom.
29405         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29406         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29407         is missing and that it needs to be replaced.
29408         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29409         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29410         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29411
29412 2010-04-03  Bruno Haible  <bruno@clisp.org>
29413
29414         mkstemp: Fix C++ test error on mingw.
29415         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29416         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29417         function is missing and that it needs to be replaced.
29418         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29419         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29420
29421 2010-04-03  Bruno Haible  <bruno@clisp.org>
29422
29423         stpncpy: Fix C++ test error on mingw.
29424         * lib/string.in.h (stpncpy): Use modern idiom.
29425         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29426         function is missing and that it needs to be replaced.
29427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29428         REPLACE_STPNCPY.
29429         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29430
29431 2010-04-03  Bruno Haible  <bruno@clisp.org>
29432
29433         sys_stat: Fix C++ test error on mingw.
29434         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29435         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29436
29437 2010-04-03  Bruno Haible  <bruno@clisp.org>
29438
29439         pty: Update doc.
29440         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29441
29442 2010-04-03  Bruno Haible  <bruno@clisp.org>
29443
29444         unistd: Fix C++ test error on mingw.
29445         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29446
29447 2010-04-03  Bruno Haible  <bruno@clisp.org>
29448
29449         Update doc regarding mingw.
29450         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29451         * doc/glibc-functions/login_tty.texi: Likewise.
29452         * doc/glibc-functions/forkpty.texi: Likewise.
29453
29454 2010-04-03  Bruno Haible  <bruno@clisp.org>
29455
29456         stdlib: Avoid compilation failure of c-strtold on mingw.
29457         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29458
29459 2010-04-03  Bruno Haible  <bruno@clisp.org>
29460
29461         locale: Make C++ tests work on Cygwin and mingw.
29462         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29463         cannot provide the function.
29464         Reported by Simon Josefsson.
29465
29466 2010-04-03  Bruno Haible  <bruno@clisp.org>
29467
29468         localename: Port to MacOS X 10.6.
29469         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29470         memory layout of the locales in MacOS X 10.6 as well.
29471         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29472
29473 2010-04-02  Bruno Haible  <bruno@clisp.org>
29474
29475         gnulib-tool: Ensure that long-running tests are executed last.
29476         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29477         running tests after the one for the other tests.
29478
29479 2010-04-02  Bruno Haible  <bruno@clisp.org>
29480
29481         gnulib-tool: Ensure the tests in the main directory are executed first.
29482         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29483         start with the current directory.
29484
29485 2010-04-02  Bruno Haible  <bruno@clisp.org>
29486
29487         Tests for module 'havelib', moved here from GNU gettext.
29488         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29489         modifications.
29490         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29491         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29492         with modifications.
29493         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29494         modifications.
29495         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29496         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29497         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29498         with modifications.
29499         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29500         with modifications.
29501         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29502         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29503         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29504         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29505         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29506         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29507         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29508         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29509         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29510         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29511         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29512         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29513         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29514         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29515         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29516         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29517         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29518         with modifications.
29519         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29520         with modifications.
29521         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29522         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29523         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29524         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29525         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29526         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29527         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29528         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29529         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29530         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29531         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29532         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29533         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29534         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29535         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29536         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29537         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29538         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29539         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29540         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29541         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29542         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29543         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29544         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29545         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29546         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29547         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29548         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29549         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29550         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29551         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29552         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29553         * tests/havelib/rpathx/rpathx.c: New file, from
29554         gettext/autoconf-lib-link.
29555         * tests/havelib/rpathx/Makefile.am: New file, from
29556         gettext/autoconf-lib-link.
29557         * tests/havelib/rpathx/configure.ac: New file, from
29558         gettext/autoconf-lib-link with modifications.
29559         * tests/havelib/rpathy/rpathy.c: New file, from
29560         gettext/autoconf-lib-link.
29561         * tests/havelib/rpathy/Makefile.am: New file, from
29562         gettext/autoconf-lib-link.
29563         * tests/havelib/rpathy/configure.ac: New file, from
29564         gettext/autoconf-lib-link with modifications.
29565         * tests/havelib/rpathz/rpathz.c: New file, from
29566         gettext/autoconf-lib-link.
29567         * tests/havelib/rpathz/Makefile.am: New file, from
29568         gettext/autoconf-lib-link.
29569         * tests/havelib/rpathz/configure.ac: New file, from
29570         gettext/autoconf-lib-link with modifications.
29571         * tests/havelib/rpathlx/usex.c: New file, from
29572         gettext/autoconf-lib-link.
29573         * tests/havelib/rpathlx/Makefile.am: New file, from
29574         gettext/autoconf-lib-link.
29575         * tests/havelib/rpathlx/configure.ac: New file, from
29576         gettext/autoconf-lib-link with modifications.
29577         * tests/havelib/rpathly/usey.c: New file, from
29578         gettext/autoconf-lib-link.
29579         * tests/havelib/rpathly/Makefile.am: New file, from
29580         gettext/autoconf-lib-link.
29581         * tests/havelib/rpathly/configure.ac: New file, from
29582         gettext/autoconf-lib-link with modifications.
29583         * tests/havelib/rpathlz/usez.c: New file, from
29584         gettext/autoconf-lib-link.
29585         * tests/havelib/rpathlz/Makefile.am: New file, from
29586         gettext/autoconf-lib-link.
29587         * tests/havelib/rpathlz/configure.ac: New file, from
29588         gettext/autoconf-lib-link with modifications.
29589         * tests/havelib/rpathlyx/usey.c: New file, from
29590         gettext/autoconf-lib-link.
29591         * tests/havelib/rpathlyx/Makefile.am: New file, from
29592         gettext/autoconf-lib-link.
29593         * tests/havelib/rpathlyx/configure.ac: New file, from
29594         gettext/autoconf-lib-link with modifications.
29595         * tests/havelib/rpathlzyx/usez.c: New file, from
29596         gettext/autoconf-lib-link.
29597         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29598         gettext/autoconf-lib-link.
29599         * tests/havelib/rpathlzyx/configure.ac: New file, from
29600         gettext/autoconf-lib-link with modifications.
29601         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29602         with modifications.
29603
29604 2010-04-02  Bruno Haible  <bruno@clisp.org>
29605
29606         gnulib-tool: Create distributed built sources also for the tests.
29607         * gnulib-tool (func_create_testdir): Also generate distributed built
29608         sources in the tests directory.
29609
29610 2010-04-02  Bruno Haible  <bruno@clisp.org>
29611
29612         gnulib-tool: Obey user's environment variables.
29613         * gnulib-tool (func_create_testdir): When creating built sources,
29614         respect the environment variables for autoconf, automake, etc. given by
29615         the user.
29616
29617 2010-04-02  Bruno Haible  <bruno@clisp.org>
29618
29619         gnulib-tool: Provide the value of --m4-base to modules.
29620         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29621         of gl_m4_base.
29622
29623 2010-04-02  Eric Blake  <eblake@redhat.com>
29624
29625         maint.mk: fix some fallout
29626         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29627         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29628
29629 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29630
29631         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29632         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29633         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29634         (sc_cast_of_x_alloc_return_value): Likewise.
29635         (sc_cast_of_alloca_return_value): Likewise.
29636         (sc_space_tab): Likewise.
29637         (sc_prohibit_atoi_atof): Likewise.
29638         (sc_prohibit_magic_number_exit): Likewise.
29639         (sc_error_exit_success): Likewise.
29640         (sc_file_system): Likewise.
29641         (sc_prohibit_have_config_h): Likewise.
29642         (sc_require_config_h): Likewise.
29643         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29644         (sc_obsolete_symbols): Likewise.
29645         (sc_changelog): Likewise.
29646         (sc_program_name): Likewise.
29647         (sc_the_the): Likewise.
29648         (sc_trailing_blank): Likewise.
29649         (sc_two_space_separator_in_usage): Likewise.
29650         (sc_useless_cpp_parens): Likewise.
29651         (sc_GPL_version): Likewise.
29652         (sc_GFDL_version): Likewise.
29653         (sc_texinfo_acronym): Likewise.
29654         (sc_prohibit_cvs_keyword): Likewise.
29655         (sc_prohibit_stat_st_blocks): Likewise.
29656         (sc_prohibit_S_IS_definition): Likewise.
29657         (sc_redundant_const): Likewise.
29658         (sc_makefile_TAB_only_indentation): Likewise.
29659         (sc_m4_quote_check): Likewise.
29660         (sc_makefile_path_separator_check): Likewise.
29661         (sc_copyright_check): Likewise.
29662         (sc_Wundef_boolean): Likewise.
29663         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29664
29665         maint.mk: match 0 or more whitespace-before-function-call '('
29666         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29667         that have zero or two-and-more spaces between the function name
29668         and the open parenthesis.
29669         (sc_error_message_warn_fatal): Likewise.
29670         (sc_error_message_uppercase): Likewise.
29671         (sc_error_message_period): Likewise.
29672
29673 2010-03-31  Eric Blake  <eblake@redhat.com>
29674
29675         maint.mk: check for [ as well as test
29676         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29677         Based on a libvirt report by Matthias Bolte.
29678
29679         gnumakefile: don't squelch _version output
29680         * top/GNUmakefile (_version): Create one-shot dependency rather
29681         than using $(shell) when version must be regenerated.
29682         (_autoreconf): Run verbosely, by default.
29683
29684         sys_time: avoid compiler warnings
29685         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29686         unconditional, fixing regression from 2010-03-29.
29687         Reported by Simon Josefsson.
29688
29689 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29690
29691         maint.mk: s/_header_without_use/_sc_header_without_use/
29692         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29693         (sc_prohibit_assert_without_use): Use the new name.
29694         (sc_prohibit_close_stream_without_use): Likewise.
29695         (sc_prohibit_getopt_without_use): Likewise.
29696         (sc_prohibit_quotearg_without_use): Likewise.
29697         (sc_prohibit_quote_without_use): Likewise.
29698         (sc_prohibit_long_options_without_use): Likewise.
29699         (sc_prohibit_inttostr_without_use): Likewise.
29700         (sc_prohibit_ignore_value_without_use): Likewise.
29701         (sc_prohibit_error_without_use): Likewise.
29702         (sc_prohibit_xalloc_without_use): Likewise.
29703         (sc_prohibit_hash_without_use): Likewise.
29704         (sc_prohibit_hash_pjw_without_use): Likewise.
29705         (sc_prohibit_safe_read_without_use): Likewise.
29706         (sc_prohibit_argmatch_without_use): Likewise.
29707         (sc_prohibit_canonicalize_without_use): Likewise.
29708         (sc_prohibit_root_dev_ino_without_use): Likewise.
29709         (sc_prohibit_openat_without_use): Likewise.
29710         (sc_prohibit_c_ctype_without_use): Likewise.
29711         (sc_prohibit_signal_without_use): Likewise.
29712         (sc_prohibit_intprops_without_use): Likewise.
29713
29714 2010-03-30  Eric Blake  <eblake@redhat.com>
29715
29716         maint: improve module indicators
29717         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29718         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29719         columns, and avoid extra macro expansion.
29720
29721         fdopendir: work around FreeBSD bug
29722         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29723         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29724         * modules/dirent (Makefile.am): Substitute it.
29725         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29726         declaration.
29727         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29728         fix.
29729         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29730
29731 2010-03-29  Bruno Haible  <bruno@clisp.org>
29732
29733         Emit #pragma system_header after the inclusion guard, not before.
29734         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29735         guard that spans the entire file, not before. This enables an
29736         optimization in GCC's preprocessor.
29737         * lib/ctype.in.h: Likewise.
29738         * lib/dirent.in.h: Likewise.
29739         * lib/errno.in.h: Likewise.
29740         * lib/float.in.h: Likewise.
29741         * lib/getopt.in.h: Likewise.
29742         * lib/iconv.in.h: Likewise.
29743         * lib/langinfo.in.h: Likewise.
29744         * lib/locale.in.h: Likewise.
29745         * lib/math.in.h: Likewise.
29746         * lib/netdb.in.h: Likewise.
29747         * lib/netinet_in.in.h: Likewise.
29748         * lib/pty.in.h: Likewise.
29749         * lib/sched.in.h: Likewise.
29750         * lib/se-selinux.in.h: Likewise.
29751         * lib/search.in.h: Likewise.
29752         * lib/spawn.in.h: Likewise.
29753         * lib/stdarg.in.h: Likewise.
29754         * lib/stdint.in.h: Likewise.
29755         * lib/string.in.h: Likewise.
29756         * lib/strings.in.h: Likewise.
29757         * lib/sys_file.in.h: Likewise.
29758         * lib/sys_ioctl.in.h: Likewise.
29759         * lib/sys_time.in.h: Likewise.
29760         * lib/sys_times.in.h: Likewise.
29761         * lib/sys_utsname.in.h: Likewise.
29762         * lib/sys_wait.in.h: Likewise.
29763         * lib/sysexits.in.h: Likewise.
29764         * lib/wctype.in.h: Likewise.
29765
29766 2010-03-28  James Youngman  <jay@gnu.org>
29767
29768         save-cwd: don't leak a file descriptor when the caller execs.
29769         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29770         saved file descriptor.
29771         * modules/save-cwd (Depends-on): Depend on cloexec.
29772
29773 2010-03-29  Bruno Haible  <bruno@clisp.org>
29774
29775         Remove vestiges of fts-lgpl module.
29776         * lib/fts_.h: Assume GNULIB_FTS is 1.
29777         * lib/fts.c: Likewise.
29778         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29779
29780 2010-03-28  Bruno Haible  <bruno@clisp.org>
29781
29782         Fix definition of tests witness macro.
29783         * gnulib-tool (func_import): Fix definition of witness macro.
29784
29785 2010-03-28  Bruno Haible  <bruno@clisp.org>
29786
29787         Fix ioctl's protoype on glibc systems.
29788         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29789         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29790         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29791         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29792         signature. If not, arrange to replace the ioctl function.
29793         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29794         REPLACE_IOCTL.
29795         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29796         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29797         Reported by Ludovic Courtès <ludo@gnu.org>.
29798
29799 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29800
29801         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29802         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29803         made it so grep -r --include=GLOB* ... did not work.
29804
29805 2010-03-26  Jim Meyering  <meyering@redhat.com>
29806             Eric Blake  <eblake@redhat.com>
29807
29808         maint.mk: prohibit use of test's -o and -a operators
29809         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29810
29811 2010-03-28  Bruno Haible  <bruno@clisp.org>
29812
29813         Remove unused GNULIB_XYZ macro definitions.
29814         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29815         invocation.
29816
29817 2010-03-28  Bruno Haible  <bruno@clisp.org>
29818
29819         Mark privileged tests modules.
29820         * modules/idpriv-drop-tests (Status): New section.
29821         * modules/idpriv-droptemp-tests (Status): New section.
29822
29823 2010-03-28  Bruno Haible  <bruno@clisp.org>
29824
29825         Split C++ tests into separate tests modules.
29826         * modules/dirent-c++-tests: New file, extracted from
29827         modules/dirent-tests.
29828         * modules/dirent-tests: Depend on it.
29829         * modules/fcntl-h-c++-tests: New file, extracted from
29830         modules/fcntl-h-tests.
29831         * modules/fcntl-h-tests: Depend on it.
29832         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29833         * modules/glob-tests: Depend on it.
29834         * modules/iconv-h-c++-tests: New file, extracted from
29835         modules/iconv-h-tests.
29836         * modules/iconv-h-tests: Depend on it.
29837         * modules/langinfo-c++-tests: New file, extracted from
29838         modules/langinfo-tests.
29839         * modules/langinfo-tests: Depend on it.
29840         * modules/locale-c++-tests: New file, extracted from
29841         modules/locale-tests.
29842         * modules/locale-tests: Depend on it.
29843         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29844         * modules/math-tests: Depend on it.
29845         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29846         * modules/pty-tests: Depend on it.
29847         * modules/search-c++-tests: New file, extracted from
29848         modules/search-tests.
29849         * modules/search-tests: Depend on it.
29850         * modules/signal-c++-tests: New file, extracted from
29851         modules/signal-tests.
29852         * modules/signal-tests: Depend on it.
29853         * modules/spawn-c++-tests: New file, extracted from
29854         modules/spawn-tests.
29855         * modules/spawn-tests: Depend on it.
29856         * modules/stdio-c++-tests: New file, extracted from
29857         modules/stdio-tests.
29858         * modules/stdio-tests: Depend on it.
29859         * modules/stdlib-c++-tests: New file, extracted from
29860         modules/stdlib-tests.
29861         * modules/stdlib-tests: Depend on it.
29862         * modules/string-c++-tests: New file, extracted from
29863         modules/string-tests.
29864         * modules/string-tests: Depend on it.
29865         * modules/sys_ioctl-c++-tests: New file, extracted from
29866         modules/sys_ioctl-tests.
29867         * modules/sys_ioctl-tests: Depend on it.
29868         * modules/sys_select-c++-tests: New file, extracted from
29869         modules/sys_select-tests.
29870         * modules/sys_select-tests: Depend on it.
29871         * modules/sys_socket-c++-tests: New file, extracted from
29872         modules/sys_socket-tests.
29873         * modules/sys_socket-tests: Depend on it.
29874         * modules/sys_stat-c++-tests: New file, extracted from
29875         modules/sys_stat-tests.
29876         * modules/sys_stat-tests: Depend on it.
29877         * modules/sys_time-c++-tests: New file, extracted from
29878         modules/sys_time-tests.
29879         * modules/sys_time-tests: Depend on it.
29880         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29881         * modules/time-tests: Depend on it.
29882         * modules/unistd-c++-tests: New file, extracted from
29883         modules/unistd-tests.
29884         * modules/unistd-tests: Depend on it.
29885         * modules/wchar-c++-tests: New file, extracted from
29886         modules/wchar-tests.
29887         * modules/wchar-tests: Depend on it.
29888         * modules/wctype-c++-tests: New file, extracted from
29889         modules/wctype-tests.
29890         * modules/wctype-tests: Depend on it.
29891         Reported by Simon Josefsson.
29892
29893 2010-03-28  Bruno Haible  <bruno@clisp.org>
29894
29895         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29896         * gnulib-tool (func_exists_module): New function, extracted from
29897         func_verify_module.
29898         (func_verify_module): Use it.
29899         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29900         'foo' only if 'foo' exists.
29901         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29902         module.
29903
29904 2010-03-28  Bruno Haible  <bruno@clisp.org>
29905
29906         gnulib-tool: Add support for special categories of tests.
29907         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29908         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29909         (func_usage): Document them.
29910         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29911         inc_unportable_tests, inc_all_tests): New variables.
29912         (func_acceptable): Consider these variables.
29913         (func_modules_transitive_closure): Make it work when the 'Status' field
29914         consists of multiple words.
29915         (func_import): Store and restore the values of inc_cxx_tests,
29916         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29917         inc_all_tests in gnulib-comp.m4.
29918         (func_create_testdir): Set inc_all_tests to true.
29919         * doc/gnulib.texi (Extra tests modules): New section.
29920         Suggested by Jim Meyering.
29921
29922 2010-03-28  Bruno Haible  <bruno@clisp.org>
29923
29924         ansi-c++-opt: Allow turning off the C++ build by default.
29925         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29926         gl_CXX_CHOICE_DEFAULT_NO is defined.
29927         Requested by Eric Blake.
29928
29929 2010-03-28  Bruno Haible  <bruno@clisp.org>
29930
29931         unistd: Avoid #define replacements in C++ mode.
29932         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29933         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29934         setsockopt, shutdown, select): In C++, attach a warning to the function
29935         if possible, rather than #defining the symbol to a dysfunctional alias.
29936         Reported by John W. Eaton <jwe@gnu.org>.
29937
29938 2010-03-28  Bruno Haible  <bruno@clisp.org>
29939
29940         Fix link errors on mingw.
29941         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29942         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29943         $(LIBSOCKET).
29944         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29945         $(LIBSOCKET).
29946
29947 2010-03-28  Bruno Haible  <bruno@clisp.org>
29948             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29949
29950         lib-ignore: Determine different options for different compilers.
29951         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29952         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29953         Add comments.
29954         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29955         * NEWS: Mention the change.
29956
29957 2010-03-27  Bruno Haible  <bruno@clisp.org>
29958
29959         Remove unused GNULIB_XYZ macro definitions.
29960         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29961         * modules/fseek (configure.ac): Likewise.
29962         * modules/ioctl (configure.ac): Likewise.
29963         * modules/open (configure.ac): Likewise.
29964         * modules/stdlib-safer (configure.ac): Likewise.
29965
29966 2010-03-27  Bruno Haible  <bruno@clisp.org>
29967
29968         Add a remark about certain modules.
29969         * modules/malloc (Comment): New section.
29970         * modules/realloc (Comment): Likewise.
29971         * modules/sigpipe (Comment): Likewise.
29972
29973 2010-03-27  Bruno Haible  <bruno@clisp.org>
29974
29975         Resolve conflict between the two kinds of module indicators.
29976         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29977         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29978         * modules/canonicalize (configure.ac): Invoke
29979         gl_MODULE_INDICATOR_FOR_TESTS.
29980         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29981         GNULIB_XYZ.
29982         * tests/test-dirent-c++.cc: Likewise.
29983         * tests/test-dirent-safer.c: Likewise.
29984         * tests/test-dup2.c: Likewise.
29985         * tests/test-fchdir.c: Likewise.
29986         * tests/test-fcntl-h-c++.cc: Likewise.
29987         * tests/test-getopt.c: Likewise.
29988         * tests/test-getopt.h: Likewise.
29989         * tests/test-langinfo-c++.cc: Likewise.
29990         * tests/test-locale-c++.cc: Likewise.
29991         * tests/test-math-c++.cc: Likewise.
29992         * tests/test-pty-c++.cc: Likewise.
29993         * tests/test-search-c++.cc: Likewise.
29994         * tests/test-signal-c++.cc: Likewise.
29995         * tests/test-spawn-c++.cc: Likewise.
29996         * tests/test-stdio-c++.cc: Likewise.
29997         * tests/test-stdlib-c++.cc: Likewise.
29998         * tests/test-string-c++.cc: Likewise.
29999         * tests/test-sys_ioctl-c++.cc: Likewise.
30000         * tests/test-sys_select-c++.cc: Likewise.
30001         * tests/test-sys_socket-c++.cc: Likewise.
30002         * tests/test-sys_stat-c++.cc: Likewise.
30003         * tests/test-sys_time-c++.cc: Likewise.
30004         * tests/test-time-c++.cc: Likewise.
30005         * tests/test-unistd-c++.cc: Likewise.
30006         * tests/test-wchar-c++.cc: Likewise.
30007         * tests/uninorm/test-u8-nfc.c: Likewise.
30008         * tests/uninorm/test-u8-nfd.c: Likewise.
30009         * tests/uninorm/test-u8-nfkc.c: Likewise.
30010         * tests/uninorm/test-u8-nfkd.c: Likewise.
30011         * tests/uninorm/test-u16-nfc.c: Likewise.
30012         * tests/uninorm/test-u16-nfd.c: Likewise.
30013         * tests/uninorm/test-u16-nfkc.c: Likewise.
30014         * tests/uninorm/test-u16-nfkd.c: Likewise.
30015         * tests/uninorm/test-u32-nfc.c: Likewise.
30016         * tests/uninorm/test-u32-nfc-big.c: Likewise.
30017         * tests/uninorm/test-u32-nfd.c: Likewise.
30018         * tests/uninorm/test-u32-nfd-big.c: Likewise.
30019         * tests/uninorm/test-u32-nfkc.c: Likewise.
30020         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
30021         * tests/uninorm/test-u32-nfkd.c: Likewise.
30022         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
30023         * tests/uninorm/test-u32-normalize-big.c: Likewise.
30024
30025 2010-03-27  Bruno Haible  <bruno@clisp.org>
30026
30027         Distinguish two kinds of module indicators.
30028         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
30029         gl_MODULE_INDICATOR.
30030         (gl_MODULE_INDICATOR): New macro.
30031         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30032         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
30033         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
30034         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
30035         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
30036         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
30037         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
30038         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
30039         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
30040         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
30041         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
30042         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
30043         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
30044         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
30045         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
30046         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
30047         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
30048         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
30049         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
30050         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
30051         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
30052         * modules/cloexec (configure.ac): Likewise.
30053         * modules/getopt-gnu (configure.ac): Likewise.
30054         * modules/uninorm/u8-normalize (configure.ac): Likewise.
30055         * modules/uninorm/u16-normalize (configure.ac): Likewise.
30056         * modules/uninorm/u32-normalize (configure.ac): Likewise.
30057         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
30058
30059 2010-03-27  Bruno Haible  <bruno@clisp.org>
30060
30061         New module description field 'Comment'.
30062         * gnulib-tool: New option --extract-comment.
30063         (func_usage): Document it.
30064         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
30065         (func_get_comment): New function.
30066         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
30067
30068 2010-03-27  Bruno Haible  <bruno@clisp.org>
30069
30070         Addendum to 2010-02-07 commit.
30071         * gnulib-tool (func_usage): Document --extract-applicability option.
30072
30073 2010-03-27  Bruno Haible  <bruno@clisp.org>
30074
30075         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
30076         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
30077         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
30078         rather than link errors.
30079
30080 2010-03-27  Bruno Haible  <bruno@clisp.org>
30081
30082         Avoid side effects from tests-related modules on the compilation of lib.
30083         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
30084         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
30085         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
30086         parameter. Emit into AM_CPPFLAGS a definition of the designated C
30087         macro.
30088         (func_import): Define a witness macro. Assign it a value that depends
30089         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
30090         tests-related modules.
30091         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
30092         Reported by Jim Meyering.
30093
30094 2010-03-27  Bruno Haible  <bruno@clisp.org>
30095
30096         Factorize common .m4 code.
30097         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
30098         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
30099         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
30100         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
30101         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
30102         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
30103         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
30104         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
30105         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
30106         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
30107         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
30108         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
30109         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
30110         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
30111         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
30112         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
30113         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
30114         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
30115         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
30116         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
30117         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
30118         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
30119         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
30120         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
30121         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
30122         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
30123         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
30124         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
30125         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
30126         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
30127         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
30128         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
30129
30130 2010-03-27  Bruno Haible  <bruno@clisp.org>
30131
30132         Fix a compilation error on Cygwin with g++ >= 4.3.
30133         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
30134         if it is undefined or if we alias it to chmod.
30135         (lstat): Don't warn about the use of this function if it is undefined
30136         or if we alias it to stat.
30137         Reported by Simon Josefsson.
30138
30139 2010-03-27  Bruno Haible  <bruno@clisp.org>
30140
30141         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
30142         * modules/getlogin (configure.ac): Update.
30143
30144         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
30145         * modules/getlogin_r (configure.ac): Update.
30146
30147         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
30148         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
30149         * modules/inet_ntop (configure.ac): Update.
30150
30151         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
30152         * modules/inet_pton (configure.ac): Update.
30153
30154         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
30155         * modules/mbslen (configure.ac): Update.
30156
30157         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
30158         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
30159         * modules/forkpty (configure.ac): Update.
30160         * modules/openpty (configure.ac): Update.
30161
30162 2010-03-26  Simon Josefsson  <simon@josefsson.org>
30163
30164         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
30165         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
30166
30167 2010-03-25  Eric Blake  <eblake@redhat.com>
30168
30169         maint: use pragma consistently across replacement headers
30170         * lib/ctype.in.h (system_header): Hoist for consistent placement.
30171         * lib/dirent.in.h (system_header): Likewise.
30172         * lib/errno.in.h (system_header): Likewise.
30173         * lib/float.in.h (system_header): Likewise.
30174         * lib/getopt.in.h (system_header): Likewise.
30175         * lib/iconv.in.h (system_header): Likewise.
30176         * lib/inttypes.in.h (system_header): Likewise.
30177         * lib/langinfo.in.h (system_header): Likewise.
30178         * lib/locale.in.h (system_header): Likewise.
30179         * lib/math.in.h (system_header): Likewise.
30180         * lib/netdb.in.h (system_header): Likewise.
30181         * lib/netinet_in.in.h (system_header): Likewise.
30182         * lib/pty.in.h (system_header): Likewise.
30183         * lib/sched.in.h (system_header): Likewise.
30184         * lib/se-selinux.in.h (system_header): Likewise.
30185         * lib/search.in.h (system_header): Likewise.
30186         * lib/spawn.in.h (system_header): Likewise.
30187         * lib/stdarg.in.h (system_header): Likewise.
30188         * lib/stdint.in.h (system_header): Likewise.
30189         * lib/string.in.h (system_header): Likewise.
30190         * lib/strings.in.h (system_header): Likewise.
30191         * lib/sys_file.in.h (system_header): Likewise.
30192         * lib/sys_ioctl.in.h (system_header): Likewise.
30193         * lib/sys_socket.in.h (system_header): Likewise.
30194         * lib/sys_times.in.h (system_header): Likewise.
30195         * lib/sys_utsname.in.h (system_header): Likewise.
30196         * lib/sys_wait.in.h (system_header): Likewise.
30197         * lib/sysexits.in.h (system_header): Likewise.
30198         * lib/unistd.in.h (system_header): Likewise.
30199         * lib/wctype.in.h (system_header): Likewise.
30200
30201         arpa/inet: fix mingw compilation warning
30202         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
30203         Reported by Matthew Bolte.
30204
30205 2010-03-25  Bruno Haible  <bruno@clisp.org>
30206
30207         Avoid collision between gnulib wrapper and libintl wrapper.
30208         * lib/printf.c (printf): Don't define if a printf wrapper is already
30209         defined in intl/printf.c.
30210         Reported by Michel Boaventura <michel@michelboaventura.com>.
30211
30212 2010-03-25  Bruno Haible  <bruno@clisp.org>
30213
30214         Use ANSI C.
30215         * lib/readutmp.h (getutent): Provide ANSI C prototype.
30216
30217 2010-03-25  Bruno Haible  <bruno@clisp.org>
30218
30219         Minor formatting changes.
30220         * lib/acosl.c: Insert space before function argument list.
30221         * lib/argz.c: Likewise.
30222         * lib/asinl.c: Likewise.
30223         * lib/expl.c: Likewise.
30224         * lib/gen-uni-tables.c: Likewise.
30225         * lib/gettext.h: Likewise.
30226         * lib/glthread/lock.h: Likewise.
30227         * lib/tanl.c: Likewise.
30228         * lib/uniname/uniname.c: Likewise.
30229         * tests/test-idpriv-drop.c: Likewise.
30230         * tests/test-idpriv-droptemp.c: Likewise.
30231         * tests/test-lock.c: Likewise.
30232         * tests/test-tls.c: Likewise.
30233         * lib/argp-help.c: Insert space before function-like macro argument
30234         list.
30235         * lib/memcmp.c: Likewise.
30236         * tests/test-base64.c: Likewise.
30237         * lib/localename.c: Insert space before sizeof's argument list.
30238         * lib/safe-alloc.h: Likewise.
30239         * lib/file-set.h: Insert space before macro argument list.
30240         * tests/test-argp.c: Likewise.
30241         * lib/argp-namefrob.h: Insert space before function parameter list.
30242         * lib/getaddrinfo.c: Likewise.
30243         * lib/netdb.in.h: Likewise.
30244         * lib/parse-duration.h: Likewise.
30245         * lib/parse-duration.c: Likewise.
30246         * lib/poll.c: Likewise.
30247         * lib/select.c: Likewise.
30248         * lib/trim.h: Likewise.
30249         * tests/test-usleep.c: Likewise.
30250         * lib/ldexpl.c: Insert space before function parameter list and before
30251         function argument list.
30252         * lib/logl.c: Likewise.
30253         * lib/sqrtl.c: Likewise.
30254         * lib/trim.c: Likewise.
30255         * lib/cosl.c: Use GNU style indentation. Insert space before function
30256         argument list.
30257         * lib/sinl.c: Likewise.
30258         * lib/tsearch.c: Insert space after 'for'.
30259         Reported by Jim Meyering.
30260
30261 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30262
30263         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30264         config header before grepping, as it's not present before
30265         autoreconf/configure are run.  Reported by Simon Josefsson.
30266
30267 2010-03-23  Bruno Haible  <bruno@clisp.org>
30268
30269         pt_chown: Make it work with automake < 1.11.
30270         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30271         Reported by Simon Josefsson.
30272
30273 2010-03-23  Bruno Haible  <bruno@clisp.org>
30274
30275         pt_chown: Don't depend on GPLed modules.
30276         * lib/pt_chown.c: Don't include idpriv.h.
30277         (main): Don't drop privileges.
30278         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30279         Reported by Simon Josefsson.
30280
30281 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30282
30283         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30284         suggestions from karl@freefriends.org (Karl Berry).
30285
30286 2010-03-22  Eric Blake  <eblake@redhat.com>
30287
30288         gethostname: further tweaks
30289         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30290         are overriding gethostname.
30291         Suggested by Bruno Haible.
30292
30293 2010-03-21  Bruno Haible  <bruno@clisp.org>
30294
30295         Fix comments.
30296         * lib/forkpty.c (rpl_forkpty): Fix comment.
30297         * lib/openpty.c (rpl_openpty): Likewise.
30298         Reported by Eric Blake.
30299
30300 2010-03-22  Eric Blake  <eblake@redhat.com>
30301
30302         gethostname: fix build on mingw
30303         * lib/unistd.in.h (includes): Work around fact that mingw
30304         <winsock2.h> re-includes <unistd.h>, by avoiding any
30305         redeclarations if we are being included by <winsock2.h>.
30306         Reported by Matthias Bolte.
30307
30308 2010-03-21  Bruno Haible  <bruno@clisp.org>
30309
30310         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30311         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30312         modifications.
30313         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30314         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30315         provide the replacement.
30316         * modules/forkpty (Depends-on): Add openpty, login_tty.
30317         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30318         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30319         * doc/glibc-functions/forkpty.texi: More supported platforms.
30320         * config/srclist.txt: Add forkpty.c (commented).
30321
30322 2010-03-21  Bruno Haible  <bruno@clisp.org>
30323
30324         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30325         (Makefile.am): Verify that PTY_LIB is defined.
30326
30327         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30328
30329 2010-03-21  Bruno Haible  <bruno@clisp.org>
30330
30331         Tests for module 'login_tty'.
30332         * modules/login_tty-tests: New file.
30333         * tests/test-login_tty.c: New file.
30334
30335         New module 'login_tty'.
30336         * lib/login_tty.c: New file.
30337         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
30338         * modules/login_tty: New file.
30339         * doc/glibc-functions/login_tty.texi: Mention the new module.
30340
30341 2010-03-21  Bruno Haible  <bruno@clisp.org>
30342
30343         login_tty: Documentation.
30344         * doc/glibc-functions/login_tty.texi: New file.
30345         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
30346
30347 2010-03-21  Bruno Haible  <bruno@clisp.org>
30348
30349         pty: Consistent macro naming.
30350         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
30351         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
30352         * modules/pty (configure.ac): Update.
30353
30354 2010-03-21  Bruno Haible  <bruno@clisp.org>
30355
30356         Tests for openpty: Make stricter.
30357         * tests/test-openpty.c (main): Add test of canonical processing and
30358         erase.
30359         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30360
30361         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30362         * lib/openpty.c (openpty): New replacement function.
30363         * lib/pty.in.h: Include <termios.h>.
30364         (openpty): Update declaration. Add comments.
30365         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30366         is not declared, arrange to provide the replacement. Check for _getpty
30367         and posix_openpt.
30368         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30369         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30370         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30371         * modules/pty-tests (test_pty_c___LDADD): New variable.
30372         * doc/glibc-functions/openpty.texi: More supported platforms.
30373
30374 2010-03-21  Bruno Haible  <bruno@clisp.org>
30375
30376         setenv: Tweaks.
30377         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30378         the test program.
30379         * doc/posix-functions/setenv.texi: Update platforms list.
30380
30381 2010-03-21  Bruno Haible  <bruno@clisp.org>
30382
30383         New module 'unlockpt'.
30384         * lib/unlockpt.c: New file, from glibc with modifications.
30385         * m4/unlockpt.m4: New file.
30386         * modules/unlockpt: New file.
30387         * lib/stdlib.in.h (unlockpt): New declaration.
30388         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30389         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30390         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30391         HAVE_UNLOCKPT.
30392         * doc/posix-functions/unlockpt.texi: Mention the new module.
30393         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30394         * config/srclist.txt: Add unlockpt.c (commented).
30395
30396 2010-03-21  Jim Meyering  <meyering@redhat.com>
30397
30398         maint.mk: prohibit inclusion of "intprops.h" without use
30399         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30400
30401 2010-03-21  Bruno Haible  <bruno@clisp.org>
30402
30403         New module 'grantpt'.
30404         * lib/grantpt.c: New file, from glibc with modifications.
30405         * m4/grantpt.m4: New file.
30406         * modules/grantpt: New file.
30407         * lib/stdlib.in.h (grantpt): New declaration.
30408         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30409         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30410         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30411         HAVE_GRANTPT.
30412         * doc/posix-functions/grantpt.texi: Mention the new module.
30413         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30414         * config/srclist.txt: Add grantpt.c (commented).
30415
30416 2010-03-21  Bruno Haible  <bruno@clisp.org>
30417
30418         New module 'pt_chown'.
30419         * lib/pt_chown.c: New file, from glibc with modifications.
30420         * lib/pty-private.h: New file, from glibc with modifications.
30421         * modules/pt_chown: New file.
30422         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30423
30424 2010-03-21  Bruno Haible  <bruno@clisp.org>
30425
30426         Tests for module 'ptsname'.
30427         * modules/ptsname-tests: New file.
30428         * tests/test-ptsname.c: New file.
30429
30430         New module 'ptsname'.
30431         * lib/ptsname.c: New file, from glibc with modifications.
30432         * m4/ptsname.m4: New file.
30433         * modules/ptsname: New file.
30434         * lib/stdlib.in.h (ptsname): New declaration.
30435         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30436         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30437         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30438         HAVE_PTSNAME.
30439         * doc/posix-functions/ptsname.texi: Mention the new module.
30440         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30441         * config/srclist.txt: Add ptsname.c (commented).
30442
30443 2010-03-21  Bruno Haible  <bruno@clisp.org>
30444
30445         Tests for module 'ttyname_r'.
30446         * modules/ttyname_r-tests: New file.
30447         * tests/test-ttyname_r.c: New file.
30448
30449         New module 'ttyname_r'.
30450         * lib/ttyname_r.c: New file.
30451         * m4/ttyname_r.m4: New file.
30452         * modules/ttyname_r: New file.
30453         * lib/unistd.in.h (ttyname_r): New declaration.
30454         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30455         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30456         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30457         HAVE_TTYNAME_R.
30458         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30459         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30460
30461 2010-03-20  Bruno Haible  <bruno@clisp.org>
30462
30463         signal: Undefine macro definitions in C++ mode.
30464         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30465         sigfillset): Undefine macro definitions from the system header in C++
30466         mode.
30467         Reported by John W. Eaton <jwe@gnu.org>.
30468
30469 2010-03-20  Bruno Haible  <bruno@clisp.org>
30470
30471         Ensure no #include statements inside extern "C" { ... }.
30472         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30473         contain #include statements.
30474         * lib/time.in.h: Likewise.
30475
30476 2010-03-20  Bruno Haible  <bruno@clisp.org>
30477
30478         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30479         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30480         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30481         Reported by John W. Eaton <jwe@gnu.org>.
30482
30483 2010-03-20  Bruno Haible  <bruno@clisp.org>
30484
30485         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30486         Reported by Jim Meyering.
30487
30488 2010-03-20  Bruno Haible  <bruno@clisp.org>
30489
30490         pipe: Set errno upon failure.
30491         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30492         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30493         errno value in error message.
30494
30495 2010-03-20  Bruno Haible  <bruno@clisp.org>
30496             Jim Meyering  <meyering@redhat.com>
30497
30498         lchown: Avoid "unused variable" warning.
30499         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30500
30501 2010-03-20  Bruno Haible  <bruno@clisp.org>
30502
30503         Work around unlink() bug on MacOS X 10.5.6.
30504         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30505         attempting to unlink a parent directory.
30506         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30507         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30508         activate for the replacement function.
30509         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30510
30511 2010-03-20  Bruno Haible  <bruno@clisp.org>
30512
30513         Fix link errors on Solaris 8.
30514         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30515         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30516
30517 2010-03-19  Jim Meyering  <meyering@redhat.com>
30518
30519         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30520         The _LIBC implementation of build_range_exp correctly honors the
30521         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30522         However, the non-_LIBC implementation would ignore that syntax-bit
30523         flag and return REG_ERANGE unconditionally.
30524         This change makes it honor that flag.
30525         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30526         Make two pointer parameters "const".
30527         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30528         (parse_bracket_exp): Update caller.
30529
30530         regex.m4: correct the reversed range endpoint ([b-a]) test
30531         * m4/regex.m4: When requiring that [b-a] evoke failure,
30532         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30533         test pass once again for x86-based systems.
30534
30535 2010-03-19  Bruno Haible  <bruno@clisp.org>
30536
30537         scandir: Fix link error on Solaris 8.
30538         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30539         macros.
30540
30541 2010-03-19  Bruno Haible  <bruno@clisp.org>
30542
30543         getusershell: Fix documentation.
30544         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30545         module.
30546         * doc/glibc-functions/setusershell.texi: Likewise.
30547
30548         getusershell: Provide declaration, missing on Solaris 9.
30549         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30550         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30551         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30552         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30554         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30555         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30556         HAVE_GETUSERSHELL.
30557         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30558
30559 2010-03-19  Bruno Haible  <bruno@clisp.org>
30560
30561         wctype: Provide iswblank function.
30562         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30563         exists and is fine.
30564         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30565         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30566         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30567         * doc/posix-functions/iswblank.texi: Update.
30568
30569 2010-03-19  Bruno Haible  <bruno@clisp.org>
30570
30571         Tests of module 'pty' in C++ mode.
30572         * modules/pty-tests: New file.
30573         * tests/test-pty-c++.cc: New file.
30574         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30575
30576 2010-03-19  Eric Blake  <eblake@redhat.com>
30577
30578         logb: fix documentation
30579         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30580         1.5 declaration bug.
30581
30582         forkpty, openpty: prefer glibc's const-safe prototype
30583         * lib/forkpty.c (rpl_forkpty): New file.
30584         * lib/openpty.c (rpl_openpty): Likewise.
30585         * modules/forkpty (Files): Distribute it.
30586         * modules/openpty (Files): Likewise.
30587         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30588         check...
30589         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30590         replacement for for non-const BSD signature.
30591         * modules/pty (Makefile.am): Substitute witnesses.
30592         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30593         * tests/test-forkpty.c: Update signature check.
30594         * tests/test-openpty.c: Likewise.
30595         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30596         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30597
30598         forkpty, openpty: split functions into new modules
30599         * modules/pty (Makefile.am): Substitute new witnesses.
30600         (Libraries): Move library detection...
30601         * modules/forkpty: ...into new module.
30602         * modules/openpty: Another new module.
30603         * modules/pty-tests: Rename and split...
30604         * modules/forkpty-tests: ...to this...
30605         * modules/openpty-tests: ...and this.
30606         * tests/test-pty.c: Rename and split...
30607         * tests/test-forkpty.c: ...to this...
30608         * tests/test-openpty.c: ...and this.
30609         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30610         (gl_PTY): Split library searching...
30611         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30612         (gl_FORKPTY, gl_OPENPTY): New macros.
30613         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30614         * NEWS: Mention the split.
30615         * MODULES.html.sh (Misc): Document the modules.
30616         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30617         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30618
30619         pty: improve replacement header
30620         * lib/pty.in.h: New file.
30621         * modules/pty (Files): Ship it.
30622         (Makefile.am): Always build replacement.
30623         * m4/pty.m4: Rename...
30624         * m4/pty_h.m4: ...to this.
30625         (gl_PTY): Modernize setting of witness macros; update check of
30626         forkpty to take proper advantage of cache.
30627         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30628
30629         getopt: avoid compiler warning
30630         * lib/getopt.c (attribute_hidden): Remove unused macro.
30631
30632 2010-03-18  Bruno Haible  <bruno@clisp.org>
30633
30634         Fix link errors on Solaris 8.
30635         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30636         * modules/search-tests (test_search_c___LDADD): Likewise.
30637         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30638         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30639         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30640         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30641         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30642         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30643         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30644
30645 2010-03-18  Bruno Haible  <bruno@clisp.org>
30646
30647         Fix bug introduced on 2010-03-14.
30648         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30649         (gl_SPAWN_H): Require it.
30650         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30651         Reported by Simon Josefsson.
30652
30653 2010-03-18  Bruno Haible  <bruno@clisp.org>
30654
30655         Fix typo introduced on 2009-12-31.
30656         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30657         posix_spawn_file_actions_adddup2.
30658
30659 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30660         and Eric Blake  <eblake@redhat.com>
30661
30662         test-vc-list-files-git: make more robust
30663         * tests/test-vc-list-files-git.sh: Unset problematic environment
30664         variables.  Chain commands together.
30665
30666 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30667
30668         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30669         `AC_CHECK_DECL' invocation.
30670
30671 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30672
30673         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30674         appears before executable statements. Suggested by Petr Sumbera
30675         <Petr.Sumbera@Sun.COM>.
30676
30677 2010-03-14  Bruno Haible  <bruno@clisp.org>
30678
30679         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30680         portability problems. Instead use a simpler test.
30681         (main): Check that invalid arguments are rejected only on Linux.
30682
30683 2010-03-14  Bruno Haible  <bruno@clisp.org>
30684
30685         Fix bug introduced on 2009-12-31.
30686         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30687         gl_PREREQ_SYS_H_WINSOCK2 always.
30688         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30689         SYS_SOCKET_H variable.
30690         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30691         Update comments.
30692         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30693         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30694         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30696         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30697
30698 2010-03-14  Bruno Haible  <bruno@clisp.org>
30699
30700         Fix values returned by sinl, cosl.
30701         * lib/trigl.h: Add specification comments.
30702         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30703         that combines the values from the precomputed table with the values of
30704         the Chebyshev polynomials.
30705
30706 2010-03-14  Bruno Haible  <bruno@clisp.org>
30707
30708         Fix compilation error when modules 'posix_spawn[p]' are not used.
30709         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30710         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30711
30712 2010-03-14  Bruno Haible  <bruno@clisp.org>
30713
30714         Fix compilation error on mingw when module 'time_r' is not used.
30715         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30716         is 1.
30717         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30718         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30719         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30720         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30721
30722 2010-03-14  Bruno Haible  <bruno@clisp.org>
30723
30724         Fix compilation error with Sun C.
30725         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30726         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30727         instead of GCC specific ULONG_LONG_MAX.
30728         * lib/xstrtoll.c: Likewise.
30729         * lib/xstrtoull.c: Likewise.
30730
30731 2010-03-13  Bruno Haible  <bruno@clisp.org>
30732
30733         Allow the user to disable C++ code and tests.
30734         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30735         (gl_PROG_ANSI_CXX): Require it.
30736
30737 2010-03-13  Bruno Haible  <bruno@clisp.org>
30738
30739         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30740         cases.
30741
30742 2010-03-13  Bruno Haible  <bruno@clisp.org>
30743
30744         Test that gnulib does not break the standard C++ headers.
30745         * tests/test-locale-c++2.cc: New file.
30746         * modules/locale-tests (Files): Add it.
30747         (Makefile.am): Compile it for test-locale-c++.
30748         * tests/test-math-c++2.cc: New file.
30749         * modules/math-tests (Files): Add it.
30750         (Makefile.am): Compile it for test-math-c++.
30751         * tests/test-signal-c++2.cc: New file.
30752         * modules/signal-tests (Files): Add it.
30753         (Makefile.am): Compile it for test-signal-c++.
30754         * tests/test-stdio-c++2.cc: New file.
30755         * modules/stdio-tests (Files): Add it.
30756         (Makefile.am): Compile it for test-stdio-c++.
30757         * tests/test-stdlib-c++2.cc: New file.
30758         * modules/stdlib-tests (Files): Add it.
30759         (Makefile.am): Compile it for test-stdlib-c++.
30760         * tests/test-string-c++2.cc: New file.
30761         * modules/string-tests (Files): Add it.
30762         (Makefile.am): Compile it for test-string-c++.
30763         * tests/test-time-c++2.cc: New file.
30764         * modules/time-tests (Files): Add it.
30765         (Makefile.am): Compile it for test-time-c++.
30766         Reported by John W. Eaton <jwe@gnu.org>.
30767
30768 2010-03-13  Bruno Haible  <bruno@clisp.org>
30769
30770         * gnulib-tool (func_usage): Clarify which options are available for
30771         --create-testdir and --create-megatestdir.
30772
30773 2010-03-13  Bruno Haible  <bruno@clisp.org>
30774
30775         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30776         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30777         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30778         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30779         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30780         when appropriate.
30781         Reported by Jim Meyering.
30782
30783 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30784
30785         * gnulib-tool (func_import): Explain origin of code.
30786
30787 2010-03-12  Bruno Haible  <bruno@clisp.org>
30788
30789         Fix problem with automake's definition of CXXLINK.
30790         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30791         Reported by Simon Josefsson and Ludovic Courtès.
30792
30793 2010-03-12  Bruno Haible  <bruno@clisp.org>
30794
30795         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30796         stable releases.
30797
30798 2010-03-11  Bruno Haible  <bruno@clisp.org>
30799
30800         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30801         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30802         whether the system provides one variant or multiple variants of the
30803         function.
30804         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30805         C++ compilers.
30806         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30807         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30808         Reported by Jim Meyering.
30809
30810 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30811
30812         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30813
30814 2010-03-08  Bruno Haible  <bruno@clisp.org>
30815
30816         gnulib-tool: Add support for --libtool in --create-testdir.
30817         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30818         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30819
30820 2010-03-08  Eric Blake  <eblake@redhat.com>
30821
30822         gnulib-tool.texi: mention possibility of git submodule
30823         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30824         submodules.
30825         * doc/.gitignore: Ignore another generated file.
30826
30827 2010-03-08  Karl Berry  <karl@gnu.org>
30828
30829         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30830         of committing gnulib files while skipping others.
30831
30832 2010-03-07  Bruno Haible  <bruno@clisp.org>
30833
30834         Tests of module 'wctype' in C++ mode.
30835         * tests/test-wctype-c++.cc: New file.
30836         * modules/wctype-tests (Files): Add it and tests/signature.h.
30837         (Depends-on): Add ansi-c++-opt.
30838         (Makefile.am): Arrange to compile and run test-wctype-c++.
30839
30840         Tests of module 'wchar' in C++ mode.
30841         * tests/test-wchar-c++.cc: New file.
30842         * modules/wchar-tests (Files): Add it and tests/signature.h.
30843         (Depends-on): Add ansi-c++-opt.
30844         (Makefile.am): Arrange to compile and run test-wchar-c++.
30845         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30846         gl_MODULE_INDICATOR.
30847
30848         Tests of module 'unistd' in C++ mode.
30849         * tests/test-unistd-c++.cc: New file.
30850         * modules/unistd-tests (Files): Add it and tests/signature.h.
30851         (Depends-on): Add ansi-c++-opt.
30852         (Makefile.am): Arrange to compile and run test-unistd-c++.
30853         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30854         gl_MODULE_INDICATOR.
30855
30856         Tests of module 'time' in C++ mode.
30857         * tests/test-time-c++.cc: New file.
30858         * modules/time-tests (Files): Add it and tests/signature.h.
30859         (Depends-on): Add ansi-c++-opt.
30860         (Makefile.am): Arrange to compile and run test-time-c++.
30861         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30862
30863         Tests of module 'sys_time' in C++ mode.
30864         * tests/test-sys_time-c++.cc: New file.
30865         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30866         (Depends-on): Add ansi-c++-opt.
30867         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30868         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30869         gl_MODULE_INDICATOR.
30870
30871         Tests of module 'sys_stat' in C++ mode.
30872         * tests/test-sys_stat-c++.cc: New file.
30873         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30874         (Depends-on): Add ansi-c++-opt.
30875         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30876         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30877         gl_MODULE_INDICATOR.
30878
30879         Tests of module 'sys_socket' in C++ mode.
30880         * tests/test-sys_socket-c++.cc: New file.
30881         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30882         (Depends-on): Add ansi-c++-opt.
30883         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30884         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30885         gl_MODULE_INDICATOR.
30886
30887         Tests of module 'sys_select' in C++ mode.
30888         * tests/test-sys_select-c++.cc: New file.
30889         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30890         (Depends-on): Add ansi-c++-opt.
30891         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30892         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30893         gl_MODULE_INDICATOR.
30894
30895         Tests of module 'sys_ioctl' in C++ mode.
30896         * tests/test-sys_ioctl-c++.cc: New file.
30897         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30898         (Depends-on): Add ansi-c++-opt.
30899         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30900         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30901         gl_MODULE_INDICATOR.
30902
30903         Tests of module 'string' in C++ mode.
30904         * tests/test-string-c++.cc: New file.
30905         * modules/string-tests (Files): Add it and tests/signature.h.
30906         (Depends-on): Add ansi-c++-opt.
30907         (Makefile.am): Arrange to compile and run test-string-c++.
30908         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30909         gl_MODULE_INDICATOR.
30910
30911         Tests of module 'stdlib' in C++ mode.
30912         * tests/test-stdlib-c++.cc: New file.
30913         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30914         (Depends-on): Add ansi-c++-opt.
30915         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30916         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30917         gl_MODULE_INDICATOR.
30918
30919         Tests of module 'stdio' in C++ mode.
30920         * tests/test-stdio-c++.cc: New file.
30921         * modules/stdio-tests (Files): Add it and tests/signature.h.
30922         (Depends-on): Add ansi-c++-opt.
30923         (Makefile.am): Arrange to compile and run test-stdio-c++.
30924         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30925         gl_MODULE_INDICATOR.
30926
30927         Tests of module 'spawn' in C++ mode.
30928         * tests/test-spawn-c++.cc: New file.
30929         * modules/spawn-tests (Files): Add it and tests/signature.h.
30930         (Depends-on): Add ansi-c++-opt.
30931         (Makefile.am): Arrange to compile and run test-spawn-c++.
30932         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30933         gl_MODULE_INDICATOR.
30934
30935         Tests of module 'signal' in C++ mode.
30936         * tests/test-signal-c++.cc: New file.
30937         * modules/signal-tests (Files): Add it and tests/signature.h.
30938         (Depends-on): Add ansi-c++-opt.
30939         (Makefile.am): Arrange to compile and run test-signal-c++.
30940         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30941         gl_MODULE_INDICATOR.
30942
30943         Tests of module 'search' in C++ mode.
30944         * tests/test-search-c++.cc: New file.
30945         * modules/search-tests (Files): Add it and tests/signature.h.
30946         (Depends-on): Add ansi-c++-opt.
30947         (Makefile.am): Arrange to compile and run test-search-c++.
30948         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30949         gl_MODULE_INDICATOR.
30950
30951         Tests of module 'math' in C++ mode.
30952         * tests/test-math-c++.cc: New file.
30953         * modules/math-tests (Files): Add it and tests/signature.h.
30954         (Depends-on): Add ansi-c++-opt.
30955         (Makefile.am): Arrange to compile and run test-math-c++.
30956         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30957
30958         Tests of module 'locale' in C++ mode.
30959         * tests/test-locale-c++.cc: New file.
30960         * modules/locale-tests (Files): Add it and tests/signature.h.
30961         (Depends-on): Add ansi-c++-opt.
30962         (Makefile.am): Arrange to compile and run test-locale-c++.
30963         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30964         gl_MODULE_INDICATOR.
30965
30966         Tests of module 'langinfo' in C++ mode.
30967         * tests/test-langinfo-c++.cc: New file.
30968         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30969         (Depends-on): Add ansi-c++-opt.
30970         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30971         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30972         gl_MODULE_INDICATOR.
30973
30974         Tests of module 'iconv-h' in C++ mode.
30975         * tests/test-iconv-h-c++.cc: New file.
30976         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30977         (Depends-on): Add ansi-c++-opt.
30978         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30979
30980         Tests of module 'glob' in C++ mode.
30981         * tests/test-glob-c++.cc: New file.
30982         * modules/glob-tests (Files): Add it.
30983         (Depends-on): Add ansi-c++-opt.
30984         (Makefile.am): Arrange to compile and run test-glob-c++.
30985
30986         Tests of module 'fcntl-h' in C++ mode.
30987         * tests/test-fcntl-h-c++.cc: New file.
30988         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30989         (Depends-on): Add ansi-c++-opt.
30990         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30991         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30992         gl_MODULE_INDICATOR.
30993
30994         Tests of module 'dirent' in C++ mode.
30995         * tests/test-dirent-c++.cc: New file.
30996         * modules/dirent-tests (Files): Add it and tests/signature.h.
30997         (Depends-on): Add ansi-c++-opt.
30998         (Makefile.am): Arrange to compile and run test-dirent-c++.
30999         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31000         gl_MODULE_INDICATOR.
31001
31002         New module 'ansi-c++-opt'.
31003         * modules/ansi-c++-opt: New file.
31004         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
31005
31006         Document C++ namespace mode.
31007         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
31008
31009         wctype: Avoid #define replacements in C++ mode.
31010         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
31011         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
31012         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
31013         In C++, define a namespaced alias symbol.
31014         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
31015         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
31016         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
31017         rule.
31018
31019         wchar: Avoid #define replacements in C++ mode.
31020         * lib/wchar.in.h: Include c++defs.h.
31021         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
31022         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
31023         symbol.
31024         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
31025         * modules/wchar (Depends-on): Add c++defs.
31026         (Makefile.am): Update wchar.h rule.
31027
31028         unistd: Avoid #define replacements in C++ mode.
31029         * lib/unistd.in.h: Include c++defs.h.
31030         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
31031         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
31032         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
31033         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
31034         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
31035         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
31036         symbol.
31037         (environ): Update.
31038         * modules/unistd (Depends-on): Add c++defs.
31039         (Makefile.am): Update unistd.h rule.
31040
31041         time: Avoid #define replacements in C++ mode.
31042         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
31043         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
31044         define a namespaced alias symbol.
31045         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
31046         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
31047         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
31048         * modules/time (Depends-on): Add c++defs, warn-on-use.
31049         (Makefile.am): Update time.h rule.
31050         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31051         * modules/nanosleep (configure.ac): Likewise.
31052         * modules/strptime (configure.ac): Likewise.
31053         * modules/timegm (configure.ac): Likewise.
31054
31055         sys_time: Avoid #define replacements in C++ mode.
31056         * lib/sys_time.in.h: Include c++defs.h.
31057         (gettimeofday): In C++, define a namespaced alias symbol.
31058         * modules/sys_time (Depends-on): Add c++defs.
31059         (Makefile.am): Update sys/time.h rule.
31060
31061         sys_stat: Avoid #define replacements in C++ mode.
31062         * lib/sys_stat.in.h: Include c++defs.h.
31063         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
31064         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
31065         namespaced alias symbol.
31066         In C++, define a namespaced alias symbol.
31067         * modules/sys_stat (Depends-on): Add c++defs.
31068         (Makefile.am): Update sys/stat.h rule.
31069
31070         sys_socket: Avoid #define replacements in C++ mode.
31071         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
31072         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
31073         definitions also when the system has a <sys/socket.h>.
31074         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
31075         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
31076         In C++, define a namespaced alias symbol.
31077         * modules/sys_socket (Depends-on): Add c++defs.
31078         (Makefile.am): Update sys/socket.h rule.
31079
31080         sys_select: Avoid #define replacements in C++ mode.
31081         * lib/sys_select.in.h: Include c++defs.h. Enable the function
31082         definitions also when the system has a <sys/select.h>.
31083         (select): In C++, define a namespaced alias symbol.
31084         * modules/sys_select (Depends-on): Add c++defs.
31085         (Makefile.am): Update sys/select.h rule.
31086
31087         sys_ioctl: Avoid #define replacements in C++ mode.
31088         * lib/sys_ioctl.in.h: Include c++defs.h.
31089         (ioctl): In C++, define a namespaced alias symbol.
31090         * modules/sys_ioctl (Depends-on): Add c++defs.
31091         (Makefile.am): Update sys/ioctl.h rule.
31092
31093         string: Avoid #define replacements in C++ mode.
31094         * lib/string.in.h: Include c++defs.h.
31095         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
31096         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
31097         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
31098         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
31099         strsignal, strverscmp): In C++, define a namespaced alias symbol.
31100         * modules/string (Depends-on): Add c++defs.
31101         (Makefile.am): Update string.h rule.
31102
31103         stdlib: Avoid #define replacements in C++ mode.
31104         * lib/stdlib.in.h: Include c++defs.h.
31105         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
31106         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
31107         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
31108         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
31109         symbol.
31110         * modules/stdlib (Depends-on): Add c++defs.
31111         (Makefile.am): Update stdlib.h rule.
31112
31113         stdio: Avoid #define replacements in C++ mode.
31114         * lib/stdio.in.h: Include c++defs.h.
31115         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
31116         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
31117         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
31118         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
31119         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
31120         namespaced alias symbol.
31121         * modules/stdio (Depends-on): Add c++defs.
31122         (Makefile.am): Update stdio.h rule.
31123
31124         spawn: Avoid #define replacements in C++ mode.
31125         * lib/spawn.in.h: Include c++defs.h.
31126         (posix_spawn, posix_spawnp, posix_spawnattr_init,
31127         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
31128         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
31129         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
31130         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
31131         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
31132         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
31133         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
31134         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
31135         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
31136         In C++, define a namespaced alias symbol.
31137         * modules/spawn (Depends-on): Add c++defs.
31138         (Makefile.am): Update spawn.h rule.
31139
31140         signal: Avoid #define replacements in C++ mode.
31141         * lib/signal.in.h: Include c++defs.h.
31142         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31143         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
31144         namespaced alias symbol.
31145         * modules/signal (Depends-on): Add c++defs.
31146         (Makefile.am): Update signal.h rule.
31147
31148         search: Avoid #define replacements in C++ mode.
31149         * lib/search.in.h: Include c++defs.h.
31150         (_gl_search_compar_fn, _gl_search_action_fn): New types.
31151         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
31152         symbol.
31153         * modules/search (Depends-on): Add c++defs.
31154         (Makefile.am): Update search.h rule.
31155
31156         math: Avoid #define replacements in C++ mode.
31157         * lib/math.in.h: Include c++defs.h.
31158         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
31159         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
31160         trunc, truncl): In C++, define a namespaced alias symbol.
31161         * modules/math (Depends-on): Add c++defs.
31162         (Makefile.am): Update math.h rule.
31163
31164         locale: Avoid #define replacements in C++ mode.
31165         * lib/locale.in.h: Include c++defs.h.
31166         (duplocale): In C++, define a namespaced alias symbol.
31167         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
31168         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
31169         * modules/locale (Depends-on): Add c++defs.
31170         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
31171
31172         langinfo: Avoid #define replacements in C++ mode.
31173         * lib/langinfo.in.h: Include c++defs.h.
31174         (nl_langinfo): In C++, define a namespaced alias symbol.
31175         * modules/langinfo (Depends-on): Add c++defs.
31176         (Makefile.am): Update langinfo.h rule.
31177
31178         iconv-h: Avoid #define replacements in C++ mode.
31179         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
31180         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
31181         symbol.
31182         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
31183         whenever iconv is present.
31184         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
31185         (Makefile.am): Update iconv.h rule.
31186
31187         glob: Avoid #define replacements in C++ mode.
31188         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
31189         (_gl_glob_errfunc_fn): New type.
31190         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
31191         symbol.
31192         * modules/glob (Depends-on): Add c++defs, warn-on-use.
31193         (Makefile.am): Update glob.h rule.
31194
31195         fcntl-h: Avoid #define replacements in C++ mode.
31196         * lib/fcntl.in.h: Include c++defs.h.
31197         (fcntl, open, openat): In C++, define a namespaced alias symbol.
31198         * modules/fcntl-h (Depends-on): Add c++defs.
31199         (Makefile.am): Update fcntl.h rule.
31200
31201         dirent: Avoid #define replacements in C++ mode.
31202         * lib/dirent.in.h: Include c++defs.h.
31203         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
31204         namespaced alias symbol.
31205         (dirfd): Update declaration.
31206         * modules/dirent (Depends-on): Add c++defs.
31207         (Makefile.am): Update dirent.h rule.
31208
31209         ctype: Make it usable in C++ code.
31210         * lib/ctype.in.h: Include c++defs.h.
31211         (isblank): Declare as extern "C".
31212         * modules/ctype (Depends-on): Add c++defs.
31213         (Makefile.am): Update ctype.h rule.
31214
31215         New module 'c++defs'.
31216         * modules/c++defs: New file.
31217         * build-aux/c++defs.h: New file.
31218         Reported by John W. Eaton <jwe@gnu.org>.
31219
31220 2010-03-07  Bruno Haible  <bruno@clisp.org>
31221
31222         logb: Provide missing declaration for Cygwin.
31223         * lib/math.in.h (logb): New declaration.
31224         * m4/logb.m4: New file.
31225         * modules/logb (Files): Add m4/logb.m4.
31226         (Depends-on): Add math.
31227         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
31228         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
31229         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
31230         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
31231         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
31232
31233 2010-03-07  Bruno Haible  <bruno@clisp.org>
31234
31235         Fix test-cond link error.
31236         * tests/test-cond.c: Include <stdio.h>.
31237
31238 2010-03-07  Bruno Haible  <bruno@clisp.org>
31239
31240         Fix test-dirent-safer link error.
31241         * modules/dirent-safer-tests (Makefile.am): Define
31242         test_dirent_safer_LDADD.
31243
31244 2010-03-07  Bruno Haible  <bruno@clisp.org>
31245
31246         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31247         among default module list.
31248
31249 2010-03-07  Bruno Haible  <bruno@clisp.org>
31250
31251         Fix link error on platforms with GNU libiconv.
31252         * modules/unistr/u8-strcoll-tests (Makefile): Define
31253         test_u8_strcoll_LDADD.
31254         * modules/unistr/u16-strcoll-tests (Makefile): Define
31255         test_u16_strcoll_LDADD.
31256         * modules/unistr/u32-strcoll-tests (Makefile): Define
31257         test_u32_strcoll_LDADD.
31258
31259 2010-03-07  Bruno Haible  <bruno@clisp.org>
31260
31261         Use POSIX declarations for socket functions.
31262         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31263         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31264         rpl_sendto): Change declaration to match POSIX.
31265         * lib/connect.c (rpl_connect): Likewise.
31266         * lib/accept.c (rpl_accept): Likewise.
31267         * lib/bind.c (rpl_bind): Likewise.
31268         * lib/getpeername.c (rpl_getpeername): Likewise.
31269         * lib/getsockname.c (rpl_getsockname): Likewise.
31270         * lib/recv.c (rpl_recv): Likewise.
31271         * lib/send.c (rpl_send): Likewise.
31272         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31273         * lib/sendto.c (rpl_sendto): Likewise.
31274
31275 2010-03-06  Bruno Haible  <bruno@clisp.org>
31276
31277         Clarify access, euidaccess, faccessat.
31278         * doc/posix-functions/faccessat.texi: Mention security problem under
31279         "Other problems", not "Portability problems".
31280         * doc/posix-functions/access.texi: Likewise. Mention a related security
31281         problem.
31282         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31283         * lib/euidaccess.c: Add comments about platforms.
31284         * lib/unistd.in.h (access, euidaccess): Add warnings.
31285
31286 2010-03-07  Bruno Haible  <bruno@clisp.org>
31287
31288         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31289         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31290         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31291         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31292         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31293         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31294         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31295         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31296         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31297         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31298         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31299         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31300         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31301         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31302         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31303         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31304         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31305         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31306         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31307         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31308         Likewise.
31309         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31310         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31311         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31312         Likewise.
31313         * tests/test-spawn.c (main): Make it work when
31314         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31315
31316 2010-03-07  Bruno Haible  <bruno@clisp.org>
31317
31318         Fix incorrect Makefile.am generation in German locale.
31319         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31320         Execute sed command with character range in C locale.
31321
31322 2010-03-06  Bruno Haible  <bruno@clisp.org>
31323
31324         Tests for module 'iconv-h'.
31325         * modules/iconv-h-tests: New file.
31326         * tests/test-iconv-h.c: New file.
31327
31328         New module 'iconv-h'.
31329         * modules/iconv-h: New file.
31330         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
31331         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
31332         (configure.ac): Remove gl_ICONV_H.
31333         (Makefile.am): Remove rule for iconv.h.
31334
31335 2010-03-06  Bruno Haible  <bruno@clisp.org>
31336
31337         More consistent naming of *.m4 files.
31338         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
31339         * modules/wctype (Files): Update.
31340
31341         More consistent naming of *.m4 files.
31342         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
31343         * modules/wchar (Files): Update.
31344
31345 2010-03-06  Jim Meyering  <meyering@redhat.com>
31346
31347         euidaccess: relax license to LGPLv2+
31348         * modules/euidaccess (License): Relax to LGPLv2+.
31349
31350 2010-03-06  Bruno Haible  <bruno@clisp.org>
31351
31352         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31353         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31354         (Makefile.am): Augment lib_SOURCES instead.
31355
31356 2010-03-04  Jim Meyering  <meyering@redhat.com>
31357
31358         utime: remove obsolete module
31359         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31360         unnecessary for years, and has been marked as obsolete for 10 months.
31361         * modules/utime: Remove file.
31362         * lib/utime.c: Remove file.
31363         * m4/utime.m4: Remove file.
31364         * m4/utimes-null.m4: Remove file.
31365         * doc/posix-functions/utime.texi (utime): Remove reference to
31366         the module.  Move the sole "fixed by gnulib" item into the
31367         "problems not fixed by Gnulib" list.
31368         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31369
31370 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31371
31372         * modules/exit (License): Relax license to LGPLv2+.
31373         (Status): Mark as obsolete.
31374         * NEWS: Mention deprecated 'exit' module.
31375         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31376         of now obsolete 'exit'.
31377
31378 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31379
31380         fts-lgpl: remove unused module
31381         * modules/fts-lgpl: Remove.
31382         * MODULES.html.sh (func_all_modules): Adjust.
31383         * check-module (find_included_lib_files): Adjust.
31384         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31385
31386 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31387
31388         copy-acl: enhance Solaris ACL error handling
31389         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31390         * lib/set-mode-acl.c (qset_acl): Likewise.
31391
31392 2010-03-02  Bruno Haible  <bruno@clisp.org>
31393
31394         spawn: Don't override the system defined values on FreeBSD 8.
31395         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31396         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31397         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31398         if HAVE_POSIX_SPAWN is 1.
31399         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31400
31401 2010-03-01  Bruno Haible  <bruno@clisp.org>
31402
31403         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31404         regarding Automake.
31405
31406 2010-02-25  Bruno Haible  <bruno@clisp.org>
31407
31408         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31409         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31410         setting, not afterwards.
31411         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31412
31413 2010-02-24  Eric Blake  <eblake@redhat.com>
31414
31415         bootstrap, git-version-gen: use timestamp
31416         * build-aux/git-version-gen (scriptversion): Force UTC.
31417         * build-aux/bootstrap (scriptversion): New variable.
31418
31419         bootstrap: allow older git
31420         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31421         older than 1.6.4.  Requested by the libvirt project.
31422
31423 2010-02-23  Eric Blake  <eblake@redhat.com>
31424
31425         warn-on-use: work with old autoconf
31426         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31427         AS_VAR semantics of autoconf 2.60.
31428         Reported by Bruno Haible.
31429
31430         bootstrap: improve some comments
31431         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31432         clarification comments.
31433
31434         gettimeofday: provide correct function
31435         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31436         when replacement is declared, otherwise provide gettimeofday.
31437         Reported by Michael Goffioul.
31438
31439 2010-02-23  Jim Meyering  <meyering@redhat.com>
31440
31441         lib-ignore: relax license to "unlimited", not LGPLv2+
31442         * modules/lib-ignore (License): Relax to "unlimited".
31443
31444 2010-02-23  Jim Meyering  <meyering@redhat.com>
31445
31446         lib-ignore: relax license to LGPLv2+
31447         * modules/lib-ignore (License): Relax to LGPLv2+.
31448
31449 2010-02-22  Eric Blake  <eblake@redhat.com>
31450
31451         lseek: avoid bash 3.2 broken pipe bug
31452         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31453         warning from bash 3.2.
31454         Reported by Ben Pfaff, with analysis from Bruno Haible.
31455
31456         bootstrap: support non-FSF copyright holder
31457         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31458         bootstrap.conf override of COPYRIGHT_HOLDER.
31459         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31460
31461         bootstrap: interoperate with gettext 0.14.1
31462         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31463
31464         bootstrap: allow for alternate submodule location
31465         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31466         hardcoding submodule location.
31467         (gnulib_mk): Allow direct use of Makefile.am.
31468
31469         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31470         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31471         rather than reconfiguring where the submodule points.
31472
31473         gettimeofday: restore support for platforms that lack function
31474         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31475         replacement if function is missing.
31476         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31477         * modules/sys_time (Makefile.am): Substitute it.
31478         * lib/sys_time.in.h (gettimeofday): Check it.
31479         Reported by Michael Goffioul.
31480
31481 2010-02-21  Bruno Haible  <bruno@clisp.org>
31482
31483         * lib/stdio.in.h (obstack_printf): Fix typo.
31484
31485 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31486
31487         vc-list-files: use bzr ls's -R option
31488         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31489         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31490
31491 2010-02-21  Jim Meyering  <meyering@redhat.com>
31492
31493         init.sh: fix EXEEXT shims to work also for names like test-prog
31494         * tests/init.sh: Re-exec a better shell, when needed.
31495         If the current shell lacks support for posix $(...), an init.sh-using
31496         test will now try to find a shell that supports that.  If EXEEXT is
31497         nonempty, we also require support for hyphen-in-alias-name and shell
31498         substitutions like ${var#glob}.  Failure to find such a shell results
31499         in a skipped test.
31500
31501 2010-02-21  Bruno Haible  <bruno@clisp.org>
31502
31503         Really work around around "broken pipe" error message from bash 3.2.
31504         * gnulib-tool (func_reset_sigpipe): Remove function.
31505         (echo): In bash 3.2, define to a function that uses printf.
31506         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31507
31508 2010-02-20  Bruno Haible  <bruno@clisp.org>
31509
31510         Restore support for automake 1.9.6 with autoconf 2.61.
31511         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31512         Reported by James Youngman <jay@gnu.org>.
31513
31514 2010-02-20  Bruno Haible  <bruno@clisp.org>
31515
31516         Improve *printf warning condition.
31517         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31518         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31519         and the function is overridden due to SIGPIPE emulation.
31520
31521 2010-02-20  Bruno Haible  <bruno@clisp.org>
31522
31523         * lib/stdio.in.h: Tweak comments.
31524
31525 2010-02-19  Bruno Haible  <bruno@clisp.org>
31526
31527         Make it easier to find modules. New gnulib-tool option '--find'.
31528         * gnulib-tool: New option --find.
31529         (func_usage): Document it.
31530         (func_sanitize_modulelist): New function, extracted from
31531         func_all_modules.
31532         (func_all_modules): Invoke it.
31533         * doc/gnulib-tool.texi (Which modules?): New node.
31534
31535 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31536
31537         * lib/sys_select.in.h: Provide select replacement even if
31538         sys/select.h exists on a system, for Interix.
31539
31540 2010-02-18  Jim Meyering  <meyering@redhat.com>
31541
31542         init.sh: don't use $(...) just yet
31543         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31544         to accommodate e.g., Solaris' /bin/sh.
31545
31546 2010-02-17  Bruno Haible  <bruno@clisp.org>
31547
31548         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31549         Reported by Ludovic Courtès <ludo@gnu.org>.
31550
31551 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31552
31553         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31554         linking with -lintl.
31555
31556 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31557
31558         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31559         if not provided by the system's netdb.h.  Reported by
31560         ludo@gnu.org (Ludovic Courtès).
31561
31562 2010-02-15  Jim Meyering  <meyering@redhat.com>
31563
31564         init.sh: improve portability and efficiency
31565         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31566         "dummy" in a for loop.
31567         Use '!', not '^' to select the complement of a character set used
31568         in a "case" statement.
31569         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31570         Suggestions from Eric Blake.
31571
31572         init.sh: automatically accommodate programs with the .exe suffix
31573         Automatically arrange for an invocation of "prog" to execute the
31574         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31575         may use the simpler "prog", yet still work when built on a system
31576         that requires specifying the added suffix.
31577         Do this by constructing a function named "prog" that invokes
31578         "prog.exe" for each .exe file in selected directories.
31579         * tests/init.sh (find_exe_basenames_): New function.
31580         (create_exe_shim_functions_): New function.
31581         (path_prepend_): Use it.
31582
31583         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31584         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31585         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31586
31587 2010-02-14  Jim Meyering  <meyering@redhat.com>
31588
31589         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31590         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31591         (sc_prohibit_hash_pjw_without_use): New rule.
31592
31593         maint.mk: allow the default upload destination dir to be overridden
31594         * top/maint.mk (upload_dest_dir_): Define with a default that
31595         preserves the status quo.
31596         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31597         Reported by Peter Simons.
31598
31599         maint.mk: prohibit inclusion of "hash.h" without_use
31600         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31601
31602 2010-02-10  Jim Meyering  <meyering@redhat.com>
31603
31604         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31605         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31606
31607 2010-02-09  Eric Blake  <ebb9@byu.net>
31608         and Bruno Haible  <bruno@clisp.org>
31609
31610         obstack-printf-posix: ensure declaration
31611         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31612         extracted from gl_FUNC_OBSTACK_PRINTF.
31613         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31614         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31615         Likewise.
31616         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31617         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31618         0.
31619
31620 2010-02-08  Bruno Haible  <bruno@clisp.org>
31621
31622         gnulib-tool: Fix typo in 2010-02-07 commit.
31623         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31624         Reported by Eric Blake.
31625
31626 2010-02-07  Bruno Haible  <bruno@clisp.org>
31627
31628         gnulib-tool: Fix up caching patches.
31629         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31630         option --no-cache. Use associative arrays when supported by the shell.
31631         (sed_comments): New variable.
31632         (modcache): Renamed from do_cache.
31633         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31634         abbreviate unnecessarily.
31635         (have_associative): New variable.
31636         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31637         way also for ksh and zsh.
31638         (func_init_sed_convert_to_cache_statements): New function, extracted
31639         from func_cache_lookup_module. Add support for associative arrays.
31640         Don't set the c_MODULE_cached variable here. Ignore all lines before
31641         the first field header. Remove only the final newline, not all trailing
31642         newlines. Support empty fields correctly. Limit the use of 'eval' to
31643         assignments.
31644         (func_get_description, func_get_status, func_get_notice,
31645         func_get_applicability, func_get_filelist, func_get_dependencies,
31646         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31647         func_get_automake_snippet, func_get_include_directive,
31648         func_get_link_directive, func_get_license, func_get_maintainer):
31649         Update documentation. List the unoptimized code first. Add support for
31650         associative arrays. Limit the use of 'eval' to assignments.
31651         (func_get_applicability): Undo stylistic pessimisations.
31652         (func_get_automake_snippet, func_get_include_directive): Reduce code
31653         duplication.
31654         (func_modules_transitive_closure, func_modules_add_dummy,
31655         func_modules_notice, func_modules_to_filelist, func_add_file,
31656         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31657         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31658         func_create_testdir, func_create_megatestdir): Update documentation.
31659
31660 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31661
31662         * gnulib-tool (func_cache_lookup_module): Store the module name
31663         belonging to the cache variable; error out if two different
31664         module names map to the same cache variable name.
31665
31666 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31667
31668         gnulib-tool: Make caching optional.
31669         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31670         Update matching short versions of --no-changelog.
31671         (func_usage): Update.
31672         (sed_extract_cache_prog): Renamed from ...
31673         (sed_extract_prog): ... this; revert to old extraction script.
31674         (func_get_description, func_get_status)
31675         (func_get_notice, func_get_applicability, func_get_filelist)
31676         (func_get_dependencies, func_get_autoconf_early_snippet)
31677         (func_get_autoconf_snippet, func_get_automake_snippet)
31678         (func_get_include_directive, func_get_link_directive)
31679         (func_get_license, func_get_maintainer): If $do_cache is false,
31680         use old, non-caching extraction scripts.
31681         Suggestion by Bruno Haible.
31682
31683 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31684
31685         gnulib-tool: cache module metainformation.
31686         * gnulib-tool (sed_extract_prog): Match newline before each
31687         header, and rewrite header to a shell variable suffix.
31688         (func_cache_var, func_cache_lookup_module): New functions,
31689         to turn a module name into a cache variable prefix, and to
31690         look up and cache module metainformation.
31691         (func_get_description, func_get_status)
31692         (func_get_notice, func_get_applicability, func_get_filelist)
31693         (func_get_dependencies, func_get_autoconf_early_snippet)
31694         (func_get_autoconf_snippet, func_get_automake_snippet)
31695         (func_get_include_directive, func_get_link_directive)
31696         (func_get_license, func_get_maintainer): Use
31697         func_cache_lookup_module.
31698
31699 2010-02-07  Bruno Haible  <bruno@clisp.org>
31700
31701         fnctl: Fix missing dependency.
31702         * modules/fcntl (Depends-on): Add getdtablesize.
31703         Reported by John W. Eaton <jwe@gnu.org>.
31704
31705 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31706
31707         Argp: fix recognition of short alias options.
31708
31709         * lib/argp-parse.c (convert_options): Fix improper use of
31710         `|' between character values.
31711         * tests/test-argp.c (group1_option): New alias option
31712         --read (-r).
31713         (group1_parser): Special handling for 'r'.
31714         (test15): New test case.
31715         (test_fun): Add test15.
31716         * tests/test-argp-2.sh: Update expected --help and --usage
31717         outputs.
31718
31719 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31720
31721         * tests/test-argp.c: Fix indentation.
31722
31723 2010-02-04  Eric Blake  <ebb9@byu.net>
31724
31725         gettimeofday: expose type of second argument
31726         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31727         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31728         * tests/test-gettimeofday.c: Use it to silence warning.
31729         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31730         the issue.
31731
31732 2010-02-03  Jim Meyering  <meyering@redhat.com>
31733
31734         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31735         * lib/regcomp.c (TYPE_SIGNED): Define.
31736         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31737
31738         regcomp.c: avoid a new -Wshadow warning
31739         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31740
31741 2010-02-01  Jim Meyering  <meyering@redhat.com>
31742
31743         removing useless parentheses in cpp #define directives
31744         For motivation, see commit c0221df4, "define STREQ(a,b)
31745         consistently, removing useless parentheses"
31746         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31747         * lib/mountlist.c (MNT_IGNORE): Likewise.
31748         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31749
31750 2010-02-01  Eric Blake  <ebb9@byu.net>
31751
31752         sys_time: use link-warning
31753         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31754         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31755         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31756         * modules/sys_time (Depends-on): Add warn-on-use.
31757         (Makefile.am): Always build replacement.
31758         (configure.ac): Update substitutions.
31759         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31760         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31761         bother with SYS_TIME_H.
31762         * modules/gettimeofday (configure.ac): Declare indicator.
31763         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31764         in use.
31765
31766         closein-tests: silence compiler warning
31767         * tests/test-closein.c (main): Ignore fread result.
31768         * modules/closein-tests (Depends-on): Add ignore-value.
31769
31770         tests: silence warning about system return
31771         * tests/test-areadlink-with-size.c (main): Ignore system result.
31772         * tests/test-areadlink.c (main): Likewise.
31773         * tests/test-areadlinkat-with-size.c (main): Likewise.
31774         * tests/test-areadlinkat.c (main): Likewise.
31775         * tests/test-canonicalize-lgpl.c (main): Likewise.
31776         * tests/test-canonicalize.c (main): Likewise.
31777         * tests/test-chown.c (main): Likewise.
31778         * tests/test-fchownat.c (main): Likewise.
31779         * tests/test-fdutimensat.c (main): Likewise.
31780         * tests/test-fstatat.c (main): Likewise.
31781         * tests/test-futimens.c (main): Likewise.
31782         * tests/test-lchown.c (main): Likewise.
31783         * tests/test-link.c (main): Likewise.
31784         * tests/test-linkat.c (main): Likewise.
31785         * tests/test-lstat.c (main): Likewise.
31786         * tests/test-mkdir.c (main): Likewise.
31787         * tests/test-mkdirat.c (main): Likewise.
31788         * tests/test-mkfifo.c (main): Likewise.
31789         * tests/test-mkfifoat.c (main): Likewise.
31790         * tests/test-mknod.c (main): Likewise.
31791         * tests/test-readlink.c (main): Likewise.
31792         * tests/test-remove.c (main): Likewise.
31793         * tests/test-rename.c (main): Likewise.
31794         * tests/test-renameat.c (main): Likewise.
31795         * tests/test-rmdir.c (main): Likewise.
31796         * tests/test-symlink.c (main): Likewise.
31797         * tests/test-symlinkat.c (main): Likewise.
31798         * tests/test-unlink.c (main): Likewise.
31799         * tests/test-unlinkat.c (main): Likewise.
31800         * tests/test-utimens.c (main): Likewise.
31801         * tests/test-utimensat.c (main): Likewise.
31802         * modules/areadlink-tests (Depends-on): Add ignore-value.
31803         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31804         * modules/areadlinkat-tests (Depends-on): Likewise.
31805         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31806         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31807         * modules/canonicalize-tests (Depends-on): Likewise.
31808         * modules/chown-tests (Depends-on): Likewise.
31809         * modules/fdutimensat-tests (Depends-on): Likewise.
31810         * modules/futimens-tests (Depends-on): Likewise.
31811         * modules/lchown-tests (Depends-on): Likewise.
31812         * modules/link-tests (Depends-on): Likewise.
31813         * modules/linkat-tests (Depends-on): Likewise.
31814         * modules/lstat-tests (Depends-on): Likewise.
31815         * modules/mkdir-tests (Depends-on): Likewise.
31816         * modules/mkfifo-tests (Depends-on): Likewise.
31817         * modules/mkfifoat-tests (Depends-on): Likewise.
31818         * modules/mknod-tests (Depends-on): Likewise.
31819         * modules/openat-tests (Depends-on): Likewise.
31820         * modules/readlink-tests (Depends-on): Likewise.
31821         * modules/remove-tests (Depends-on): Likewise.
31822         * modules/rename-tests (Depends-on): Likewise.
31823         * modules/renameat-tests (Depends-on): Likewise.
31824         * modules/rmdir-tests (Depends-on): Likewise.
31825         * modules/symlink-tests (Depends-on): Likewise.
31826         * modules/symlinkat-tests (Depends-on): Likewise.
31827         * modules/unlink-tests (Depends-on): Likewise.
31828         * modules/utimens-tests (Depends-on): Likewise.
31829         * modules/utimensat-tests (Depends-on): Likewise.
31830
31831 2010-01-31  Bruno Haible  <bruno@clisp.org>
31832
31833         Perform the same test for many <math.h> functions.
31834         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31835         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31836         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31837         of gl_MATHFUNC.
31838         * modules/acos (configure.ac): Likewise.
31839         * modules/asin (configure.ac): Likewise.
31840         * modules/atan (configure.ac): Likewise.
31841         * modules/atan2 (configure.ac): Likewise.
31842         * modules/cbrt (configure.ac): Likewise.
31843         * modules/copysign (configure.ac): Likewise.
31844         * modules/cos (configure.ac): Likewise.
31845         * modules/cosh (configure.ac): Likewise.
31846         * modules/erf (configure.ac): Likewise.
31847         * modules/erfc (configure.ac): Likewise.
31848         * modules/exp (configure.ac): Likewise.
31849         * modules/fmod (configure.ac): Likewise.
31850         * modules/hypot (configure.ac): Likewise.
31851         * modules/j0 (configure.ac): Likewise.
31852         * modules/j1 (configure.ac): Likewise.
31853         * modules/jn (configure.ac): Likewise.
31854         * modules/lgamma (configure.ac): Likewise.
31855         * modules/log (configure.ac): Likewise.
31856         * modules/log10 (configure.ac): Likewise.
31857         * modules/log1p (configure.ac): Likewise.
31858         * modules/pow (configure.ac): Likewise.
31859         * modules/remainder (configure.ac): Likewise.
31860         * modules/sin (configure.ac): Likewise.
31861         * modules/sinh (configure.ac): Likewise.
31862         * modules/tan (configure.ac): Likewise.
31863         * modules/tanh (configure.ac): Likewise.
31864         * modules/y0 (configure.ac): Likewise.
31865         * modules/y1 (configure.ac): Likewise.
31866         * modules/yn (configure.ac): Likewise.
31867         Suggested by Paolo Bonzini.
31868
31869 2010-01-31  Bruno Haible  <bruno@clisp.org>
31870
31871         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31872
31873 2010-01-31  Bruno Haible  <bruno@clisp.org>
31874
31875         Work around getdelim() bug on FreeBSD 8.0.
31876         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31877         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31878         not work.
31879         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31880         is 1.
31881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31882         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31883         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31884         a non-zero size.
31885         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31886
31887 2010-01-31  Bruno Haible  <bruno@clisp.org>
31888
31889         Work around getline() bug on FreeBSD 8.0.
31890         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31891         and a non-zero size.
31892         * tests/test-getline.c (main): Likewise.
31893         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31894         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31895
31896 2010-01-28  Eric Blake  <ebb9@byu.net>
31897
31898         regex: fix build failure
31899         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31900         platforms.
31901
31902 2010-01-28  Jim Meyering  <meyering@redhat.com>
31903
31904         regex: do not ignore memory allocation failure
31905         * lib/regex_internal.c (create_cd_newstate): Detect
31906         re_node_set_init_copy failure.   Extracted from glibc commit
31907         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31908
31909         regex: sync more white-space changes from libc
31910         * lib/regex_internal.c: White-space only changes.
31911         * lib/regexec.c: Likewise.
31912
31913         regex: add many uses of __attribute_warn_unused_result__
31914         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31915         * lib/regexec.c: Likewise.
31916         Extracted from a messy glibc commit.
31917
31918         regcomp.c: spelling and merge-artifact from glibc
31919         * lib/regcomp.c: Merge remainder of glibc's
31920         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31921
31922         regcomp.c: sync white-space changes from glibc
31923         * lib/regcomp.c: Merge to accommodate white space
31924         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31925
31926         regcomp.c: do not ignore internal return values
31927         * lib/regcomp.c: Do not ignore internal return values.
31928         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31929         but without its white-space changes and spelling fixes.
31930
31931         regex_internal.h: define __attribute_warn_unused_result__
31932         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31933
31934         maint: add a syntax-check rule to check for vulnerable Makefile.in
31935         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31936
31937 2010-01-27  Jim Meyering  <meyering@redhat.com>
31938
31939         ncftpput-ftp: clean up spaces
31940         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31941         Remove trailing blanks.
31942
31943 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31944
31945         * build-aux/git-version-gen: Fix copyright statement.
31946         * build-aux/gnupload: Likewise.
31947         * tests/test-arcfour.c: Likewise.
31948         * tests/test-arctwo.c: Likewise.
31949         * tests/test-count-one-bits.c: Likewise.
31950         * tests/test-crc.c: Likewise.
31951         * tests/test-des.c: Likewise.
31952         * tests/test-gc-arcfour.c: Likewise.
31953         * tests/test-gc-arctwo.c: Likewise.
31954         * tests/test-gc-des.c: Likewise.
31955         * tests/test-gc-hmac-md5.c: Likewise.
31956         * tests/test-gc-hmac-sha1.c: Likewise.
31957         * tests/test-gc-md2.c: Likewise.
31958         * tests/test-gc-md4.c: Likewise.
31959         * tests/test-gc-md5.c: Likewise.
31960         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31961         * tests/test-gc-rijndael.c: Likewise.
31962         * tests/test-gc-sha1.c: Likewise.
31963         * tests/test-gc.c: Likewise.
31964         * tests/test-gethostname.c: Likewise.
31965         * tests/test-gettimeofday.c: Likewise.
31966         * tests/test-hash.c: Likewise.
31967         * tests/test-hmac-md5.c: Likewise.
31968         * tests/test-hmac-sha1.c: Likewise.
31969         * tests/test-md2.c: Likewise.
31970         * tests/test-md4.c: Likewise.
31971         * tests/test-md5.c: Likewise.
31972         * tests/test-memchr.c: Likewise.
31973         * tests/test-memchr2.c: Likewise.
31974         * tests/test-memcmp.c: Likewise.
31975         * tests/test-memmem.c: Likewise.
31976         * tests/test-memrchr.c: Likewise.
31977         * tests/test-rawmemchr.c: Likewise.
31978         * tests/test-read-file.c: Likewise.
31979         * tests/test-rijndael.c: Likewise.
31980         * tests/test-sockets.c: Likewise.
31981         * tests/test-strchrnul.c: Likewise.
31982         * tests/test-strstr.c: Likewise.
31983         * tests/test-strtod.c: Likewise.
31984         * build-aux/ncftpput-ftp: Likewise.
31985
31986 2010-01-26  Eric Blake  <ebb9@byu.net>
31987
31988         ignore-value: update recommended header name
31989         * modules/ignore-value (Include): Only use <> for headers that
31990         exist in glibc.
31991
31992 2010-01-26  Jim Meyering  <meyering@redhat.com>
31993
31994         test-userspec.c: avoid compiler warnings
31995         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31996         and "initialization discards qualifiers..." warnings.
31997         Put the first "uid" in its own scope, and make char* members "const".
31998
31999 2010-01-25  Bruno Haible  <bruno@clisp.org>
32000
32001         gnulib-tool: Make warning diagnostics consistent.
32002         * gnulib-tool (func_warning): New function.
32003         Use it everywhere where gnulib-tool produces output to stderr and it is
32004         not a fatal error.
32005
32006 2010-01-25  Bruno Haible  <bruno@clisp.org>
32007
32008         Fix test dependencies.
32009         * modules/xstrtol-tests (Depends-on): Add inttypes.
32010         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
32011
32012 2010-01-25 Pádraig Brady <P@draigBrady.com>
32013
32014         syntax-check: detect incorrect boolean macro values in config.h
32015         * modules/maintainer-makefile (configure.ac): Parameterize the location
32016         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
32017         The logic is from Eric Blake and the location indicated by Jim Meyering.
32018         Note the more natural CONFIG_HEADER name is prohibited by automake
32019         for backwards compatibility reasons.
32020         * top/maint.mk (sc_Wundef_boolean): New rule.
32021
32022 2010-01-25  Jim Meyering  <meyering@redhat.com>
32023
32024         bootstrap: detect MacOS 10.6's shasum, too
32025         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
32026         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
32027
32028 2010-01-23  Jim Meyering  <meyering@redhat.com>
32029
32030         xstrtoll: new module
32031         * modules/xstrtoll: New file.
32032         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
32033         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
32034         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
32035         ./configure fails if you use this module and lack "long long".
32036         * modules/xstrtoll-tests: New module.
32037         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
32038         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
32039         new init.sh-based test framework.
32040
32041 2010-01-24  Bruno Haible  <bruno@clisp.org>
32042
32043         Tests for module 'yn'.
32044         * modules/yn-tests: New file.
32045         * tests/test-yn.c: New file.
32046
32047         Tests for module 'y1'.
32048         * modules/y1-tests: New file.
32049         * tests/test-y1.c: New file.
32050
32051         Tests for module 'y0'.
32052         * modules/y0-tests: New file.
32053         * tests/test-y0.c: New file.
32054
32055         Tests for module 'tanh'.
32056         * modules/tanh-tests: New file.
32057         * tests/test-tanh.c: New file.
32058
32059         Tests for module 'tan'.
32060         * modules/tan-tests: New file.
32061         * tests/test-tan.c: New file.
32062
32063         Tests for module 'sqrt'.
32064         * modules/sqrt-tests: New file.
32065         * tests/test-sqrt.c: New file.
32066
32067         Tests for module 'sinh'.
32068         * modules/sinh-tests: New file.
32069         * tests/test-sinh.c: New file.
32070
32071         Tests for module 'sin'.
32072         * modules/sin-tests: New file.
32073         * tests/test-sin.c: New file.
32074
32075         Tests for module 'rint'.
32076         * modules/rint-tests: New file.
32077         * tests/test-rint.c: New file.
32078
32079         Tests for module 'remainder'.
32080         * modules/remainder-tests: New file.
32081         * tests/test-remainder.c: New file.
32082
32083         Tests for module 'pow'.
32084         * modules/pow-tests: New file.
32085         * tests/test-pow.c: New file.
32086
32087         Tests for module 'nextafter'.
32088         * modules/nextafter-tests: New file.
32089         * tests/test-nextafter.c: New file.
32090
32091         Tests for module 'modf'.
32092         * modules/modf-tests: New file.
32093         * tests/test-modf.c: New file.
32094
32095         Tests for module 'logb'.
32096         * modules/logb-tests: New file.
32097         * tests/test-logb.c: New file.
32098
32099         Tests for module 'log1p'.
32100         * modules/log1p-tests: New file.
32101         * tests/test-log1p.c: New file.
32102
32103         Tests for module 'log10'.
32104         * modules/log10-tests: New file.
32105         * tests/test-log10.c: New file.
32106
32107         Tests for module 'log'.
32108         * modules/log-tests: New file.
32109         * tests/test-log.c: New file.
32110
32111         Tests for module 'lgamma'.
32112         * modules/lgamma-tests: New file.
32113         * tests/test-lgamma.c: New file.
32114
32115         Tests for module 'ldexp'.
32116         * modules/ldexp-tests: New file.
32117         * tests/test-ldexp.c: New file.
32118
32119         Tests for module 'jn'.
32120         * modules/jn-tests: New file.
32121         * tests/test-jn.c: New file.
32122
32123         Tests for module 'j1'.
32124         * modules/j1-tests: New file.
32125         * tests/test-j1.c: New file.
32126
32127         Tests for module 'j0'.
32128         * modules/j0-tests: New file.
32129         * tests/test-j0.c: New file.
32130
32131         Tests for module 'hypot'.
32132         * modules/hypot-tests: New file.
32133         * tests/test-hypot.c: New file.
32134
32135         Tests for module 'fmod'.
32136         * modules/fmod-tests: New file.
32137         * tests/test-fmod.c: New file.
32138
32139         Tests for module 'fabs'.
32140         * modules/fabs-tests: New file.
32141         * tests/test-fabs.c: New file.
32142
32143         Tests for module 'exp'.
32144         * modules/exp-tests: New file.
32145         * tests/test-exp.c: New file.
32146
32147         Tests for module 'erfc'.
32148         * modules/erfc-tests: New file.
32149         * tests/test-erfc.c: New file.
32150
32151         Tests for module 'erf'.
32152         * modules/erf-tests: New file.
32153         * tests/test-erf.c: New file.
32154
32155         Tests for module 'cosh'.
32156         * modules/cosh-tests: New file.
32157         * tests/test-cosh.c: New file.
32158
32159         Tests for module 'cos'.
32160         * modules/cos-tests: New file.
32161         * tests/test-cos.c: New file.
32162
32163         Tests for module 'copysign'.
32164         * modules/copysign-tests: New file.
32165         * tests/test-copysign.c: New file.
32166
32167         Tests for module 'cbrt'.
32168         * modules/cbrt-tests: New file.
32169         * tests/test-cbrt.c: New file.
32170
32171         Tests for module 'atan2'.
32172         * modules/atan2-tests: New file.
32173         * tests/test-atan2.c: New file.
32174
32175         Tests for module 'atan'.
32176         * modules/atan-tests: New file.
32177         * tests/test-atan.c: New file.
32178
32179         Tests for module 'asin'.
32180         * modules/asin-tests: New file.
32181         * tests/test-asin.c: New file.
32182
32183         Tests for module 'acos'.
32184         * modules/acos-tests: New file.
32185         * tests/test-acos.c: New file.
32186
32187 2010-01-24  Bruno Haible  <bruno@clisp.org>
32188
32189         Fix tests for common <math.h> functions.
32190         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
32191         code snippet that references the function pointer, rather than merely
32192         calling the function. Substitute the FUNC_LIBM variable.
32193         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
32194         * modules/acos (configure.ac): Likewise.
32195         * modules/asin (configure.ac): Likewise.
32196         * modules/atan (configure.ac): Likewise.
32197         * modules/atan2 (configure.ac): Likewise.
32198         * modules/cbrt (configure.ac): Likewise.
32199         * modules/copysign (configure.ac): Likewise.
32200         * modules/cos (configure.ac): Likewise.
32201         * modules/cosh (configure.ac): Likewise.
32202         * modules/erf (configure.ac): Likewise.
32203         * modules/erfc (configure.ac): Likewise.
32204         * modules/exp (configure.ac): Likewise.
32205         * modules/fabs (configure.ac): Likewise.
32206         * modules/fmod (configure.ac): Likewise.
32207         * modules/hypot (configure.ac): Likewise.
32208         * modules/j0 (configure.ac): Likewise.
32209         * modules/j1 (configure.ac): Likewise.
32210         * modules/jn (configure.ac): Likewise.
32211         * modules/ldexp (configure.ac): Likewise.
32212         * modules/lgamma (configure.ac): Likewise.
32213         * modules/log (configure.ac): Likewise.
32214         * modules/log10 (configure.ac): Likewise.
32215         * modules/log1p (configure.ac): Likewise.
32216         * modules/logb (configure.ac): Likewise.
32217         * modules/modf (configure.ac): Likewise.
32218         * modules/nextafter (configure.ac): Likewise.
32219         * modules/pow (configure.ac): Likewise.
32220         * modules/remainder (configure.ac): Likewise.
32221         * modules/rint (configure.ac): Likewise.
32222         * modules/sin (configure.ac): Likewise.
32223         * modules/sinh (configure.ac): Likewise.
32224         * modules/tan (configure.ac): Likewise.
32225         * modules/tanh (configure.ac): Likewise.
32226         * modules/y0 (configure.ac): Likewise.
32227         * modules/y1 (configure.ac): Likewise.
32228         * modules/yn (configure.ac): Likewise.
32229
32230 2010-01-24  Bruno Haible  <bruno@clisp.org>
32231
32232         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
32233         * tests/test-acosl.c (x): New variable.
32234         (main): Store argument in x and fetch it from x.
32235         * tests/test-asinl.c (x): New variable.
32236         (main): Store argument in x and fetch it from x.
32237         * tests/test-atanl.c (x): New variable.
32238         (main): Store argument in x and fetch it from x.
32239         * tests/test-cosl.c (x): New variable.
32240         (main): Store argument in x and fetch it from x.
32241         * tests/test-expl.c (x): New variable.
32242         (main): Store argument in x and fetch it from x.
32243         * tests/test-logl.c (x): New variable.
32244         (main): Store argument in x and fetch it from x.
32245         * tests/test-sinl.c (x): New variable.
32246         (main): Store argument in x and fetch it from x.
32247         * tests/test-sqrtl.c (x): New variable.
32248         (main): Store argument in x and fetch it from x.
32249         * tests/test-tanl.c (x): New variable.
32250         (main): Store argument in x and fetch it from x.
32251
32252 2010-01-24  Bruno Haible  <bruno@clisp.org>
32253
32254         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32255         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32256         assignments to the initial TESTS_ENVIRONMENT.
32257         * doc/gnulib.texi (Unit test modules): Document it.
32258         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32259         TESTS_ENVIRONMENT.
32260         * modules/btowc-tests (Makefile.am): Likewise.
32261         * modules/c-stack-tests (Makefile.am): Likewise.
32262         * modules/c-strcase-tests (Makefile.am): Likewise.
32263         * modules/copy-file-tests (Makefile.am): Likewise.
32264         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32265         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32266         * modules/mbrtowc-tests (Makefile.am): Likewise.
32267         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32268         * modules/mbscasestr-tests (Makefile.am): Likewise.
32269         * modules/mbschr-tests (Makefile.am): Likewise.
32270         * modules/mbscspn-tests (Makefile.am): Likewise.
32271         * modules/mbsinit-tests (Makefile.am): Likewise.
32272         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32273         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32274         * modules/mbspbrk-tests (Makefile.am): Likewise.
32275         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32276         * modules/mbsrchr-tests (Makefile.am): Likewise.
32277         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32278         * modules/mbsspn-tests (Makefile.am): Likewise.
32279         * modules/mbsstr-tests (Makefile.am): Likewise.
32280         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32281         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32282         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32283         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32284         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32285         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32286         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32287         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32288         * modules/wcrtomb-tests (Makefile.am): Likewise.
32289         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32290         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32291         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32292         assignments from TESTS_ENVIRONMENT.
32293         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32294         augmentation.
32295         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32296         * modules/atexit-tests (Makefile.am): Likewise.
32297         * modules/binary-io-tests (Makefile.am): Likewise.
32298         * modules/closein-tests (Makefile.am): Likewise.
32299         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32300         * modules/exclude-tests (Makefile.am): Likewise.
32301         * modules/fflush-tests (Makefile.am): Likewise.
32302         * modules/fpending-tests (Makefile.am): Likewise.
32303         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32304         * modules/freadahead-tests (Makefile.am): Likewise.
32305         * modules/freadptr-tests (Makefile.am): Likewise.
32306         * modules/freadseek-tests (Makefile.am): Likewise.
32307         * modules/fseek-tests (Makefile.am): Likewise.
32308         * modules/fseeko-tests (Makefile.am): Likewise.
32309         * modules/ftell-tests (Makefile.am): Likewise.
32310         * modules/ftello-tests (Makefile.am): Likewise.
32311         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32312         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32313         * modules/lseek-tests (Makefile.am): Likewise.
32314         * modules/parse-duration-tests (Makefile.am): Likewise.
32315         * modules/perror-tests (Makefile.am): Likewise.
32316         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32317         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32318         * modules/pipe-tests (Makefile.am): Likewise.
32319         * modules/pread-tests (Makefile.am): Likewise.
32320         * modules/printf-posix-tests (Makefile.am): Likewise.
32321         * modules/select-tests (Makefile.am): Likewise.
32322         * modules/sigpipe-tests (Makefile.am): Likewise.
32323         * modules/tsearch-tests (Makefile.am): Likewise.
32324         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32325         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32326         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32327         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32328         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32329         * modules/version-etc-tests (Makefile.am): Likewise.
32330         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32331         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32332         * modules/xalloc-die-tests (Makefile.am): Likewise.
32333         * modules/xprintf-posix-tests (Makefile.am): Likewise.
32334         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32335         * modules/xstrtol-tests (Makefile.am): Likewise.
32336         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32337         * modules/yesno-tests (Makefile.am): Likewise.
32338         Suggested by Jim Meyering.
32339
32340 2010-01-24  Bruno Haible  <bruno@clisp.org>
32341
32342         More documentation.
32343         * doc/gnulib.texi (Writing modules): New chapter.
32344         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
32345         the new chapter.
32346
32347 2010-01-24  Jim Meyering  <meyering@redhat.com>
32348
32349         maint.mk: do not prepend "./" after filtering
32350         * top/maint.mk (_prepend_srcdir_prefix): New variable
32351         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
32352         "./" when $(srcdir) is ".".
32353
32354         define STREQ(a,b) consistently, removing useless parentheses
32355         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32356         since the only risk is that "a" or "b" contains an unparenthesized
32357         comma, but if either did that, STREQ would have 3 or more arguments.
32358         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32359         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32360         * lib/hash-triple.c (STREQ): Likewise.
32361         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32362         * lib/getugroups.c (STREQ): Likewise.
32363
32364 2010-01-23  Jim Meyering  <meyering@redhat.com>
32365
32366         maint.mk: fix syntax-check in a non-srcdir build directory
32367         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32368         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32369
32370 2010-01-22  Jim Meyering  <meyering@redhat.com>
32371
32372         userspec: add unit tests
32373         * tests/test-userspec.c: New file.
32374         * modules/userspec-tests: Likewise.
32375
32376 2010-01-21  Jim Meyering  <meyering@redhat.com>
32377
32378         maint.mk: handle source file names containing "." robustly
32379         * top/maint.mk (_dot_escaped_srcdir): Define.
32380         (VC_LIST): Use it in LHS of sed substitution.
32381
32382 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32383
32384         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32385         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32386         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32387         from a non-srcdir build.
32388
32389 2010-01-20  Eric Blake  <ebb9@byu.net>
32390
32391         warn-on-use: use instead of link-warning
32392         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32393         * modules/unistd (Depends-on, Makefile.am): Likewise.
32394         * modules/arpa_inet (Depends-on): Replace link-warning with
32395         warn-on-use.
32396         (Makefile.am): Update rules accordingly.
32397         * modules/ctype (Depends-on, Makefile.am): Likewise.
32398         * modules/dirent (Depends-on, Makefile.am): Likewise.
32399         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32400         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32401         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32402         * modules/locale (Depends-on, Makefile.am): Likewise.
32403         * modules/math (Depends-on, Makefile.am): Likewise.
32404         * modules/search (Depends-on, Makefile.am): Likewise.
32405         * modules/signal (Depends-on, Makefile.am): Likewise.
32406         * modules/spawn (Depends-on, Makefile.am): Likewise.
32407         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32408         * modules/string (Depends-on, Makefile.am): Likewise.
32409         * modules/strings (Depends-on, Makefile.am): Likewise.
32410         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32411         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32412         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32413         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32414         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32415         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32416         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32417         * modules/wchar (Depends-on, Makefile.am): Likewise.
32418         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32419         should be poisoned.
32420         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32421         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32422         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32423         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32424         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32425         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32426         * m4/math_h.m4 (gl_MATH_H): Likewise.
32427         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32428         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32429         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32430         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32431         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32432         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32433         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32434         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32435         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32436         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32437         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32438         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32439         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32440         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32441         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32442         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32443         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32444         GL_LINK_WARNING.
32445         * lib/ctype.in.h: Likewise.
32446         * lib/dirent.in.h: Likewise.
32447         * lib/fcntl.in.h: Likewise.
32448         * lib/inttypes.in.h: Likewise.
32449         * lib/langinfo.in.h: Likewise.
32450         * lib/locale.in.h: Likewise.
32451         * lib/math.in.h: Likewise.
32452         * lib/search.in.h: Likewise.
32453         * lib/signal.in.h: Likewise.
32454         * lib/spawn.in.h: Likewise.
32455         * lib/stdio.in.h: Likewise.
32456         * lib/stdlib.in.h: Likewise.
32457         * lib/string.in.h: Likewise.
32458         * lib/strings.in.h: Likewise.
32459         * lib/sys_file.in.h: Likewise.
32460         * lib/sys_ioctl.in.h: Likewise.
32461         * lib/sys_select.in.h: Likewise.
32462         * lib/sys_socket.in.h: Likewise.
32463         * lib/sys_stat.in.h: Likewise.
32464         * lib/sys_times.in.h: Likewise.
32465         * lib/sys_utsname.in.h: Likewise.
32466         * lib/unistd.in.h: Likewise.
32467         * lib/wchar.in.h: Likewise.
32468
32469 2010-01-20  Bruno Haible  <bruno@clisp.org>
32470
32471         Avoid duplicate -lm.
32472         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32473         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32474         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32475         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32476         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32477         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32478         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32479         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32480         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32481         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32482         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32483         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32484         Reported by Paolo Bonzini.
32485
32486 2010-01-19  Bruno Haible  <bruno@clisp.org>
32487
32488         langinfo, nl_langinfo: Relicense under LGPLv2+.
32489         * modules/langinfo (License): Change to LGPLv2+.
32490         * modules/nl_langinfo (License): Likewise.
32491         Patch by David Lutterkort <lutter@redhat.com>.
32492
32493 2010-01-19  Bruno Haible  <bruno@clisp.org>
32494
32495         Avoid compilation error with cc on OSF/1 5.1.
32496         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32497         statement, not before.
32498         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32499
32500 2010-01-18  Bruno Haible  <bruno@clisp.org>
32501
32502         Avoid a link error due to the __printf__ symbol.
32503         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32504         and 2.6.x.
32505         (__format__, __printf__): Remove definitions.
32506         * lib/argp-fmtstream.h: Likewise.
32507         * lib/argp.h: Likewise.
32508         * lib/error.h: Likewise.
32509         * lib/vasnprintf.h: Likewise.
32510         * lib/xprintf.h: Likewise.
32511         * lib/xvasprintf.h: Likewise.
32512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32513
32514 2010-01-18  Bruno Haible  <bruno@clisp.org>
32515
32516         Tests for module 'tanl'.
32517         * modules/tanl-tests: New file.
32518         * tests/test-tanl.c: New file.
32519
32520         Tests for module 'sqrtl'.
32521         * modules/sqrtl-tests: New file.
32522         * tests/test-sqrtl.c: New file.
32523
32524         Tests for module 'sinl'.
32525         * modules/sinl-tests: New file.
32526         * tests/test-sinl.c: New file.
32527
32528         Tests for module 'logl'.
32529         * modules/logl-tests: New file.
32530         * tests/test-logl.c: New file.
32531
32532         Tests for module 'expl'.
32533         * modules/expl-tests: New file.
32534         * tests/test-expl.c: New file.
32535
32536         Tests for module 'cosl'.
32537         * modules/cosl-tests: New file.
32538         * tests/test-cosl.c: New file.
32539
32540         Tests for module 'atanl'.
32541         * modules/atanl-tests: New file.
32542         * tests/test-atanl.c: New file.
32543
32544         Tests for module 'asinl'.
32545         * modules/asinl-tests: New file.
32546         * tests/test-asinl.c: New file.
32547
32548         Tests for module 'acosl'.
32549         * modules/acosl-tests: New file.
32550         * tests/test-acosl.c: New file.
32551
32552         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32553         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32554         tanl): Use the standard gnulib idiom.
32555         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32556         * lib/sinl.c: Likewise.
32557         * lib/tanl.c: Don't include trigl.c.
32558         (kernel_tanl): Make static.
32559         * lib/sincosl.c: Include trigl.h first.
32560         * lib/trigl.c: Likewise.
32561         * m4/acosl.m4: New file.
32562         * m4/asinl.m4: New file.
32563         * m4/atanl.m4: New file.
32564         * m4/cosl.m4: New file.
32565         * m4/expl.m4: New file.
32566         * m4/logl.m4: New file.
32567         * m4/sinl.m4: New file.
32568         * m4/sqrtl.m4: New file.
32569         * m4/tanl.m4: New file.
32570         * m4/mathl.m4: Remove file.
32571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32572         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32573         Don't initialize GNULIB_MATHL.
32574         * modules/acosl: New file.
32575         * modules/asinl: New file.
32576         * modules/atanl: New file.
32577         * modules/cosl: New file.
32578         * modules/expl: New file.
32579         * modules/logl: New file.
32580         * modules/sinl: New file.
32581         * modules/sqrtl: New file.
32582         * modules/tanl: New file.
32583         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32584         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32585         substitute GNULIB_MATHL.
32586         * modules/mathl: Rewritten.
32587         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32588         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32589         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32590         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32591         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32592         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32593         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32594         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32595         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32596
32597 2010-01-18  Bruno Haible  <bruno@clisp.org>
32598
32599         sqrt: Make gl_FUNC_SQRT requirable.
32600         * m4/sqrt.m4: New file.
32601         * modules/sqrt (Files): Add it.
32602         (configure.ac): Invoke gl_FUNC_SQRT.
32603
32604 2010-01-18  Bruno Haible  <bruno@clisp.org>
32605
32606         New modules for common <math.h> functions.
32607         * m4/mathfunc.m4: New file.
32608         * modules/acos: New file.
32609         * modules/asin: New file.
32610         * modules/atan: New file.
32611         * modules/atan2: New file.
32612         * modules/cbrt: New file.
32613         * modules/copysign: New file.
32614         * modules/cos: New file.
32615         * modules/cosh: New file.
32616         * modules/erf: New file.
32617         * modules/erfc: New file.
32618         * modules/exp: New file.
32619         * modules/fabs: New file.
32620         * modules/fmod: New file.
32621         * modules/hypot: New file.
32622         * modules/j0: New file.
32623         * modules/j1: New file.
32624         * modules/jn: New file.
32625         * modules/ldexp: New file.
32626         * modules/lgamma: New file.
32627         * modules/log: New file.
32628         * modules/log10: New file.
32629         * modules/log1p: New file.
32630         * modules/logb: New file.
32631         * modules/modf: New file.
32632         * modules/nextafter: New file.
32633         * modules/pow: New file.
32634         * modules/remainder: New file.
32635         * modules/rint: New file.
32636         * modules/sin: New file.
32637         * modules/sinh: New file.
32638         * modules/sqrt: New file.
32639         * modules/tan: New file.
32640         * modules/tanh: New file.
32641         * modules/y0: New file.
32642         * modules/y1: New file.
32643         * modules/yn: New file.
32644         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32645         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32646         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32647         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32648         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32649         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32650         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32651         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32652         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32653         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32654         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32655         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32656         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32657         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32658         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32659         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32660         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32661         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32662         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32663         * doc/posix-functions/log.texi: Mention the 'log' module.
32664         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32665         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32666         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32667         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32668         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32669         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32670         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32671         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32672         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32673         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32674         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32675         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32676         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32677         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32678         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32679         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32680
32681 2010-01-18  Jim Meyering  <meyering@redhat.com>
32682
32683         ignore-value: relax license to LGPLv2+
32684         * modules/ignore-value (License): Relax to LGPLv2+.
32685
32686         getdate: don't leak when TZ contains two or more '"'s
32687         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32688         double quote in TZ after the first one.
32689
32690         readtokens: do not leak internal token_lengths buffer
32691         * lib/readtokens.c (readtokens): Free the local, lengths,
32692         when the supplied "token_lengths" parameter is NULL.
32693
32694 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32695
32696         Fix a couple of missing LIBTHREAD link failures on AIX.
32697         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32698         $(LIBTHREAD).
32699         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32700
32701         Link test-poll against INET_PTON_LIB.
32702         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32703         for inet_pton on Solaris 10.
32704
32705 2010-01-17  Bruno Haible  <bruno@clisp.org>
32706
32707         unistdio/*-sprintf: Fix typo in module description.
32708         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32709         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32710         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32711         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32712         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32713         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32714         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32715         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32716
32717 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32718
32719         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32720         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32721         variables in shell case patterns, for AIX and HP-UX ksh.
32722
32723         Split large sed scripts, for HP-UX sed.
32724         * modules/stdio: Split sed scripts around 50 sed commands,
32725         to avoid HP-UX limit of 99 commands, in the near future.
32726         * modules/string: Likewise.
32727         * modules/unistd: Likewise.
32728
32729         gnulib-tool: avoid writing in the current directory.
32730         * gnulib-tool (func_emit_lib_Makefile_am)
32731         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32732         not in the current directory, so concurrent gnulib-tool
32733         instances do not interfere.
32734
32735 2010-01-16  Jim Meyering  <meyering@redhat.com>
32736
32737         doc: update users.txt
32738         * users.txt: Add grep.
32739         (diffutils, gzip): Update URLs.
32740
32741 2010-01-12  Bruno Haible  <bruno@clisp.org>
32742
32743         posix_spawn: Avoid test failure on Cygwin.
32744         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32745         characters.
32746         Reported by Simon Josefsson.
32747
32748 2010-01-12  Bruno Haible  <bruno@clisp.org>
32749
32750         * tests/test-cond.c (main): When skipping the test, show the reason.
32751
32752 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32753
32754         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32755
32756 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32757
32758         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32759         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32760
32761 2010-01-12  Eric Blake  <ebb9@byu.net>
32762
32763         build: guarantee AS_VAR_IF
32764         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32765         (gl_AS_VAR_IF): Move...
32766         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32767         Reported by Simon Josefsson.
32768
32769 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32770
32771         * lib/stdio.in.h: Fix typo.
32772
32773 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32774
32775         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32776         libgpg-error.
32777
32778 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32779
32780         * tests/test-xalloc-die.sh: Use $EXEEXT.
32781
32782 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32783             Bruno Haible  <bruno@clisp.org>
32784
32785         getlogin, getlogin_r: Avoid test failure.
32786         * tests/test-getlogin.c: Include <stdio.h>.
32787         (main): Skip the test when the function fails because stdin is not a
32788         tty.
32789         * tests/test-getlogin_r.c: Include <stdio.h>.
32790         (main): Skip the test when the function fails because stdin is not a
32791         tty.
32792
32793 2010-01-11  Eric Blake  <ebb9@byu.net>
32794
32795         tests: avoid more large file warnings
32796         * tests/test-fflush.c: Avoid warning about ftell use.
32797         * tests/test-fseek.c: Avoid warning about fseek use.
32798
32799 2010-01-10  Bruno Haible  <bruno@clisp.org>
32800
32801         nproc: Work better on Linux when /proc and /sys are not mounted.
32802         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32803         as lower bound when, on glibc/Linux systems,
32804         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32805         Suggested by Pádraig Brady <P@draigbrady.com>.
32806         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32807
32808         nproc: Refactor.
32809         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32810         extracted from num_processors.
32811         (num_processors): Call it.
32812
32813 2010-01-11  Jim Meyering  <meyering@redhat.com>
32814
32815         utimecmp: avoid new warning from upcoming gcc-4.5.0
32816         * lib/utimecmp.c (BILLION): Define using #define rather than an
32817         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32818
32819 2010-01-11  Eric Blake  <ebb9@byu.net>
32820
32821         math: add portability warnings for classification macros
32822         * modules/math (Depends-on): Add warn-on-use.
32823         (Makefile.am): Provide new substitutions.
32824         * m4/math_h.m4 (gl_MATH_H): Require inline.
32825         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32826         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32827         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32828         implement warnings.
32829
32830         unistd: warn on use of environ without module
32831         * modules/unistd (Depends-on): Add warn-on-use.
32832         (Makefile.am): Provide new substitutions.
32833         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32834         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32835
32836         stdio: warn on suspicious uses
32837         * modules/stdio (Depends-on): Add warn-on-use.
32838         (Makefile.am): Provide new substitutions.
32839         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32840         fseeko.
32841         * lib/stdio.in.h (gets): Always warn on use.
32842         (fseek, ftell): Adjust when warnings are issued, and honor
32843         _GL_NO_LARGE_FILES as a way to silence the warning.
32844         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32845         any warning about large file offsets.
32846         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32847         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32848         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32849         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32850         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32851         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32852         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32853         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32854
32855         warn-on-use: new module
32856         * modules/warn-on-use: New file.
32857         * build-aux/warn-on-use.h: Likewise.
32858         * m4/warn-on-use.m4: Likewise.
32859         * MODULES.html.sh (Support for building): Mention it.
32860
32861 2010-01-10  Bruno Haible  <bruno@clisp.org>
32862
32863         Tests for module 'unistr/u32-strdup'.
32864         * modules/unistr/u32-strdup-tests: New file.
32865         * tests/unistr/test-u32-strdup.c: New file.
32866
32867         Tests for module 'unistr/u16-strdup'.
32868         * modules/unistr/u16-strdup-tests: New file.
32869         * tests/unistr/test-u16-strdup.c: New file.
32870
32871         Tests for module 'unistr/u8-strdup'.
32872         * modules/unistr/u8-strdup-tests: New file.
32873         * tests/unistr/test-u8-strdup.c: New file.
32874         * tests/unistr/test-strdup.h: New file.
32875
32876         Tests for module 'unistr/u32-strncmp'.
32877         * modules/unistr/u32-strncmp-tests: New file.
32878         * tests/unistr/test-u32-strncmp.c: New file.
32879
32880         Tests for module 'unistr/u16-strncmp'.
32881         * modules/unistr/u16-strncmp-tests: New file.
32882         * tests/unistr/test-u16-strncmp.c: New file.
32883
32884         Tests for module 'unistr/u8-strncmp'.
32885         * modules/unistr/u8-strncmp-tests: New file.
32886         * tests/unistr/test-u8-strncmp.c: New file.
32887         * tests/unistr/test-strncmp.h: New file.
32888
32889         Tests for module 'unistr/u32-strcoll'.
32890         * modules/unistr/u32-strcoll-tests: New file.
32891         * tests/unistr/test-u32-strcoll.c: New file.
32892
32893         Tests for module 'unistr/u16-strcoll'.
32894         * modules/unistr/u16-strcoll-tests: New file.
32895         * tests/unistr/test-u16-strcoll.c: New file.
32896
32897         Tests for module 'unistr/u8-strcoll'.
32898         * modules/unistr/u8-strcoll-tests: New file.
32899         * tests/unistr/test-u8-strcoll.c: New file.
32900
32901         Tests for module 'unistr/u32-strcmp'.
32902         * modules/unistr/u32-strcmp-tests: New file.
32903         * tests/unistr/test-u32-strcmp.c: New file.
32904         * tests/unistr/test-u32-strcmp.h: New file.
32905
32906         Tests for module 'unistr/u16-strcmp'.
32907         * modules/unistr/u16-strcmp-tests: New file.
32908         * tests/unistr/test-u16-strcmp.c: New file.
32909         * tests/unistr/test-u16-strcmp.h: New file.
32910
32911         Tests for module 'unistr/u8-strcmp'.
32912         * modules/unistr/u8-strcmp-tests: New file.
32913         * tests/unistr/test-u8-strcmp.c: New file.
32914         * tests/unistr/test-u8-strcmp.h: New file.
32915         * tests/unistr/test-strcmp.h: New file.
32916
32917         Tests for module 'unistr/u32-strncat'.
32918         * modules/unistr/u32-strncat-tests: New file.
32919         * tests/unistr/test-u32-strncat.c: New file.
32920
32921         Tests for module 'unistr/u16-strncat'.
32922         * modules/unistr/u16-strncat-tests: New file.
32923         * tests/unistr/test-u16-strncat.c: New file.
32924
32925         Tests for module 'unistr/u8-strncat'.
32926         * modules/unistr/u8-strncat-tests: New file.
32927         * tests/unistr/test-u8-strncat.c: New file.
32928         * tests/unistr/test-strncat.h: New file.
32929
32930         Tests for module 'unistr/u32-strcat'.
32931         * modules/unistr/u32-strcat-tests: New file.
32932         * tests/unistr/test-u32-strcat.c: New file.
32933
32934         Tests for module 'unistr/u16-strcat'.
32935         * modules/unistr/u16-strcat-tests: New file.
32936         * tests/unistr/test-u16-strcat.c: New file.
32937
32938         Tests for module 'unistr/u8-strcat'.
32939         * modules/unistr/u8-strcat-tests: New file.
32940         * tests/unistr/test-u8-strcat.c: New file.
32941         * tests/unistr/test-strcat.h: New file.
32942
32943         Tests for module 'unistr/u32-stpncpy'.
32944         * modules/unistr/u32-stpncpy-tests: New file.
32945         * tests/unistr/test-u32-stpncpy.c: New file.
32946
32947         Tests for module 'unistr/u16-stpncpy'.
32948         * modules/unistr/u16-stpncpy-tests: New file.
32949         * tests/unistr/test-u16-stpncpy.c: New file.
32950
32951         Tests for module 'unistr/u8-stpncpy'.
32952         * modules/unistr/u8-stpncpy-tests: New file.
32953         * tests/unistr/test-u8-stpncpy.c: New file.
32954         * tests/unistr/test-stpncpy.h: New file.
32955
32956         Tests for module 'unistr/u32-strncpy'.
32957         * modules/unistr/u32-strncpy-tests: New file.
32958         * tests/unistr/test-u32-strncpy.c: New file.
32959
32960         Tests for module 'unistr/u16-strncpy'.
32961         * modules/unistr/u16-strncpy-tests: New file.
32962         * tests/unistr/test-u16-strncpy.c: New file.
32963
32964         Tests for module 'unistr/u8-strncpy'.
32965         * modules/unistr/u8-strncpy-tests: New file.
32966         * tests/unistr/test-u8-strncpy.c: New file.
32967         * tests/unistr/test-strncpy.h: New file.
32968
32969         Tests for module 'unistr/u32-stpcpy'.
32970         * modules/unistr/u32-stpcpy-tests: New file.
32971         * tests/unistr/test-u32-stpcpy.c: New file.
32972
32973         Tests for module 'unistr/u16-stpcpy'.
32974         * modules/unistr/u16-stpcpy-tests: New file.
32975         * tests/unistr/test-u16-stpcpy.c: New file.
32976
32977         Tests for module 'unistr/u8-stpcpy'.
32978         * modules/unistr/u8-stpcpy-tests: New file.
32979         * tests/unistr/test-u8-stpcpy.c: New file.
32980         * tests/unistr/test-stpcpy.h: New file.
32981
32982         Tests for module 'unistr/u32-strcpy'.
32983         * modules/unistr/u32-strcpy-tests: New file.
32984         * tests/unistr/test-u32-strcpy.c: New file.
32985
32986         Tests for module 'unistr/u16-strcpy'.
32987         * modules/unistr/u16-strcpy-tests: New file.
32988         * tests/unistr/test-u16-strcpy.c: New file.
32989
32990         Tests for module 'unistr/u8-strcpy'.
32991         * modules/unistr/u8-strcpy-tests: New file.
32992         * tests/unistr/test-u8-strcpy.c: New file.
32993         * tests/unistr/test-strcpy.h: New file.
32994
32995         Tests for module 'unistr/u32-strnlen'.
32996         * modules/unistr/u32-strnlen-tests: New file.
32997         * tests/unistr/test-u32-strnlen.c: New file.
32998
32999         Tests for module 'unistr/u16-strnlen'.
33000         * modules/unistr/u16-strnlen-tests: New file.
33001         * tests/unistr/test-u16-strnlen.c: New file.
33002
33003         Tests for module 'unistr/u8-strnlen'.
33004         * modules/unistr/u8-strnlen-tests: New file.
33005         * tests/unistr/test-u8-strnlen.c: New file.
33006         * tests/unistr/test-strnlen.h: New file.
33007
33008         Tests for module 'unistr/u32-strlen'.
33009         * modules/unistr/u32-strlen-tests: New file.
33010         * tests/unistr/test-u32-strlen.c: New file.
33011
33012         Tests for module 'unistr/u16-strlen'.
33013         * modules/unistr/u16-strlen-tests: New file.
33014         * tests/unistr/test-u16-strlen.c: New file.
33015
33016         Tests for module 'unistr/u8-strlen'.
33017         * modules/unistr/u8-strlen-tests: New file.
33018         * tests/unistr/test-u8-strlen.c: New file.
33019
33020         Tests for module 'unistr/u32-prev'.
33021         * modules/unistr/u32-prev-tests: New file.
33022         * tests/unistr/test-u32-prev.c: New file.
33023
33024         Tests for module 'unistr/u16-prev'.
33025         * modules/unistr/u16-prev-tests: New file.
33026         * tests/unistr/test-u16-prev.c: New file.
33027
33028         Tests for module 'unistr/u8-prev'.
33029         * modules/unistr/u8-prev-tests: New file.
33030         * tests/unistr/test-u8-prev.c: New file.
33031
33032         Tests for module 'unistr/u32-next'.
33033         * modules/unistr/u32-next-tests: New file.
33034         * tests/unistr/test-u32-next.c: New file.
33035
33036         Tests for module 'unistr/u16-next'.
33037         * modules/unistr/u16-next-tests: New file.
33038         * tests/unistr/test-u16-next.c: New file.
33039
33040         Tests for module 'unistr/u8-next'.
33041         * modules/unistr/u8-next-tests: New file.
33042         * tests/unistr/test-u8-next.c: New file.
33043
33044         Tests for module 'unistr/u32-strmbtouc'.
33045         * modules/unistr/u32-strmbtouc-tests: New file.
33046         * tests/unistr/test-u32-strmbtouc.c: New file.
33047
33048         Tests for module 'unistr/u16-strmbtouc'.
33049         * modules/unistr/u16-strmbtouc-tests: New file.
33050         * tests/unistr/test-u16-strmbtouc.c: New file.
33051
33052         Tests for module 'unistr/u8-strmbtouc'.
33053         * modules/unistr/u8-strmbtouc-tests: New file.
33054         * tests/unistr/test-u8-strmbtouc.c: New file.
33055
33056         Tests for module 'unistr/u32-strmblen'.
33057         * modules/unistr/u32-strmblen-tests: New file.
33058         * tests/unistr/test-u32-strmblen.c: New file.
33059
33060         Tests for module 'unistr/u16-strmblen'.
33061         * modules/unistr/u16-strmblen-tests: New file.
33062         * tests/unistr/test-u16-strmblen.c: New file.
33063
33064         Tests for module 'unistr/u8-strmblen'.
33065         * modules/unistr/u8-strmblen-tests: New file.
33066         * tests/unistr/test-u8-strmblen.c: New file.
33067
33068         Tests for module 'unistr/u32-cpy-alloc'.
33069         * modules/unistr/u32-cpy-alloc-tests: New file.
33070         * tests/unistr/test-u32-cpy-alloc.c: New file.
33071
33072         Tests for module 'unistr/u16-cpy-alloc'.
33073         * modules/unistr/u16-cpy-alloc-tests: New file.
33074         * tests/unistr/test-u16-cpy-alloc.c: New file.
33075
33076         Tests for module 'unistr/u8-cpy-alloc'.
33077         * modules/unistr/u8-cpy-alloc-tests: New file.
33078         * tests/unistr/test-u8-cpy-alloc.c: New file.
33079         * tests/unistr/test-cpy-alloc.h: New file.
33080
33081         Tests for module 'unistr/u32-mbsnlen'.
33082         * modules/unistr/u32-mbsnlen-tests: New file.
33083         * tests/unistr/test-u32-mbsnlen.c: New file.
33084
33085         Tests for module 'unistr/u16-mbsnlen'.
33086         * modules/unistr/u16-mbsnlen-tests: New file.
33087         * tests/unistr/test-u16-mbsnlen.c: New file.
33088
33089         Tests for module 'unistr/u8-mbsnlen'.
33090         * modules/unistr/u8-mbsnlen-tests: New file.
33091         * tests/unistr/test-u8-mbsnlen.c: New file.
33092
33093         Tests for module 'unistr/u32-chr'.
33094         * modules/unistr/u32-chr-tests: New file.
33095         * tests/unistr/test-u32-chr.c: New file.
33096
33097         Tests for module 'unistr/u16-chr'.
33098         * modules/unistr/u16-chr-tests: New file.
33099         * tests/unistr/test-u16-chr.c: New file.
33100
33101         Tests for module 'unistr/u8-chr'.
33102         * modules/unistr/u8-chr-tests: New file.
33103         * tests/unistr/test-u8-chr.c: New file.
33104         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
33105
33106         Tests for module 'unistr/u32-cmp2'.
33107         * modules/unistr/u32-cmp2-tests: New file.
33108         * tests/unistr/test-u32-cmp2.c: New file.
33109
33110         Tests for module 'unistr/u16-cmp2'.
33111         * modules/unistr/u16-cmp2-tests: New file.
33112         * tests/unistr/test-u16-cmp2.c: New file.
33113
33114         Tests for module 'unistr/u8-cmp2'.
33115         * modules/unistr/u8-cmp2-tests: New file.
33116         * tests/unistr/test-u8-cmp2.c: New file.
33117         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
33118
33119         Tests for module 'unistr/u32-cmp'.
33120         * modules/unistr/u32-cmp-tests: New file.
33121         * tests/unistr/test-u32-cmp.c: New file.
33122
33123         Tests for module 'unistr/u16-cmp'.
33124         * modules/unistr/u16-cmp-tests: New file.
33125         * tests/unistr/test-u16-cmp.c: New file.
33126
33127         Tests for module 'unistr/u8-cmp'.
33128         * modules/unistr/u8-cmp-tests: New file.
33129         * tests/unistr/test-u8-cmp.c: New file.
33130         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
33131
33132         Tests for module 'unistr/u32-set'.
33133         * modules/unistr/u32-set-tests: New file.
33134         * tests/unistr/test-u32-set.c: New file.
33135
33136         Tests for module 'unistr/u16-set'.
33137         * modules/unistr/u16-set-tests: New file.
33138         * tests/unistr/test-u16-set.c: New file.
33139
33140         Tests for module 'unistr/u8-set'.
33141         * modules/unistr/u8-set-tests: New file.
33142         * tests/unistr/test-u8-set.c: New file.
33143         * tests/unistr/test-set.h: New file.
33144
33145         Tests for module 'unistr/u32-move'.
33146         * modules/unistr/u32-move-tests: New file.
33147         * tests/unistr/test-u32-move.c: New file.
33148
33149         Tests for module 'unistr/u16-move'.
33150         * modules/unistr/u16-move-tests: New file.
33151         * tests/unistr/test-u16-move.c: New file.
33152
33153         Tests for module 'unistr/u8-move'.
33154         * modules/unistr/u8-move-tests: New file.
33155         * tests/unistr/test-u8-move.c: New file.
33156         * tests/unistr/test-move.h: New file.
33157
33158         Tests for module 'unistr/u32-cpy'.
33159         * modules/unistr/u32-cpy-tests: New file.
33160         * tests/unistr/test-u32-cpy.c: New file.
33161
33162         Tests for module 'unistr/u16-cpy'.
33163         * modules/unistr/u16-cpy-tests: New file.
33164         * tests/unistr/test-u16-cpy.c: New file.
33165
33166         Tests for module 'unistr/u8-cpy'.
33167         * modules/unistr/u8-cpy-tests: New file.
33168         * tests/unistr/test-u8-cpy.c: New file.
33169         * tests/unistr/test-cpy.h: New file.
33170
33171 2010-01-09  Bruno Haible  <bruno@clisp.org>
33172
33173         Tests for module 'unistr/u32-uctomb'.
33174         * modules/unistr/u32-uctomb-tests: New file.
33175         * tests/unistr/test-u32-uctomb.c: New file.
33176
33177         Tests for module 'unistr/u16-uctomb'.
33178         * modules/unistr/u16-uctomb-tests: New file.
33179         * tests/unistr/test-u16-uctomb.c: New file.
33180
33181         Tests for module 'unistr/u8-uctomb'.
33182         * modules/unistr/u8-uctomb-tests: New file.
33183         * tests/unistr/test-u8-uctomb.c: New file.
33184
33185         Tests for module 'unistr/u32-mbtoucr'.
33186         * modules/unistr/u32-mbtoucr-tests: New file.
33187         * tests/unistr/test-u32-mbtoucr.c: New file.
33188
33189         Tests for module 'unistr/u16-mbtoucr'.
33190         * modules/unistr/u16-mbtoucr-tests: New file.
33191         * tests/unistr/test-u16-mbtoucr.c: New file.
33192
33193         Tests for module 'unistr/u8-mbtoucr'.
33194         * modules/unistr/u8-mbtoucr-tests: New file.
33195         * tests/unistr/test-u8-mbtoucr.c: New file.
33196
33197         Tests for module 'unistr/u32-mbtouc'.
33198         * modules/unistr/u32-mbtouc-tests: New file.
33199         * tests/unistr/test-u32-mbtouc.c: New file.
33200
33201         Tests for module 'unistr/u16-mbtouc'.
33202         * modules/unistr/u16-mbtouc-tests: New file.
33203         * tests/unistr/test-u16-mbtouc.c: New file.
33204
33205         Tests for module 'unistr/u8-mbtouc'.
33206         * modules/unistr/u8-mbtouc-tests: New file.
33207         * tests/unistr/test-u8-mbtouc.c: New file.
33208
33209         Tests for module 'unistr/u32-mbtouc-unsafe'.
33210         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
33211         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
33212         * tests/unistr/test-u32-mbtouc.h: New file.
33213
33214         Tests for module 'unistr/u16-mbtouc-unsafe'.
33215         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
33216         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
33217         * tests/unistr/test-u16-mbtouc.h: New file.
33218
33219         Tests for module 'unistr/u8-mbtouc-unsafe'.
33220         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
33221         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
33222         * tests/unistr/test-u8-mbtouc.h: New file.
33223
33224         Tests for module 'unistr/u32-mblen'.
33225         * modules/unistr/u32-mblen-tests: New file.
33226         * tests/unistr/test-u32-mblen.c: New file.
33227
33228         Tests for module 'unistr/u16-mblen'.
33229         * modules/unistr/u16-mblen-tests: New file.
33230         * tests/unistr/test-u16-mblen.c: New file.
33231
33232         Tests for module 'unistr/u8-mblen'.
33233         * modules/unistr/u8-mblen-tests: New file.
33234         * tests/unistr/test-u8-mblen.c: New file.
33235
33236         Tests for module 'unistr/u32-to-u16'.
33237         * modules/unistr/u32-to-u16-tests: New file.
33238         * tests/unistr/test-u32-to-u16.c: New file.
33239
33240         Tests for module 'unistr/u32-to-u8'.
33241         * modules/unistr/u32-to-u8-tests: New file.
33242         * tests/unistr/test-u32-to-u8.c: New file.
33243
33244         Tests for module 'unistr/u16-to-u32'.
33245         * modules/unistr/u16-to-u32-tests: New file.
33246         * tests/unistr/test-u16-to-u32.c: New file.
33247
33248         Tests for module 'unistr/u16-to-u8'.
33249         * modules/unistr/u16-to-u8-tests: New file.
33250         * tests/unistr/test-u16-to-u8.c: New file.
33251
33252         Tests for module 'unistr/u8-to-u32'.
33253         * modules/unistr/u8-to-u32-tests: New file.
33254         * tests/unistr/test-u8-to-u32.c: New file.
33255
33256         Tests for module 'unistr/u8-to-u16'.
33257         * modules/unistr/u8-to-u16-tests: New file.
33258         * tests/unistr/test-u8-to-u16.c: New file.
33259
33260         Tests for module 'unistr/u32-check'.
33261         * modules/unistr/u32-check-tests: New file.
33262         * tests/unistr/test-u32-check.c: New file.
33263
33264         Tests for module 'unistr/u16-check'.
33265         * modules/unistr/u16-check-tests: New file.
33266         * tests/unistr/test-u16-check.c: New file.
33267
33268         Tests for module 'unistr/u8-check'.
33269         * modules/unistr/u8-check-tests: New file.
33270         * tests/unistr/test-u8-check.c: New file.
33271
33272         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33273         (category_equals): New function.
33274         (main): Add more tests.
33275         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33276
33277         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33278
33279 2010-01-10  Bruno Haible  <bruno@clisp.org>
33280
33281         unistr/u*-strcoll: Try harder to distinguish different strings.
33282         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33283         compare s1 and s2 to see if they are different.
33284
33285 2010-01-10  Bruno Haible  <bruno@clisp.org>
33286
33287         unistr/u*-stpncpy: Fix the return value.
33288         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33289         description of the return value consistent with stpncpy in glibc.
33290         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33291         written non-NUL unit.
33292
33293 2010-01-10  Bruno Haible  <bruno@clisp.org>
33294
33295         unistr/u*-next: Add missing dependencies.
33296         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33297         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33298         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33299
33300 2010-01-10  Bruno Haible  <bruno@clisp.org>
33301
33302         unistr/u8-mbsnlen: Fix return value for incomplete character.
33303         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33304         u8_mblen.
33305         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33306         Remove unistr/u8-mblen.
33307         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33308         u16_mblen.
33309         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33310         Remove unistr/u16-mblen.
33311
33312 2010-01-10  Bruno Haible  <bruno@clisp.org>
33313
33314         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33315         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33316         Reported by Brian Gough <bjg@gnu.org> and
33317         Chris Clayton <chris2553@googlemail.com> via
33318         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33319
33320 2010-01-09  Bruno Haible  <bruno@clisp.org>
33321
33322         unistr/u16-to-u32: Reject invalid input.
33323         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33324         u16_mbtouc.
33325         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33326         Remove unistr/u16-mbtouc.
33327
33328         unistr/u16-to-u8: Reject invalid input.
33329         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33330         u16_mbtouc.
33331         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
33332         Remove unistr/u16-mbtouc.
33333
33334         unistr/u8-to-u32: Reject invalid input.
33335         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
33336         u8_mbtouc.
33337         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
33338         Remove unistr/u8-mbtouc.
33339
33340         unistr/u8-to-u16: Reject invalid input.
33341         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
33342         u8_mbtouc.
33343         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
33344         Remove unistr/u8-mbtouc.
33345
33346 2010-01-09  Bruno Haible  <bruno@clisp.org>
33347
33348         Tests for module 'getlogin'.
33349         * modules/getlogin-tests: New file.
33350         * tests/test-getlogin.c: New file.
33351
33352         New module 'getlogin'.
33353         * lib/unistd.in.h (getlogin): New declaration.
33354         * lib/getlogin.c: New file.
33355         * m4/getlogin.m4: New file.
33356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33357         HAVE_GETLOGIN.
33358         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33359         HAVE_GETLOGIN.
33360         * modules/getlogin: New file.
33361         * doc/posix-functions/getlogin.texi: Mention the new module.
33362         Reported by John W. Eaton <jwe@gnu.org>.
33363
33364 2010-01-09  Bruno Haible  <bruno@clisp.org>
33365
33366         getlogin_r: Support for native Windows.
33367         * lib/getlogin_r.c: Include <windows.h>
33368         (getlogin_r): Implement for native Windows.
33369         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33370         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33371         via John W. Eaton <jwe@gnu.org>.
33372
33373 2010-01-09  Bruno Haible  <bruno@clisp.org>
33374
33375         getlogin_r: Small fixes.
33376         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33377         succeeds.
33378         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33379         before testing whether getlogin_r is declared. No need to set
33380         HAVE_DECL_GETLOGIN_R to 1.
33381         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33382
33383 2010-01-09  Bruno Haible  <bruno@clisp.org>
33384
33385         * lib/unistd.in.h (getlogin_r): Add comment.
33386
33387 2010-01-09  Bruno Haible  <bruno@clisp.org>
33388
33389         Tests for module 'getlogin_r'.
33390         * modules/getlogin_r-tests: New file.
33391         * tests/test-getlogin_r.c: New file.
33392
33393 2010-01-09  Jim Meyering  <meyering@redhat.com>
33394
33395         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33396         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33397         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33398
33399 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33400
33401         * lib/dup2.c (rpl_dup2): Improve comment.
33402
33403 2010-01-08  Eric Blake  <ebb9@byu.net>
33404
33405         maint.mk: allow packages to add makefile @@ exceptions
33406         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33407         (sc_makefile_check): Rename...
33408         (sc_makefile_at_at_check): ...to this, and use hook.
33409
33410         dup2: work around mingw bug
33411         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33412         Reported by Simon Josefsson.
33413
33414 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33415
33416         glob: Fix C++ compilation.
33417         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33418         C++.
33419
33420 2010-01-07  Bruno Haible  <bruno@clisp.org>
33421
33422         Fix indentation of wctype.in.h, broken since 2007-01-06.
33423         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33424
33425 2010-01-07  Bruno Haible  <bruno@clisp.org>
33426
33427         mbslen: Avoid collision with system function.
33428         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33429         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33430         * m4/mbslen.m4: New file.
33431         * modules/mbslen (Files): Add it.
33432         (configure.ac): Invoke gl_MBSLEN.
33433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33434         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33435         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33436         via Ian Beckwith <ianb@erislabs.net>.
33437
33438 2010-01-07  Bruno Haible  <bruno@clisp.org>
33439
33440         dirent: Document the last fix.
33441         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33442
33443 2010-01-07  Bruno Haible  <bruno@clisp.org>
33444
33445         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33446         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33447         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33448         va_list are defined.
33449         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33450         Reported by Eric Blake.
33451
33452 2010-01-07  Bruno Haible  <bruno@clisp.org>
33453
33454         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33455         * modules/xlist (Depends-on): Add 'list',
33456         * modules/xoset (Depends-on): Add 'oset'.
33457         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33458
33459 2010-01-07  Bruno Haible  <bruno@clisp.org>
33460
33461         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33462         * doc/posix-functions/strncasecmp.texi: Likewise.
33463
33464 2010-01-07  Bruno Haible  <bruno@clisp.org>
33465
33466         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33467
33468 2010-01-07  John W. Eaton  <jwe@octave.org>
33469
33470         wctype: allow C++ use
33471         * lib/wctype.in.h: Add extern "C" block for C++.
33472
33473 2010-01-06  Eric Blake  <ebb9@byu.net>
33474
33475         maint.mk: detect incorrect GFDL usage
33476         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33477
33478 2010-01-06  Jim Meyering  <meyering@redhat.com>
33479         and Eric Blake  <ebb9@byu.net>
33480
33481         maint.mk: ignore multi-line copyright in NEWS
33482         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33483
33484 2010-01-06  Eric Blake  <ebb9@byu.net>
33485
33486         select: add missing dependency
33487         * modules/select-tests (Depends-on): Move sockets dependency...
33488         * modules/select (Depends-on): ...here.
33489         Reported by Ian Beckwith.
33490
33491         doc: regenerate INSTALL
33492         * doc/INSTALL: Reflect recent autoconf update.
33493         * doc/INSTALL.ISO: Likewise.
33494         * doc/INSTALL.UTF-8: Likewise.
33495
33496         pread: fix compilation on glibc
33497         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33498         Reported by Ralf Wildenhues.
33499
33500         dirent: fix test failure
33501         * lib/dirent.in.h (includes): Guarantee ino_t.
33502         Reported by Ralf Wildenhues.
33503
33504 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33505
33506         linkat, renameat: avoid bad free
33507         * lib/at-func2.c (at_func2): Fix typo.
33508         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33509
33510 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33511
33512         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33513         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33514         to avoid failure of symlink test later.
33515
33516 2010-01-06  Eric Blake  <ebb9@byu.net>
33517
33518         stdio, unistd: guarantee ssize_t
33519         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33520         2008 are exposed when needed.
33521         * lib/stdio.in.h (includes): Likewise.
33522         Reported by Ralf Wildenhues.
33523
33524 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33525
33526         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33527         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33528         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33529
33530 2010-01-06  Jim Meyering  <meyering@redhat.com>
33531
33532         readtokens: this module *does* require xalloc.h
33533         It uses only functions that were omitted by the old syntax-check rule.
33534         * lib/readtokens.c: Include "xalloc.h" once again.
33535         * modules/readtokens (Depends-on): Add xalloc.
33536         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33537
33538 2010-01-05  Eric Blake  <ebb9@byu.net>
33539
33540         maint: support 'make announcement' from a VPATH build
33541         * top/maint.mk (announcement): Look for correct NEWS file.
33542
33543 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33544
33545         utimens (fdutimens): ignore a negative FD, per contract
33546         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33547         when we have a valid file descriptor.  Otherwise, using a brand
33548         new glibc (with just-patched futimens that now fails with EBADF)
33549         would cause this function to fail with ENOSYS.
33550         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33551         See also http://bugzilla.redhat.com/552320.
33552
33553 2010-01-05  Eric Blake  <ebb9@byu.net>
33554
33555         strcase: document what it provides
33556         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33557         gnulib module.
33558         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33559         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33560
33561 2010-01-05  Jim Meyering  <meyering@redhat.com>
33562
33563         maint: remove useless inclusions of "xalloc.h"
33564         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33565         * lib/readtokens.c: Likewise.
33566         * lib/same.c: Likewise.
33567         * modules/getloadavg (Depends-on): Remove xalloc.
33568         * modules/readtokens: Likewise.
33569         * modules/same: Likewise.
33570
33571         maint.mk: include 4 more function names in alloca.h-checking regexp
33572         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33573         regexp.  Before, we would give a false-positive (saying alloca.h
33574         is included unnecessarily) when the only uses involved omitted symbols.
33575
33576         xalloc.h: use consistent formatting
33577         * lib/xalloc.h: Move declarations to start in the first column.
33578
33579 2010-01-05  Eric Blake  <ebb9@byu.net>
33580
33581         mkdir: avoid xalloc
33582         * lib/mkdir.c (includes): Drop unused header.
33583         Reported by John W. Eaton.
33584
33585 2010-01-04  Jim Meyering  <meyering@redhat.com>
33586
33587         nl_langinfo: avoid configure-time syntax error
33588         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33589         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33590         the empty string.  Don't let that provoke a shell syntax error.
33591
33592         regcomp, regexec, fnmatch: avoid array bounds read error
33593         * lib/regcomp.c (build_equiv_class): From glibc:
33594         Use only the low 24 bits of a findidx return value as an index
33595         into the weights array.  Patch by Ulrich Drepper:
33596         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33597         * lib/regexec.c (check_node_accept_bytes): Likewise.
33598         * lib/fnmatch_loop.c (FCT): Likewise.
33599
33600         regcomp: skip collseq lookup when there are no rules
33601         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33602         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33603
33604         regcomp: recognize ill-formed { } expressions
33605         * lib/regcomp.c (parse_dup_op): From glibc:
33606         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33607
33608         regcomp: fix typo in comment
33609         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33610         s/satisfy/satisfies/.
33611
33612         regcomp: sync from glibc: remove dead store
33613         * lib/regcomp.c (duplicate_node_closure): Remove useless
33614         search_duplicated_node call and dead store.
33615
33616         regcomp: sync from glibc; always use nl_langinfo
33617         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33618         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33619         * modules/regex (Depends-on): Add nl_langinfo.
33620
33621 2010-01-04  Eric Blake  <ebb9@byu.net>
33622
33623         fdopendir: fix configure test
33624         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33625
33626 2010-01-01  Bruno Haible  <bruno@clisp.org>
33627
33628         wchar: Remove unused configure check.
33629         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33630
33631 2010-01-01  Eric Blake  <ebb9@byu.net>
33632
33633         headers: make check of system header explicit
33634         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33635         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33636         ourselves.
33637         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33638         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33639         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33640         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33641         internals.
33642         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33643         missing.
33644         Suggested by Bruno Haible.
33645
33646 2010-01-01  Jim Meyering  <meyering@redhat.com>
33647
33648         ChangeLog: tweak to eliminate unnecessary copyright line
33649         * ChangeLog: Remove a copyright line that was mistakenly updated
33650         by today's update-copyright run.  Reported by Eric Blake.
33651
33652         test-update-copyright: don't let envvar setting cause test failure
33653         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33654
33655 2010-01-01  Bruno Haible  <bruno@clisp.org>
33656
33657         localename: Avoid gcc warning.
33658         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33659         function if it is not used.
33660
33661 2010-01-01  Jim Meyering  <meyering@redhat.com>
33662
33663         update nearly all FSF copyright year lists to include 2010
33664         Use the same procedure as for 2009, outlined in
33665         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33666
33667         version-etc: set COPYRIGHT_YEAR to 2010
33668         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33669
33670 2009-12-31  Eric Blake  <ebb9@byu.net>
33671
33672         doc: correct availability of cygwin 1.5.x getopt
33673         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33674         variables.
33675         * doc/posix-functions/opterr.texi (opterr): Likewise.
33676         * doc/posix-functions/optind.texi (optind): Likewise.
33677         * doc/posix-functions/optopt.texi (optopt): Likewise.
33678         * doc/posix-functions/tzname.texi (tzname): Likewise.
33679
33680         openat: update maintainer
33681         * modules/openat (Maintainer): Add myself.
33682
33683         utimens: avoid shadowing warning
33684         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33685         buffers into one, to avoid shadowing, as well as avoiding a
33686         redundant stat.
33687         Reported by Jim Meyering.
33688
33689         test-dup2: avoid compiler warning
33690         * tests/test-dup2.c (is_inheritable): Only define if used.
33691
33692 2010-01-01  Bruno Haible  <bruno@clisp.org>
33693
33694         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33695         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33696         defined, use wctomb instead of wcrtomb.
33697
33698 2010-01-01  Bruno Haible  <bruno@clisp.org>
33699
33700         iconv: Reject native Solaris iconv.
33701         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33702         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33703
33704 2009-12-31  Bruno Haible  <bruno@clisp.org>
33705
33706         * tests/test-signal.c (main): Remove test of 'SIG'.
33707
33708 2009-12-31  Bruno Haible  <bruno@clisp.org>
33709
33710         spawn: Fix incomplete fix.
33711         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33712         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33713         warnings for GNULIB_POSIXCHECK again.
33714         Reported by Eric Blake.
33715
33716 2009-12-31  Bruno Haible  <bruno@clisp.org>
33717
33718         Avoid namespace pollution on glibc systems.
33719         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33720         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33721         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33722         glibc systems.
33723
33724 2009-12-31  Bruno Haible  <bruno@clisp.org>
33725
33726         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33727         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33728         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33729         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33730         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33731         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33732         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33733
33734 2009-12-31  Bruno Haible  <bruno@clisp.org>
33735
33736         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33737         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33738         afterwards.
33739
33740 2009-12-31  Bruno Haible  <bruno@clisp.org>
33741
33742         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33743         SYS_UTSNAME_H.
33744
33745 2009-12-31  Bruno Haible  <bruno@clisp.org>
33746
33747         spawn: Fix misapplied patch.
33748         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33749         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33750         warnings for GNULIB_POSIXCHECK.
33751
33752 2009-12-31  Bruno Haible  <bruno@clisp.org>
33753
33754         times: Update after sys_times changed.
33755         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33756         * modules/times (Files): Add it.
33757         (configure.ac): Invoke gl_FUNC_TIMES.
33758
33759 2009-12-31  Bruno Haible  <bruno@clisp.org>
33760
33761         Use AC_C_INLINE where necessary.
33762         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33763         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33764         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33765         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33766         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33767         * m4/mbiter.m4 (gl_MBITER): Likewise.
33768         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33769         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33770         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33771         * modules/u64 (configure.ac): Likewise.
33772
33773 2009-12-31  Bruno Haible  <bruno@clisp.org>
33774
33775         Use AC_C_INLINE instead of module 'inline' where possible.
33776         * modules/inline (Description): Clarify purpose.
33777         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33778         * modules/count-one-bits (Depends-on): Remove inline.
33779         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33780         * modules/openat (Depends-on): Remove inline.
33781         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33782         instead of depending on module 'inline'.
33783         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33784         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33785         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33786         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33787         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33788         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33789         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33790         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33791         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33792         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33793         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33794         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33795         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33796         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33797         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33798         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33799         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33800         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33801         Likewise.
33802         * modules/unictype/property-ascii-hex-digit (Depends-on,
33803         configure.ac): Likewise.
33804         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33805         configure.ac): Likewise.
33806         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33807         configure.ac): Likewise.
33808         * modules/unictype/property-bidi-block-separator (Depends-on,
33809         configure.ac): Likewise.
33810         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33811         configure.ac): Likewise.
33812         * modules/unictype/property-bidi-common-separator (Depends-on,
33813         configure.ac): Likewise.
33814         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33815         Likewise.
33816         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33817         configure.ac): Likewise.
33818         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33819         configure.ac): Likewise.
33820         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33821         configure.ac): Likewise.
33822         * modules/unictype/property-bidi-european-digit (Depends-on,
33823         configure.ac): Likewise.
33824         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33825         configure.ac): Likewise.
33826         * modules/unictype/property-bidi-left-to-right (Depends-on,
33827         configure.ac): Likewise.
33828         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33829         configure.ac): Likewise.
33830         * modules/unictype/property-bidi-other-neutral (Depends-on,
33831         configure.ac): Likewise.
33832         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33833         Likewise.
33834         * modules/unictype/property-bidi-segment-separator (Depends-on,
33835         configure.ac): Likewise.
33836         * modules/unictype/property-bidi-whitespace (Depends-on,
33837         configure.ac): Likewise.
33838         * modules/unictype/property-combining (Depends-on, configure.ac):
33839         Likewise.
33840         * modules/unictype/property-composite (Depends-on, configure.ac):
33841         Likewise.
33842         * modules/unictype/property-currency-symbol (Depends-on,
33843         configure.ac): Likewise.
33844         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33845         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33846         Likewise.
33847         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33848         configure.ac): Likewise.
33849         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33850         Likewise.
33851         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33852         Likewise.
33853         * modules/unictype/property-extender (Depends-on, configure.ac):
33854         Likewise.
33855         * modules/unictype/property-format-control (Depends-on, configure.ac):
33856         Likewise.
33857         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33858         Likewise.
33859         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33860         Likewise.
33861         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33862         Likewise.
33863         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33864         Likewise.
33865         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33866         Likewise.
33867         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33868         Likewise.
33869         * modules/unictype/property-id-start (Depends-on, configure.ac):
33870         Likewise.
33871         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33872         Likewise.
33873         * modules/unictype/property-ids-binary-operator (Depends-on,
33874         configure.ac): Likewise.
33875         * modules/unictype/property-ids-trinary-operator (Depends-on,
33876         configure.ac): Likewise.
33877         * modules/unictype/property-ignorable-control (Depends-on,
33878         configure.ac): Likewise.
33879         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33880         Likewise.
33881         * modules/unictype/property-join-control (Depends-on, configure.ac):
33882         Likewise.
33883         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33884         Likewise.
33885         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33886         Likewise.
33887         * modules/unictype/property-logical-order-exception (Depends-on,
33888         configure.ac): Likewise.
33889         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33890         Likewise.
33891         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33892         * modules/unictype/property-non-break (Depends-on, configure.ac):
33893         Likewise.
33894         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33895         Likewise.
33896         * modules/unictype/property-numeric (Depends-on, configure.ac):
33897         Likewise.
33898         * modules/unictype/property-other-alphabetic (Depends-on,
33899         configure.ac): Likewise.
33900         * modules/unictype/property-other-default-ignorable-code-point
33901         (Depends-on, configure.ac): Likewise.
33902         * modules/unictype/property-other-grapheme-extend (Depends-on,
33903         configure.ac): Likewise.
33904         * modules/unictype/property-other-id-continue (Depends-on,
33905         configure.ac): Likewise.
33906         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33907         Likewise.
33908         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33909         Likewise.
33910         * modules/unictype/property-other-math (Depends-on, configure.ac):
33911         Likewise.
33912         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33913         Likewise.
33914         * modules/unictype/property-paired-punctuation (Depends-on,
33915         configure.ac): Likewise.
33916         * modules/unictype/property-paragraph-separator (Depends-on,
33917         configure.ac): Likewise.
33918         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33919         Likewise.
33920         * modules/unictype/property-pattern-white-space (Depends-on,
33921         configure.ac): Likewise.
33922         * modules/unictype/property-private-use (Depends-on, configure.ac):
33923         Likewise.
33924         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33925         Likewise.
33926         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33927         Likewise.
33928         * modules/unictype/property-radical (Depends-on, configure.ac):
33929         Likewise.
33930         * modules/unictype/property-sentence-terminal (Depends-on,
33931         configure.ac): Likewise.
33932         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33933         Likewise.
33934         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33935         * modules/unictype/property-terminal-punctuation (Depends-on,
33936         configure.ac): Likewise.
33937         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33938         Likewise.
33939         * modules/unictype/property-unassigned-code-value (Depends-on,
33940         configure.ac): Likewise.
33941         * modules/unictype/property-unified-ideograph (Depends-on,
33942         configure.ac): Likewise.
33943         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33944         Likewise.
33945         * modules/unictype/property-variation-selector (Depends-on,
33946         configure.ac): Likewise.
33947         * modules/unictype/property-white-space (Depends-on, configure.ac):
33948         Likewise.
33949         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33950         Likewise.
33951         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33952         Likewise.
33953         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33954         Likewise.
33955         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33956         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33957         Likewise.
33958
33959 2009-12-31  Bruno Haible  <bruno@clisp.org>
33960
33961         Remove unnecessary AC_C_INLINE invocation.
33962         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33963         since 2009-08-21.
33964
33965 2009-12-31  Jim Meyering  <meyering@redhat.com>
33966
33967         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33968         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33969         With this change, we can all remove the gpg_key_ID = ... definition
33970         from our respective cfg.mk files.
33971
33972         maint.mk: create announcement template in ~/, not in /tmp
33973         * top/maint.mk (emit_upload_commands): Adjust.
33974         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33975         Remove temporary file, .ci-msg.
33976
33977 2009-12-31  Eric Blake  <ebb9@byu.net>
33978
33979         link-warning: always build headers with link warnings
33980         * modules/arpa_inet (Makefile.am): Always build replacement
33981         header.
33982         * modules/ctype (Makefile.am): Likewise.
33983         * modules/dirent (Makefile.am): Likewise.
33984         * modules/inttypes (Makefile.am): Likewise.
33985         * modules/langinfo (Makefile.am): Likewise.
33986         * modules/locale (Makefile.am): Likewise.
33987         * modules/spawn (Makefile.am): Likewise.
33988         * modules/sys_file (Makefile.am): Likewise.
33989         * modules/sys_ioctl (Makefile.am): Likewise.
33990         * modules/sys_select (Makefile.am): Likewise.
33991         * modules/sys_socket (Makefile.am): Likewise.
33992         * modules/sys_times (Makefile.am): Likewise.
33993         * modules/sys_utsname (Makefile.am): Likewise.
33994         * modules/sys_wait (Makefile.am): Likewise.
33995         * modules/wchar (Makefile.am): Likewise.
33996         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33997         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33998         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33999         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
34000         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
34001         Likewise.
34002         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34003         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34004         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
34005         Likewise.
34006         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
34007         Likewise.
34008         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
34009         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
34010         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
34011         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34012         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34013         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
34014         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
34015         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
34016         (gl_WCHAR_H_DEFAULTS): Likewise.
34017
34018 2009-12-31  Eric Blake  <ebb9@byu.net>
34019
34020         signal, spawn: use link warnings
34021         * lib/signal.in.h (sigset_t): Make unconditional.
34022         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
34023         (sigpending, sigprocmask, sigaction): Add link warnings.
34024         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
34025         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
34026         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
34027         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
34028         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
34029         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
34030         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
34031         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
34032         (posix_spawn_file_actions_destroy)
34033         (posix_spawn_file_actions_addopen)
34034         (posix_spawn_file_actions_addclose)
34035         (posix_spawn_file_actions_adddup2): Likewise.
34036         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
34037         * tests/test-signal.c (main): Enhance test.
34038
34039         spawn: improve wrapper support
34040         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
34041         (gl_SPAWN_H_DEFAULTS): New defaults.
34042         * modules/spawn (Makefile.am): Substitute them.
34043         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
34044         Only declare if missing or broken.
34045
34046         sys_times, sys_utsname: use include_next
34047         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
34048         header.
34049         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
34050         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
34051         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
34052         * modules/sys_times (Depends-on): Add include_next.
34053         (Makefile.am): Substitute additional values.
34054         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34055         * lib/sys_times.in.h (includes): Include native header, if
34056         available.
34057         * lib/sys_utsname.in.h (includes): Likewise.
34058         * tests/test-sys_times.c (main): Enhance test.
34059
34060         fdutimensat: revert prior patch
34061         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
34062         utimens.h.
34063         Reported by Bruno Haible.
34064
34065 2009-12-30  Eric Blake  <ebb9@byu.net>
34066
34067         sys_wait: drop link-warning dependency
34068         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
34069         link-warning efforts.
34070         * lib/sys_wait.in.h: Likewise.
34071
34072         fdutimensat: remove bogus dependency
34073         * modules/fdutimensat (Depends-on): Drop inline.
34074
34075         unistd: fix typo
34076         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
34077
34078 2009-12-30  Bruno Haible  <bruno@clisp.org>
34079
34080         Fix compilation error with Solaris cc.
34081         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
34082         * lib/unicase/u16-is-invariant.c: Likewise.
34083         * lib/unicase/u32-is-invariant.c: Likewise.
34084         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
34085
34086 2009-12-30  Bruno Haible  <bruno@clisp.org>
34087
34088         Fix test crash.
34089         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
34090         locales.
34091         Reported by Simon Josefsson <simon@josefsson.org>.
34092
34093 2009-12-30  Bruno Haible  <bruno@clisp.org>
34094
34095         Fix compilation error on most platforms.
34096         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
34097         Reported by Simon Josefsson <simon@josefsson.org>
34098         and Nelson H. F. Beebe <beebe@math.utah.edu>.
34099
34100 2009-12-30  Eric Blake  <ebb9@byu.net>
34101
34102         futimens, utimensat: work around ntfs-3g bug
34103         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
34104         a ctime bug is present, and expand workaround to cover ntfs-3g.
34105         * lib/utimens.c (fdutimens, lutimens): Likewise.
34106         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
34107         (validate_timespec): Adjust return value.
34108         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
34109         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34110         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
34111
34112 2009-12-29  Eric Blake  <ebb9@byu.net>
34113
34114         link-warning: make usage consistent
34115         * modules/ctype (Depends-on): Add link-warning.
34116         (Makefile.am): Update rules accordingly.
34117         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34118         * modules/locale (Depends-on, Makefile.am): Likewise.
34119         * modules/sys_file (Makefile.am): Likewise.
34120         * modules/getopt-posix (Makefile.am): Delete unused link warning
34121         efforts.
34122         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
34123         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
34124         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
34125         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
34126
34127         stdio: remove unused variables
34128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
34129         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
34130         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
34131
34132         tests: test more substitute headers
34133         * modules/ctype-tests: New file.
34134         * modules/dirent-tests: Likewise.
34135         * modules/spawn-tests: Likewise.
34136         * modules/sys_file-tests: Likewise.
34137         * modules/sys_ioctl-tests: Likewise.
34138         * modules/sys_wait-tests: Likewise.
34139         * tests/test-ctype.c: Likewise.
34140         * tests/test-dirent.c: Likewise.
34141         * tests/test-spawn.c: Likewise.
34142         * tests/test-sys_file.c: Likewise.
34143         * tests/test-sys_ioctl.c: Likewise.
34144         * tests/test-sys_wait.c: Likewise.
34145         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
34146         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
34147         whether or not flock is in use.
34148
34149         tests: remove License section from module
34150         * modules/arpa_inet-tests: Remove unneeded section.
34151         * modules/byteswap-tests: Likewise.
34152         * modules/ceilf-tests: Likewise.
34153         * modules/ceill-tests: Likewise.
34154         * modules/crypto/des-tests: Likewise.
34155         * modules/crypto/gc-arcfour-tests: Likewise.
34156         * modules/crypto/gc-arctwo-tests: Likewise.
34157         * modules/crypto/gc-des-tests: Likewise.
34158         * modules/crypto/gc-hmac-md5-tests: Likewise.
34159         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34160         * modules/crypto/gc-md2-tests: Likewise.
34161         * modules/crypto/gc-md4-tests: Likewise.
34162         * modules/crypto/gc-md5-tests: Likewise.
34163         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34164         * modules/crypto/gc-rijndael-tests: Likewise.
34165         * modules/crypto/gc-sha1-tests: Likewise.
34166         * modules/crypto/gc-tests: Likewise.
34167         * modules/crypto/md2-tests: Likewise.
34168         * modules/crypto/md4-tests: Likewise.
34169         * modules/fcntl-h-tests: Likewise.
34170         * modules/floorf-tests: Likewise.
34171         * modules/floorl-tests: Likewise.
34172         * modules/frexp-nolibm-tests: Likewise.
34173         * modules/frexp-tests: Likewise.
34174         * modules/frexpl-nolibm-tests: Likewise.
34175         * modules/frexpl-tests: Likewise.
34176         * modules/getaddrinfo-tests: Likewise.
34177         * modules/inttypes-tests: Likewise.
34178         * modules/isfinite-tests: Likewise.
34179         * modules/isinf-tests: Likewise.
34180         * modules/ldexpl-tests: Likewise.
34181         * modules/locale-tests: Likewise.
34182         * modules/math-tests: Likewise.
34183         * modules/netdb-tests: Likewise.
34184         * modules/netinet_in-tests: Likewise.
34185         * modules/printf-frexp-tests: Likewise.
34186         * modules/printf-frexpl-tests: Likewise.
34187         * modules/priv-set-tests: Likewise.
34188         * modules/random_r-tests: Likewise.
34189         * modules/round-tests: Likewise.
34190         * modules/roundf-tests: Likewise.
34191         * modules/roundl-tests: Likewise.
34192         * modules/search-tests: Likewise.
34193         * modules/select-tests: Likewise.
34194         * modules/signal-tests: Likewise.
34195         * modules/stdbool-tests: Likewise.
34196         * modules/stddef-tests: Likewise.
34197         * modules/stdint-tests: Likewise.
34198         * modules/stdio-tests: Likewise.
34199         * modules/stdlib-tests: Likewise.
34200         * modules/string-tests: Likewise.
34201         * modules/strings-tests: Likewise.
34202         * modules/sys_select-tests: Likewise.
34203         * modules/sys_socket-tests: Likewise.
34204         * modules/sys_stat-tests: Likewise.
34205         * modules/sys_time-tests: Likewise.
34206         * modules/sys_utsname-tests: Likewise.
34207         * modules/sysexits-tests: Likewise.
34208         * modules/time-tests: Likewise.
34209         * modules/trunc-tests: Likewise.
34210         * modules/truncf-tests: Likewise.
34211         * modules/truncl-tests: Likewise.
34212         * modules/tsearch-tests: Likewise.
34213         * modules/unistd-tests: Likewise.
34214         * modules/wchar-tests: Likewise.
34215         * modules/wctype-tests: Likewise.
34216
34217         tests: fix license on several tests
34218         * tests/test-des.c: Update to GPLv3+.
34219         * tests/test-flock.c: Likewise.
34220         * tests/test-fsync.c: Likewise.
34221         * tests/test-futimens.h: Likewise.
34222         * tests/test-gc-arcfour.c: Likewise.
34223         * tests/test-gc-arctwo.c: Likewise.
34224         * tests/test-gc-des.c: Likewise.
34225         * tests/test-gc-hmac-md5.c: Likewise.
34226         * tests/test-gc-hmac-sha1.c: Likewise.
34227         * tests/test-gc-md2.c: Likewise.
34228         * tests/test-gc-md4.c: Likewise.
34229         * tests/test-gc-md5.c: Likewise.
34230         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34231         * tests/test-gc-rijndael.c: Likewise.
34232         * tests/test-gc-sha1.c: Likewise.
34233         * tests/test-gc.c: Likewise.
34234         * tests/test-getcwd.c: Likewise.
34235         * tests/test-link.c: Likewise.
34236         * tests/test-link.h: Likewise.
34237         * tests/test-lutimens.h: Likewise.
34238         * tests/test-md2.c: Likewise.
34239         * tests/test-md4.c: Likewise.
34240         * tests/test-mkdir.h: Likewise.
34241         * tests/test-rename.c: Likewise.
34242         * tests/test-rename.h: Likewise.
34243         * tests/test-safe-alloc.c: Likewise.
34244         * tests/test-utimens-common.h: Likewise.
34245         * tests/test-utimens.h: Likewise.
34246
34247         maint: sync license texts
34248         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34249         * doc/gpl-3.0.texi: Revert copyright year update.
34250         * doc/lgpl-3.0.texi: Likewise.
34251
34252 2009-12-29  Jim Meyering  <meyering@redhat.com>
34253
34254         update nearly all FSF copyright year lists to include 2009
34255         The files named by the following are exempted:
34256             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34257               test -f "$dst" && { echo "$dst"; continue; }
34258               test -d "$dst" || continue
34259               echo "$dst"/$(basename "$src")
34260             done > exempt
34261             git ls-files tests/unictype >> exempt
34262         In the remaining files, convert to all-interval notation if
34263         - there is already at least one year interval like 2000-2003
34264         - the file is maintained by me
34265         - the file is in lib/uni*/, where that style already prevails
34266         Otherwise, use update-copyright's default.
34267
34268 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34269         and Eric Blake  <ebb9@byu.net>
34270
34271         tests: don't require debug system() to pass
34272         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34273         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34274         * tests/test-unlink.h (test_unlink_func): Likewise.
34275         * tests/test-fstatat.c (main): ...into callers.
34276         * tests/test-lstat.c (main): Likewise.
34277         * tests/test-rmdir.c (main): Likewise.
34278         * tests/test-unlink.c (main): Likewise.
34279         * tests/test-unlinkat.c (main): Likewise.
34280         * tests/test-areadlink-with-size.c (main): Don't require a
34281         debug-only system call to pass, aiding cross-testing to mingw.
34282         * tests/test-areadlink.c (main): Likewise.
34283         * tests/test-areadlinkat-with-size.c (main): Likewise.
34284         * tests/test-areadlinkat.c (main): Likewise.
34285         * tests/test-canonicalize-lgpl.c (main): Likewise.
34286         * tests/test-canonicalize.c (main): Likewise.
34287         * tests/test-chown.c (main): Likewise.
34288         * tests/test-fchownat.c (main): Likewise.
34289         * tests/test-lchown.c (main): Likewise.
34290         * tests/test-fdutimensat.c (main): Likewise.
34291         * tests/test-futimens.c (main): Likewise.
34292         * tests/test-link.c (main): Likewise.
34293         * tests/test-linkat.c (main): Likewise.
34294         * tests/test-mkdir.c (main): Likewise.
34295         * tests/test-mkdirat.c (main): Likewise.
34296         * tests/test-mkfifo.c (main): Likewise.
34297         * tests/test-mkfifoat.c (main): Likewise.
34298         * tests/test-mknod.c (main): Likewise.
34299         * tests/test-readlink.c (main): Likewise.
34300         * tests/test-remove.c (main): Likewise.
34301         * tests/test-rename.c (main): Likewise.
34302         * tests/test-renameat.c (main): Likewise.
34303         * tests/test-symlink.c (main): Likewise.
34304         * tests/test-symlinkat.c (main): Likewise.
34305         * tests/test-utimens.c (main): Likewise.
34306         * tests/test-utimensat.c (main): Likewise.
34307
34308 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34309
34310         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34311         on $(UNUSED_PARAMETER_H) to avoid build failure.
34312
34313 2009-12-28  Jim Meyering  <meyering@redhat.com>
34314
34315         update-copyright: you may specify a max. line length other than 72
34316         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34317
34318         maint: use consistent FSF copyright line syntax
34319         * lib/posixtm.c: Add missing comma in FSF copyright line.
34320         * lib/posixtm.h: Likewise.
34321         * lib/getugroups.c: Add missing ", Inc.".
34322
34323         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34324         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34325         FSF copyright line.  Remove trailing blanks.
34326
34327 2009-12-28  Eric Blake  <ebb9@byu.net>
34328
34329         test-dup2: reduce dependencies
34330         * modules/cloexec (Configure.ac): Set witness.
34331         * modules/dup2-tests (Depends-on): Drop cloexec.
34332         * tests/test-dup2.c (main): Skip portion of test if cloexec module
34333         not present.
34334         Suggested by Bruno Haible.
34335
34336 2009-12-26  Bruno Haible  <bruno@clisp.org>
34337
34338         Remove an unneeded dependency.
34339         * modules/fseterr (Depends-on): Remove dup2.
34340
34341 2009-12-26  Eric Blake  <ebb9@byu.net>
34342
34343         tests: use macros.h in more places
34344         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
34345         (ASSERT_STREAM): Provide default of stderr.
34346         * tests/test-dirent-safer.c: Include macros.h, using alternate
34347         stream for assertions.
34348         * tests/test-dup-safer.c: Likewise.
34349         * tests/test-freopen-safer.c: Likewise.
34350         * tests/test-getopt.c: Likewise.
34351         * tests/test-openat-safer.c: Likewise.
34352         * tests/test-pipe.c: Likewise.
34353         * tests/test-popen-safer.c: Likewise.
34354         * modules/dirent-safer-tests (Files): Include macros.h.
34355         * modules/unistd-safer-tests (Files): Likewise.
34356         * modules/freopen-safer-tests (Files): Likewise.
34357         * modules/getopt-posix-tests (Files): Likewise.
34358         * modules/openat-safer-tests (Files): Likewise.
34359         * modules/pipe-tests (Files): Likewise.
34360
34361 2009-12-26  Bruno Haible  <bruno@clisp.org>
34362
34363         javacomp: Portability fix.
34364         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34365         that it also works on Solaris.
34366
34367 2009-12-26  Bruno Haible  <bruno@clisp.org>
34368
34369         localename: Fix storage allocation of gl_locale_name_thread's result.
34370         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34371         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34372         all platforms that have 'uselocale'.
34373         (gl_locale_name_thread_unsafe): New function, extracted from
34374         gl_locale_name_thread.
34375         (gl_locale_name_thread): Call struniq on all platforms that have
34376         'uselocale'.
34377         * tests/test-localename.c (test_locale_name_thread): Check that the
34378         resulting strings are permanently allocated.
34379         * modules/localename-tests (Depends-on): Add strdup.
34380
34381 2009-12-26  Bruno Haible  <bruno@clisp.org>
34382
34383         * tests/test-localename.c (categories): Fill in the strings.
34384
34385 2009-12-26  Jim Meyering  <meyering@redhat.com>
34386
34387         isdir: complete the removal of m4/isdir.m4
34388         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34389
34390         isdir: clean up, since at least grep still uses it
34391         * lib/isdir.c: Include "isdir.h".
34392         (S_ISDIR): Remove now-unneeded definition.
34393         * modules/isdir (Files): Add lib/isdir.h.
34394         * lib/isdir.h: New file, with declaration.
34395         * m4/isdir.m4: Remove file -- unneeded.
34396
34397 2009-12-25  Bruno Haible  <bruno@clisp.org>
34398
34399         selinux-h: Make generated .h files standalone.
34400         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34401         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34402         * lib/se-selinux.in.h: Likewise.
34403         * modules/selinux-h (Depends-on): Add unused-parameter.
34404         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34405         selinux/selinux.h and selinux/context.h.
34406         Suggested by Eric Blake.
34407
34408 2009-12-25  Bruno Haible  <bruno@clisp.org>
34409
34410         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34411         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34412         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34413         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34414         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34415
34416 2009-12-24  Bruno Haible  <bruno@clisp.org>
34417
34418         openat: Fix warning.
34419         * lib/openat-proc.c: Include <unistd.h>.
34420
34421 2009-12-24  Bruno Haible  <bruno@clisp.org>
34422
34423         New module 'unused-parameter'.
34424         * build-aux/unused-parameter.h: New file, extracted from earlier
34425         gnulib-common.m4.
34426         * modules/unused-parameter: New file.
34427         * lib/unistr.h: Include unused-parameter.h.
34428         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34429         _GL_UNUSED.
34430         * modules/unistr/base (Depends-on): Add unused-parameter.
34431
34432 2009-12-24  Bruno Haible  <bruno@clisp.org>
34433
34434         Add missing dependencies to 'extensions' module.
34435         * m4/extensions.m4: Add comment.
34436         * modules/accept4 (Depends-on): Add extensions.
34437         * modules/dup3 (Depends-on): Likewise.
34438         * modules/fcntl (Depends-on): Likewise.
34439         * modules/futimens (Depends-on): Likewise.
34440         * modules/mknod (Depends-on): Likewise.
34441         * modules/pipe2 (Depends-on): Likewise.
34442         * modules/stat-time (Depends-on): Likewise.
34443         * modules/strcasestr-simple (Depends-on): Likewise.
34444         * modules/strsignal (Depends-on): Likewise.
34445         * modules/utimensat (Depends-on): Likewise.
34446         * modules/localcharset (Depends-on): Likewise. Needed because of
34447         gl_FCNTL_O_FLAGS.
34448         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34449         AC_TYPE_MBSTATE_T.
34450         * modules/wcsnrtombs (Depends-on): Likewise.
34451         * modules/wcsrtombs (Depends-on): Likewise.
34452
34453 2009-12-24  Bruno Haible  <bruno@clisp.org>
34454
34455         binary-io: Avoid gcc warning due to SET_BINARY.
34456         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34457         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34458
34459 2009-12-24  Bruno Haible  <bruno@clisp.org>
34460
34461         Avoid future namespace pollution on glibc systems.
34462         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34463         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34464         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34465         glibc systems.
34466
34467 2009-12-24  Bruno Haible  <bruno@clisp.org>
34468
34469         Refactor common macros used in tests.
34470         * tests/macros.h: New file.
34471         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34472         and/or <stdlib.h>, if appropriate.
34473         (ASSERT, SIZEOF): Remove macros.
34474         * tests/test-areadlink-with-size.c: Likewise.
34475         * tests/test-areadlinkat.c: Likewise.
34476         * tests/test-areadlinkat-with-size.c: Likewise.
34477         * tests/test-argmatch.c: Likewise.
34478         * tests/test-argv-iter.c: Likewise.
34479         * tests/test-array-mergesort.c: Likewise.
34480         * tests/test-array_list.c: Likewise.
34481         * tests/test-array_oset.c: Likewise.
34482         * tests/test-avltree_list.c: Likewise.
34483         * tests/test-avltree_oset.c: Likewise.
34484         * tests/test-avltreehash_list.c: Likewise.
34485         * tests/test-base64.c: Likewise.
34486         * tests/test-binary-io.c: Likewise.
34487         * tests/test-bitrotate.c: Likewise.
34488         * tests/test-btowc.c: Likewise.
34489         * tests/test-byteswap.c: Likewise.
34490         * tests/test-c-ctype.c: Likewise.
34491         * tests/test-c-stack.c: Likewise.
34492         * tests/test-c-strcasecmp.c: Likewise.
34493         * tests/test-c-strcasestr.c: Likewise.
34494         * tests/test-c-strncasecmp.c: Likewise.
34495         * tests/test-c-strstr.c: Likewise.
34496         * tests/test-canonicalize-lgpl.c: Likewise.
34497         * tests/test-canonicalize.c: Likewise.
34498         * tests/test-carray_list.c: Likewise.
34499         * tests/test-ceilf1.c: Likewise.
34500         * tests/test-ceilf2.c: Likewise.
34501         * tests/test-ceill.c: Likewise.
34502         * tests/test-chown.c: Likewise.
34503         * tests/test-cloexec.c: Likewise.
34504         * tests/test-copy-acl.c: Likewise.
34505         * tests/test-copy-file.c: Likewise.
34506         * tests/test-count-one-bits.c: Likewise.
34507         * tests/test-dprintf-posix.c: Likewise.
34508         * tests/test-dup2.c: Likewise.
34509         * tests/test-dup3.c: Likewise.
34510         * tests/test-duplocale.c: Likewise.
34511         * tests/test-fbufmode.c: Likewise.
34512         * tests/test-fchdir.c: Likewise.
34513         * tests/test-fchownat.c: Likewise.
34514         * tests/test-fcntl-safer.c: Likewise.
34515         * tests/test-fcntl.c: Likewise.
34516         * tests/test-fdopendir.c: Likewise.
34517         * tests/test-fdutimensat.c: Likewise.
34518         * tests/test-fflush2.c: Likewise.
34519         * tests/test-file-has-acl.c: Likewise.
34520         * tests/test-filevercmp.c: Likewise.
34521         * tests/test-flock.c: Likewise.
34522         * tests/test-floorf1.c: Likewise.
34523         * tests/test-floorf2.c: Likewise.
34524         * tests/test-floorl.c: Likewise.
34525         * tests/test-fnmatch.c: Likewise.
34526         * tests/test-fopen.h: Likewise.
34527         * tests/test-fpending.c: Likewise.
34528         * tests/test-fprintf-posix.c: Likewise.
34529         * tests/test-fpurge.c: Likewise.
34530         * tests/test-freadable.c: Likewise.
34531         * tests/test-freadahead.c: Likewise.
34532         * tests/test-freading.c: Likewise.
34533         * tests/test-freadptr.c: Likewise.
34534         * tests/test-freadptr2.c: Likewise.
34535         * tests/test-freadseek.c: Likewise.
34536         * tests/test-freopen.c: Likewise.
34537         * tests/test-frexp.c: Likewise.
34538         * tests/test-frexpl.c: Likewise.
34539         * tests/test-fseek.c: Likewise.
34540         * tests/test-fseeko.c: Likewise.
34541         * tests/test-fstatat.c: Likewise.
34542         * tests/test-fstrcmp.c: Likewise.
34543         * tests/test-fsync.c: Likewise.
34544         * tests/test-ftell.c: Likewise.
34545         * tests/test-ftello.c: Likewise.
34546         * tests/test-func.c: Likewise.
34547         * tests/test-futimens.c: Likewise.
34548         * tests/test-fwritable.c: Likewise.
34549         * tests/test-fwriting.c: Likewise.
34550         * tests/test-getcwd.c: Likewise.
34551         * tests/test-getdate.c: Likewise.
34552         * tests/test-getdelim.c: Likewise.
34553         * tests/test-getdtablesize.c: Likewise.
34554         * tests/test-getgroups.c: Likewise.
34555         * tests/test-getline.c: Likewise.
34556         * tests/test-getndelim2.c: Likewise.
34557         * tests/test-glob.c: Likewise.
34558         * tests/test-hash.c: Likewise.
34559         * tests/test-i-ring.c: Likewise.
34560         * tests/test-iconv-utf.c: Likewise.
34561         * tests/test-iconv.c: Likewise.
34562         * tests/test-idpriv-drop.c: Likewise.
34563         * tests/test-idpriv-droptemp.c: Likewise.
34564         * tests/test-inet_ntop.c: Likewise.
34565         * tests/test-inet_pton.c: Likewise.
34566         * tests/test-isblank.c: Likewise.
34567         * tests/test-isfinite.c: Likewise.
34568         * tests/test-isinf.c: Likewise.
34569         * tests/test-isnan.c: Likewise.
34570         * tests/test-isnand.h: Likewise.
34571         * tests/test-isnanf.h: Likewise.
34572         * tests/test-isnanl.h: Likewise.
34573         * tests/test-lchown.c: Likewise.
34574         * tests/test-ldexpl.c: Likewise.
34575         * tests/test-link.c: Likewise.
34576         * tests/test-linkat.c: Likewise.
34577         * tests/test-linked_list.c: Likewise.
34578         * tests/test-linkedhash_list.c: Likewise.
34579         * tests/test-localename.c: Likewise.
34580         * tests/test-lseek.c: Likewise.
34581         * tests/test-lstat.c: Likewise.
34582         * tests/test-mbmemcasecmp.c: Likewise.
34583         * tests/test-mbmemcasecoll.c: Likewise.
34584         * tests/test-mbrtowc.c: Likewise.
34585         * tests/test-mbscasecmp.c: Likewise.
34586         * tests/test-mbscasestr1.c: Likewise.
34587         * tests/test-mbscasestr2.c: Likewise.
34588         * tests/test-mbscasestr3.c: Likewise.
34589         * tests/test-mbscasestr4.c: Likewise.
34590         * tests/test-mbschr.c: Likewise.
34591         * tests/test-mbscspn.c: Likewise.
34592         * tests/test-mbsinit.c: Likewise.
34593         * tests/test-mbsncasecmp.c: Likewise.
34594         * tests/test-mbsnrtowcs.c: Likewise.
34595         * tests/test-mbspbrk.c: Likewise.
34596         * tests/test-mbspcasecmp.c: Likewise.
34597         * tests/test-mbsrchr.c: Likewise.
34598         * tests/test-mbsrtowcs.c: Likewise.
34599         * tests/test-mbsspn.c: Likewise.
34600         * tests/test-mbsstr1.c: Likewise.
34601         * tests/test-mbsstr2.c: Likewise.
34602         * tests/test-mbsstr3.c: Likewise.
34603         * tests/test-memchr.c: Likewise.
34604         * tests/test-memchr2.c: Likewise.
34605         * tests/test-memcmp.c: Likewise.
34606         * tests/test-memmem.c: Likewise.
34607         * tests/test-memrchr.c: Likewise.
34608         * tests/test-mkdir.c: Likewise.
34609         * tests/test-mkdirat.c: Likewise.
34610         * tests/test-mkfifo.c: Likewise.
34611         * tests/test-mkfifoat.c: Likewise.
34612         * tests/test-mknod.c: Likewise.
34613         * tests/test-nanosleep.c: Likewise.
34614         * tests/test-nl_langinfo.c: Likewise.
34615         * tests/test-obstack-printf.c: Likewise.
34616         * tests/test-open.c: Likewise.
34617         * tests/test-openat.c: Likewise.
34618         * tests/test-pipe-filter-gi1.c: Likewise.
34619         * tests/test-pipe-filter-gi2-main.c: Likewise.
34620         * tests/test-pipe-filter-ii1.c: Likewise.
34621         * tests/test-pipe-filter-ii2-main.c: Likewise.
34622         * tests/test-pipe2.c: Likewise.
34623         * tests/test-popen.h: Likewise.
34624         * tests/test-posixtm.c: Likewise.
34625         * tests/test-pread.c: Likewise.
34626         * tests/test-printf-frexp.c: Likewise.
34627         * tests/test-printf-frexpl.c: Likewise.
34628         * tests/test-printf-posix.c: Likewise.
34629         * tests/test-priv-set.c: Likewise.
34630         * tests/test-quotearg.c: Likewise.
34631         * tests/test-random_r.c: Likewise.
34632         * tests/test-rawmemchr.c: Likewise.
34633         * tests/test-rbtree_list.c: Likewise.
34634         * tests/test-rbtree_oset.c: Likewise.
34635         * tests/test-rbtreehash_list.c: Likewise.
34636         * tests/test-readlink.c: Likewise.
34637         * tests/test-remove.c: Likewise.
34638         * tests/test-rename.c: Likewise.
34639         * tests/test-renameat.c: Likewise.
34640         * tests/test-rmdir.c: Likewise.
34641         * tests/test-round1.c: Likewise.
34642         * tests/test-roundf1.c: Likewise.
34643         * tests/test-roundl.c: Likewise.
34644         * tests/test-safe-alloc.c: Likewise.
34645         * tests/test-sameacls.c: Likewise.
34646         * tests/test-set-mode-acl.c: Likewise.
34647         * tests/test-setenv.c: Likewise.
34648         * tests/test-sigaction.c: Likewise.
34649         * tests/test-signbit.c: Likewise.
34650         * tests/test-sleep.c: Likewise.
34651         * tests/test-snprintf-posix.c: Likewise.
34652         * tests/test-snprintf.c: Likewise.
34653         * tests/test-sprintf-posix.c: Likewise.
34654         * tests/test-stat-time.c: Likewise.
34655         * tests/test-stat.c: Likewise.
34656         * tests/test-strcasestr.c: Likewise.
34657         * tests/test-strchrnul.c: Likewise.
34658         * tests/test-strerror.c: Likewise.
34659         * tests/test-striconv.c: Likewise.
34660         * tests/test-striconveh.c: Likewise.
34661         * tests/test-striconveha.c: Likewise.
34662         * tests/test-strsignal.c: Likewise.
34663         * tests/test-strstr.c: Likewise.
34664         * tests/test-strtod.c: Likewise.
34665         * tests/test-strverscmp.c: Likewise.
34666         * tests/test-symlink.c: Likewise.
34667         * tests/test-symlinkat.c: Likewise.
34668         * tests/test-trunc1.c: Likewise.
34669         * tests/test-trunc2.c: Likewise.
34670         * tests/test-truncf1.c: Likewise.
34671         * tests/test-truncf2.c: Likewise.
34672         * tests/test-truncl.c: Likewise.
34673         * tests/test-uname.c: Likewise.
34674         * tests/test-unlink.c: Likewise.
34675         * tests/test-unlinkat.c: Likewise.
34676         * tests/test-unsetenv.c: Likewise.
34677         * tests/test-usleep.c: Likewise.
34678         * tests/test-utimens.c: Likewise.
34679         * tests/test-utimensat.c: Likewise.
34680         * tests/test-vasnprintf-posix.c: Likewise.
34681         * tests/test-vasnprintf-posix2.c: Likewise.
34682         * tests/test-vasnprintf.c: Likewise.
34683         * tests/test-vasprintf-posix.c: Likewise.
34684         * tests/test-vasprintf.c: Likewise.
34685         * tests/test-vdprintf-posix.c: Likewise.
34686         * tests/test-vfprintf-posix.c: Likewise.
34687         * tests/test-vprintf-posix.c: Likewise.
34688         * tests/test-vsnprintf-posix.c: Likewise.
34689         * tests/test-vsnprintf.c: Likewise.
34690         * tests/test-vsprintf-posix.c: Likewise.
34691         * tests/test-wcrtomb.c: Likewise.
34692         * tests/test-wcsnrtombs.c: Likewise.
34693         * tests/test-wcsrtombs.c: Likewise.
34694         * tests/test-wctype.c: Likewise.
34695         * tests/test-wcwidth.c: Likewise.
34696         * tests/test-xfprintf-posix.c: Likewise.
34697         * tests/test-xmemdup0.c: Likewise.
34698         * tests/test-xprintf-posix.c: Likewise.
34699         * tests/test-xvasprintf.c: Likewise.
34700         * tests/unicase/test-locale-language.c: Likewise.
34701         * tests/unicase/test-mapping-part1.h: Likewise.
34702         * tests/unicase/test-predicate-part1.h: Likewise.
34703         * tests/unicase/test-u8-casecmp.c: Likewise.
34704         * tests/unicase/test-u8-casecoll.c: Likewise.
34705         * tests/unicase/test-u8-casefold.c: Likewise.
34706         * tests/unicase/test-u8-is-cased.c: Likewise.
34707         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34708         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34709         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34710         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34711         * tests/unicase/test-u8-tolower.c: Likewise.
34712         * tests/unicase/test-u8-totitle.c: Likewise.
34713         * tests/unicase/test-u8-toupper.c: Likewise.
34714         * tests/unicase/test-u16-casecmp.c: Likewise.
34715         * tests/unicase/test-u16-casecoll.c: Likewise.
34716         * tests/unicase/test-u16-casefold.c: Likewise.
34717         * tests/unicase/test-u16-is-cased.c: Likewise.
34718         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34719         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34720         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34721         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34722         * tests/unicase/test-u16-tolower.c: Likewise.
34723         * tests/unicase/test-u16-totitle.c: Likewise.
34724         * tests/unicase/test-u16-toupper.c: Likewise.
34725         * tests/unicase/test-u32-casecmp.c: Likewise.
34726         * tests/unicase/test-u32-casecoll.c: Likewise.
34727         * tests/unicase/test-u32-casefold.c: Likewise.
34728         * tests/unicase/test-u32-is-cased.c: Likewise.
34729         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34730         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34731         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34732         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34733         * tests/unicase/test-u32-tolower.c: Likewise.
34734         * tests/unicase/test-u32-totitle.c: Likewise.
34735         * tests/unicase/test-u32-toupper.c: Likewise.
34736         * tests/unicase/test-ulc-casecmp.c: Likewise.
34737         * tests/unicase/test-ulc-casecoll.c: Likewise.
34738         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34739         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34740         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34741         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34742         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34743         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34744         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34745         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34746         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34747         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34748         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34749         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34750         * tests/unictype/test-bidi_byname.c: Likewise.
34751         * tests/unictype/test-bidi_name.c: Likewise.
34752         * tests/unictype/test-bidi_of.c: Likewise.
34753         * tests/unictype/test-bidi_test.c: Likewise.
34754         * tests/unictype/test-block_list.c: Likewise.
34755         * tests/unictype/test-block_of.c: Likewise.
34756         * tests/unictype/test-block_test.c: Likewise.
34757         * tests/unictype/test-categ_and.c: Likewise.
34758         * tests/unictype/test-categ_and_not.c: Likewise.
34759         * tests/unictype/test-categ_byname.c: Likewise.
34760         * tests/unictype/test-categ_name.c: Likewise.
34761         * tests/unictype/test-categ_none.c: Likewise.
34762         * tests/unictype/test-categ_of.c: Likewise.
34763         * tests/unictype/test-categ_or.c: Likewise.
34764         * tests/unictype/test-categ_test_withtable.c: Likewise.
34765         * tests/unictype/test-combining.c: Likewise.
34766         * tests/unictype/test-decdigit.c: Likewise.
34767         * tests/unictype/test-digit.c: Likewise.
34768         * tests/unictype/test-mirror.c: Likewise.
34769         * tests/unictype/test-numeric.c: Likewise.
34770         * tests/unictype/test-pr_byname.c: Likewise.
34771         * tests/unictype/test-pr_test.c: Likewise.
34772         * tests/unictype/test-predicate-part1.h: Likewise.
34773         * tests/unictype/test-scripts.c: Likewise.
34774         * tests/unictype/test-sy_c_ident.c: Likewise.
34775         * tests/unictype/test-sy_java_ident.c: Likewise.
34776         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34777         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34778         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34779         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34780         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34781         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34782         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34783         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34784         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34785         * tests/uninorm/test-compat-decomposition.c: Likewise.
34786         * tests/uninorm/test-composition.c: Likewise.
34787         * tests/uninorm/test-decomposing-form.c: Likewise.
34788         * tests/uninorm/test-decomposition.c: Likewise.
34789         * tests/uninorm/test-u8-nfc.c: Likewise.
34790         * tests/uninorm/test-u8-nfd.c: Likewise.
34791         * tests/uninorm/test-u8-nfkc.c: Likewise.
34792         * tests/uninorm/test-u8-nfkd.c: Likewise.
34793         * tests/uninorm/test-u8-normcmp.c: Likewise.
34794         * tests/uninorm/test-u8-normcoll.c: Likewise.
34795         * tests/uninorm/test-u16-nfc.c: Likewise.
34796         * tests/uninorm/test-u16-nfd.c: Likewise.
34797         * tests/uninorm/test-u16-nfkc.c: Likewise.
34798         * tests/uninorm/test-u16-nfkd.c: Likewise.
34799         * tests/uninorm/test-u16-normcmp.c: Likewise.
34800         * tests/uninorm/test-u16-normcoll.c: Likewise.
34801         * tests/uninorm/test-u32-nfc.c: Likewise.
34802         * tests/uninorm/test-u32-nfd.c: Likewise.
34803         * tests/uninorm/test-u32-nfkc.c: Likewise.
34804         * tests/uninorm/test-u32-nfkd.c: Likewise.
34805         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34806         * tests/uninorm/test-u32-normcmp.c: Likewise.
34807         * tests/uninorm/test-u32-normcoll.c: Likewise.
34808         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34809         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34810         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34811         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34812         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34813         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34814         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34815         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34816         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34817         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34818         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34819         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34820         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34821         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34822         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34823         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34824         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34825         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34826         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34827         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34828         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34829         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34830         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34831         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34832         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34833         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34834         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34835         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34836         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34837         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34838         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34839         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34840         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34841         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34842         * tests/uniwidth/test-u8-width.c: Likewise.
34843         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34844         * tests/uniwidth/test-u16-width.c: Likewise.
34845         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34846         * tests/uniwidth/test-u32-width.c: Likewise.
34847         * tests/uniwidth/test-uc_width.c: Likewise.
34848         * tests/uniwidth/test-uc_width2.c: Likewise.
34849         * modules/acl-tests (Files): Add tests/macros.h.
34850         * modules/areadlink-tests (Files): Likewise.
34851         * modules/areadlink-with-size-tests (Files): Likewise.
34852         * modules/areadlinkat-tests (Files): Likewise.
34853         * modules/areadlinkat-with-size-tests (Files): Likewise.
34854         * modules/argmatch-tests (Files): Likewise.
34855         * modules/argv-iter-tests (Files): Likewise.
34856         * modules/array-list-tests (Files): Likewise.
34857         * modules/array-mergesort-tests (Files): Likewise.
34858         * modules/array-oset-tests (Files): Likewise.
34859         * modules/avltree-list-tests (Files): Likewise.
34860         * modules/avltree-oset-tests (Files): Likewise.
34861         * modules/avltreehash-list-tests (Files): Likewise.
34862         * modules/base64-tests (Files): Likewise.
34863         * modules/binary-io-tests (Files): Likewise.
34864         * modules/bitrotate-tests (Files): Likewise.
34865         * modules/btowc-tests (Files): Likewise.
34866         * modules/byteswap-tests (Files): Likewise.
34867         * modules/c-ctype-tests (Files): Likewise.
34868         * modules/c-stack-tests (Files): Likewise.
34869         * modules/c-strcase-tests (Files): Likewise.
34870         * modules/c-strcasestr-tests (Files): Likewise.
34871         * modules/c-strstr-tests (Files): Likewise.
34872         * modules/canonicalize-lgpl-tests (Files): Likewise.
34873         * modules/canonicalize-tests (Files): Likewise.
34874         * modules/carray-list-tests (Files): Likewise.
34875         * modules/ceilf-tests (Files): Likewise.
34876         * modules/ceill-tests (Files): Likewise.
34877         * modules/chown-tests (Files): Likewise.
34878         * modules/cloexec-tests (Files): Likewise.
34879         * modules/copy-file-tests (Files): Likewise.
34880         * modules/count-one-bits-tests (Files): Likewise.
34881         * modules/dprintf-posix-tests (Files): Likewise.
34882         * modules/dup2-tests (Files): Likewise.
34883         * modules/dup3-tests (Files): Likewise.
34884         * modules/duplocale-tests (Files): Likewise.
34885         * modules/fbufmode-tests (Files): Likewise.
34886         * modules/fchdir-tests (Files): Likewise.
34887         * modules/fcntl-safer-tests (Files): Likewise.
34888         * modules/fcntl-tests (Files): Likewise.
34889         * modules/fdopendir-tests (Files): Likewise.
34890         * modules/fdutimensat-tests (Files): Likewise.
34891         * modules/fflush-tests (Files): Likewise.
34892         * modules/filevercmp-tests (Files): Likewise.
34893         * modules/flock-tests (Files): Likewise.
34894         * modules/floorf-tests (Files): Likewise.
34895         * modules/floorl-tests (Files): Likewise.
34896         * modules/fnmatch-tests (Files): Likewise.
34897         * modules/fopen-safer-tests (Files): Likewise.
34898         * modules/fopen-tests (Files): Likewise.
34899         * modules/fpending-tests (Files): Likewise.
34900         * modules/fprintf-posix-tests (Files): Likewise.
34901         * modules/fpurge-tests (Files): Likewise.
34902         * modules/freadable-tests (Files): Likewise.
34903         * modules/freadahead-tests (Files): Likewise.
34904         * modules/freading-tests (Files): Likewise.
34905         * modules/freadptr-tests (Files): Likewise.
34906         * modules/freadseek-tests (Files): Likewise.
34907         * modules/freopen-tests (Files): Likewise.
34908         * modules/frexp-nolibm-tests (Files): Likewise.
34909         * modules/frexp-tests (Files): Likewise.
34910         * modules/frexpl-nolibm-tests (Files): Likewise.
34911         * modules/frexpl-tests (Files): Likewise.
34912         * modules/fseek-tests (Files): Likewise.
34913         * modules/fseeko-tests (Files): Likewise.
34914         * modules/fstrcmp-tests (Files): Likewise.
34915         * modules/fsync-tests (Files): Likewise.
34916         * modules/ftell-tests (Files): Likewise.
34917         * modules/ftello-tests (Files): Likewise.
34918         * modules/func-tests (Files): Likewise.
34919         * modules/futimens-tests (Files): Likewise.
34920         * modules/fwritable-tests (Files): Likewise.
34921         * modules/fwriting-tests (Files): Likewise.
34922         * modules/getcwd-tests (Files): Likewise.
34923         * modules/getdate-tests (Files): Likewise.
34924         * modules/getdelim-tests (Files): Likewise.
34925         * modules/getdtablesize-tests (Files): Likewise.
34926         * modules/getgroups-tests (Files): Likewise.
34927         * modules/getline-tests (Files): Likewise.
34928         * modules/getndelim2-tests (Files): Likewise.
34929         * modules/glob-tests (Files): Likewise.
34930         * modules/hash-tests (Files): Likewise.
34931         * modules/i-ring-tests (Files): Likewise.
34932         * modules/iconv-tests (Files): Likewise.
34933         * modules/iconv_open-utf-tests (Files): Likewise.
34934         * modules/idpriv-drop-tests (Files): Likewise.
34935         * modules/idpriv-droptemp-tests (Files): Likewise.
34936         * modules/inet_ntop-tests (Files): Likewise.
34937         * modules/inet_pton-tests (Files): Likewise.
34938         * modules/isblank-tests (Files): Likewise.
34939         * modules/isfinite-tests (Files): Likewise.
34940         * modules/isinf-tests (Files): Likewise.
34941         * modules/isnan-tests (Files): Likewise.
34942         * modules/isnand-nolibm-tests (Files): Likewise.
34943         * modules/isnand-tests (Files): Likewise.
34944         * modules/isnanf-nolibm-tests (Files): Likewise.
34945         * modules/isnanf-tests (Files): Likewise.
34946         * modules/isnanl-nolibm-tests (Files): Likewise.
34947         * modules/isnanl-tests (Files): Likewise.
34948         * modules/lchown-tests (Files): Likewise.
34949         * modules/ldexpl-tests (Files): Likewise.
34950         * modules/link-tests (Files): Likewise.
34951         * modules/linkat-tests (Files): Likewise.
34952         * modules/linked-list-tests (Files): Likewise.
34953         * modules/linkedhash-list-tests (Files): Likewise.
34954         * modules/localename-tests (Files): Likewise.
34955         * modules/lseek-tests (Files): Likewise.
34956         * modules/lstat-tests (Files): Likewise.
34957         * modules/mbmemcasecmp-tests (Files): Likewise.
34958         * modules/mbmemcasecoll-tests (Files): Likewise.
34959         * modules/mbrtowc-tests (Files): Likewise.
34960         * modules/mbscasecmp-tests (Files): Likewise.
34961         * modules/mbscasestr-tests (Files): Likewise.
34962         * modules/mbschr-tests (Files): Likewise.
34963         * modules/mbscspn-tests (Files): Likewise.
34964         * modules/mbsinit-tests (Files): Likewise.
34965         * modules/mbsncasecmp-tests (Files): Likewise.
34966         * modules/mbsnrtowcs-tests (Files): Likewise.
34967         * modules/mbspbrk-tests (Files): Likewise.
34968         * modules/mbspcasecmp-tests (Files): Likewise.
34969         * modules/mbsrchr-tests (Files): Likewise.
34970         * modules/mbsrtowcs-tests (Files): Likewise.
34971         * modules/mbsspn-tests (Files): Likewise.
34972         * modules/mbsstr-tests (Files): Likewise.
34973         * modules/memchr-tests (Files): Likewise.
34974         * modules/memchr2-tests (Files): Likewise.
34975         * modules/memcmp-tests (Files): Likewise.
34976         * modules/memmem-tests (Files): Likewise.
34977         * modules/memrchr-tests (Files): Likewise.
34978         * modules/mkdir-tests (Files): Likewise.
34979         * modules/mkfifo-tests (Files): Likewise.
34980         * modules/mkfifoat-tests (Files): Likewise.
34981         * modules/mknod-tests (Files): Likewise.
34982         * modules/nanosleep-tests (Files): Likewise.
34983         * modules/nl_langinfo-tests (Files): Likewise.
34984         * modules/obstack-printf-tests (Files): Likewise.
34985         * modules/open-tests (Files): Likewise.
34986         * modules/openat-tests (Files): Likewise.
34987         * modules/pipe-filter-gi-tests (Files): Likewise.
34988         * modules/pipe-filter-ii-tests (Files): Likewise.
34989         * modules/pipe2-tests (Files): Likewise.
34990         * modules/popen-safer-tests (Files): Likewise.
34991         * modules/popen-tests (Files): Likewise.
34992         * modules/posixtm-tests (Files): Likewise.
34993         * modules/pread-tests (Files): Likewise.
34994         * modules/printf-frexp-tests (Files): Likewise.
34995         * modules/printf-frexpl-tests (Files): Likewise.
34996         * modules/printf-posix-tests (Files): Likewise.
34997         * modules/priv-set-tests (Files): Likewise.
34998         * modules/quotearg-tests (Files): Likewise.
34999         * modules/random_r-tests (Files): Likewise.
35000         * modules/rawmemchr-tests (Files): Likewise.
35001         * modules/rbtree-list-tests (Files): Likewise.
35002         * modules/rbtree-oset-tests (Files): Likewise.
35003         * modules/rbtreehash-list-tests (Files): Likewise.
35004         * modules/readlink-tests (Files): Likewise.
35005         * modules/remove-tests (Files): Likewise.
35006         * modules/rename-tests (Files): Likewise.
35007         * modules/renameat-tests (Files): Likewise.
35008         * modules/rmdir-tests (Files): Likewise.
35009         * modules/round-tests (Files): Likewise.
35010         * modules/roundf-tests (Files): Likewise.
35011         * modules/roundl-tests (Files): Likewise.
35012         * modules/safe-alloc-tests (Files): Likewise.
35013         * modules/setenv-tests (Files): Likewise.
35014         * modules/sigaction-tests (Files): Likewise.
35015         * modules/signbit-tests (Files): Likewise.
35016         * modules/sleep-tests (Files): Likewise.
35017         * modules/snprintf-posix-tests (Files): Likewise.
35018         * modules/snprintf-tests (Files): Likewise.
35019         * modules/sprintf-posix-tests (Files): Likewise.
35020         * modules/stat-tests (Files): Likewise.
35021         * modules/stat-time-tests (Files): Likewise.
35022         * modules/strcasestr-tests (Files): Likewise.
35023         * modules/strchrnul-tests (Files): Likewise.
35024         * modules/strerror-tests (Files): Likewise.
35025         * modules/striconv-tests (Files): Likewise.
35026         * modules/striconveh-tests (Files): Likewise.
35027         * modules/striconveha-tests (Files): Likewise.
35028         * modules/strsignal-tests (Files): Likewise.
35029         * modules/strstr-tests (Files): Likewise.
35030         * modules/strtod-tests (Files): Likewise.
35031         * modules/strverscmp-tests (Files): Likewise.
35032         * modules/symlink-tests (Files): Likewise.
35033         * modules/symlinkat-tests (Files): Likewise.
35034         * modules/trunc-tests (Files): Likewise.
35035         * modules/truncf-tests (Files): Likewise.
35036         * modules/truncl-tests (Files): Likewise.
35037         * modules/uname-tests (Files): Likewise.
35038         * modules/unicase/cased-tests (Files): Likewise.
35039         * modules/unicase/ignorable-tests (Files): Likewise.
35040         * modules/unicase/locale-language-tests (Files): Likewise.
35041         * modules/unicase/tolower-tests (Files): Likewise.
35042         * modules/unicase/totitle-tests (Files): Likewise.
35043         * modules/unicase/toupper-tests (Files): Likewise.
35044         * modules/unicase/u8-casecmp-tests (Files): Likewise.
35045         * modules/unicase/u8-casecoll-tests (Files): Likewise.
35046         * modules/unicase/u8-casefold-tests (Files): Likewise.
35047         * modules/unicase/u8-is-cased-tests (Files): Likewise.
35048         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
35049         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
35050         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
35051         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
35052         * modules/unicase/u8-tolower-tests (Files): Likewise.
35053         * modules/unicase/u8-totitle-tests (Files): Likewise.
35054         * modules/unicase/u8-toupper-tests (Files): Likewise.
35055         * modules/unicase/u16-casecmp-tests (Files): Likewise.
35056         * modules/unicase/u16-casecoll-tests (Files): Likewise.
35057         * modules/unicase/u16-casefold-tests (Files): Likewise.
35058         * modules/unicase/u16-is-cased-tests (Files): Likewise.
35059         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
35060         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
35061         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
35062         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
35063         * modules/unicase/u16-tolower-tests (Files): Likewise.
35064         * modules/unicase/u16-totitle-tests (Files): Likewise.
35065         * modules/unicase/u16-toupper-tests (Files): Likewise.
35066         * modules/unicase/u32-casecmp-tests (Files): Likewise.
35067         * modules/unicase/u32-casecoll-tests (Files): Likewise.
35068         * modules/unicase/u32-casefold-tests (Files): Likewise.
35069         * modules/unicase/u32-is-cased-tests (Files): Likewise.
35070         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
35071         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
35072         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
35073         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
35074         * modules/unicase/u32-tolower-tests (Files): Likewise.
35075         * modules/unicase/u32-totitle-tests (Files): Likewise.
35076         * modules/unicase/u32-toupper-tests (Files): Likewise.
35077         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
35078         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
35079         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
35080         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
35081         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
35082         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
35083         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
35084         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
35085         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
35086         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
35087         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
35088         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
35089         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
35090         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
35091         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
35092         * modules/unictype/bidicategory-name-tests (Files): Likewise.
35093         * modules/unictype/bidicategory-of-tests (Files): Likewise.
35094         * modules/unictype/bidicategory-test-tests (Files): Likewise.
35095         * modules/unictype/block-list-tests (Files): Likewise.
35096         * modules/unictype/block-of-tests (Files): Likewise.
35097         * modules/unictype/block-test-tests (Files): Likewise.
35098         * modules/unictype/category-C-tests (Files): Likewise.
35099         * modules/unictype/category-Cc-tests (Files): Likewise.
35100         * modules/unictype/category-Cf-tests (Files): Likewise.
35101         * modules/unictype/category-Cn-tests (Files): Likewise.
35102         * modules/unictype/category-Co-tests (Files): Likewise.
35103         * modules/unictype/category-Cs-tests (Files): Likewise.
35104         * modules/unictype/category-L-tests (Files): Likewise.
35105         * modules/unictype/category-Ll-tests (Files): Likewise.
35106         * modules/unictype/category-Lm-tests (Files): Likewise.
35107         * modules/unictype/category-Lo-tests (Files): Likewise.
35108         * modules/unictype/category-Lt-tests (Files): Likewise.
35109         * modules/unictype/category-Lu-tests (Files): Likewise.
35110         * modules/unictype/category-M-tests (Files): Likewise.
35111         * modules/unictype/category-Mc-tests (Files): Likewise.
35112         * modules/unictype/category-Me-tests (Files): Likewise.
35113         * modules/unictype/category-Mn-tests (Files): Likewise.
35114         * modules/unictype/category-N-tests (Files): Likewise.
35115         * modules/unictype/category-Nd-tests (Files): Likewise.
35116         * modules/unictype/category-Nl-tests (Files): Likewise.
35117         * modules/unictype/category-No-tests (Files): Likewise.
35118         * modules/unictype/category-P-tests (Files): Likewise.
35119         * modules/unictype/category-Pc-tests (Files): Likewise.
35120         * modules/unictype/category-Pd-tests (Files): Likewise.
35121         * modules/unictype/category-Pe-tests (Files): Likewise.
35122         * modules/unictype/category-Pf-tests (Files): Likewise.
35123         * modules/unictype/category-Pi-tests (Files): Likewise.
35124         * modules/unictype/category-Po-tests (Files): Likewise.
35125         * modules/unictype/category-Ps-tests (Files): Likewise.
35126         * modules/unictype/category-S-tests (Files): Likewise.
35127         * modules/unictype/category-Sc-tests (Files): Likewise.
35128         * modules/unictype/category-Sk-tests (Files): Likewise.
35129         * modules/unictype/category-Sm-tests (Files): Likewise.
35130         * modules/unictype/category-So-tests (Files): Likewise.
35131         * modules/unictype/category-Z-tests (Files): Likewise.
35132         * modules/unictype/category-Zl-tests (Files): Likewise.
35133         * modules/unictype/category-Zp-tests (Files): Likewise.
35134         * modules/unictype/category-Zs-tests (Files): Likewise.
35135         * modules/unictype/category-and-not-tests (Files): Likewise.
35136         * modules/unictype/category-and-tests (Files): Likewise.
35137         * modules/unictype/category-byname-tests (Files): Likewise.
35138         * modules/unictype/category-name-tests (Files): Likewise.
35139         * modules/unictype/category-none-tests (Files): Likewise.
35140         * modules/unictype/category-of-tests (Files): Likewise.
35141         * modules/unictype/category-or-tests (Files): Likewise.
35142         * modules/unictype/category-test-withtable-tests (Files): Likewise.
35143         * modules/unictype/combining-class-tests (Files): Likewise.
35144         * modules/unictype/ctype-alnum-tests (Files): Likewise.
35145         * modules/unictype/ctype-alpha-tests (Files): Likewise.
35146         * modules/unictype/ctype-blank-tests (Files): Likewise.
35147         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
35148         * modules/unictype/ctype-digit-tests (Files): Likewise.
35149         * modules/unictype/ctype-graph-tests (Files): Likewise.
35150         * modules/unictype/ctype-lower-tests (Files): Likewise.
35151         * modules/unictype/ctype-print-tests (Files): Likewise.
35152         * modules/unictype/ctype-punct-tests (Files): Likewise.
35153         * modules/unictype/ctype-space-tests (Files): Likewise.
35154         * modules/unictype/ctype-upper-tests (Files): Likewise.
35155         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
35156         * modules/unictype/decimal-digit-tests (Files): Likewise.
35157         * modules/unictype/digit-tests (Files): Likewise.
35158         * modules/unictype/mirror-tests (Files): Likewise.
35159         * modules/unictype/numeric-tests (Files): Likewise.
35160         * modules/unictype/property-alphabetic-tests (Files): Likewise.
35161         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
35162         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
35163         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
35164         Likewise.
35165         * modules/unictype/property-bidi-block-separator-tests (Files):
35166         Likewise.
35167         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
35168         Likewise.
35169         * modules/unictype/property-bidi-common-separator-tests (Files):
35170         Likewise.
35171         * modules/unictype/property-bidi-control-tests (Files): Likewise.
35172         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
35173         Likewise.
35174         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
35175         Likewise.
35176         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
35177         Likewise.
35178         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
35179         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
35180         Likewise.
35181         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
35182         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
35183         Likewise.
35184         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
35185         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
35186         * modules/unictype/property-bidi-segment-separator-tests (Files):
35187         Likewise.
35188         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
35189         * modules/unictype/property-byname-tests (Files): Likewise.
35190         * modules/unictype/property-combining-tests (Files): Likewise.
35191         * modules/unictype/property-composite-tests (Files): Likewise.
35192         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
35193         * modules/unictype/property-dash-tests (Files): Likewise.
35194         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
35195         * modules/unictype/property-default-ignorable-code-point-tests (Files):
35196         Likewise.
35197         * modules/unictype/property-deprecated-tests (Files): Likewise.
35198         * modules/unictype/property-diacritic-tests (Files): Likewise.
35199         * modules/unictype/property-extender-tests (Files): Likewise.
35200         * modules/unictype/property-format-control-tests (Files): Likewise.
35201         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
35202         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
35203         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
35204         * modules/unictype/property-hex-digit-tests (Files): Likewise.
35205         * modules/unictype/property-hyphen-tests (Files): Likewise.
35206         * modules/unictype/property-id-continue-tests (Files): Likewise.
35207         * modules/unictype/property-id-start-tests (Files): Likewise.
35208         * modules/unictype/property-ideographic-tests (Files): Likewise.
35209         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
35210         * modules/unictype/property-ids-trinary-operator-tests (Files):
35211         Likewise.
35212         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
35213         * modules/unictype/property-iso-control-tests (Files): Likewise.
35214         * modules/unictype/property-join-control-tests (Files): Likewise.
35215         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
35216         * modules/unictype/property-line-separator-tests (Files): Likewise.
35217         * modules/unictype/property-logical-order-exception-tests (Files):
35218         Likewise.
35219         * modules/unictype/property-lowercase-tests (Files): Likewise.
35220         * modules/unictype/property-math-tests (Files): Likewise.
35221         * modules/unictype/property-non-break-tests (Files): Likewise.
35222         * modules/unictype/property-not-a-character-tests (Files): Likewise.
35223         * modules/unictype/property-numeric-tests (Files): Likewise.
35224         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
35225         * modules/unictype/property-other-default-ignorable-code-point-tests
35226         (Files): Likewise.
35227         * modules/unictype/property-other-grapheme-extend-tests (Files):
35228         Likewise.
35229         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
35230         * modules/unictype/property-other-id-start-tests (Files): Likewise.
35231         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
35232         * modules/unictype/property-other-math-tests (Files): Likewise.
35233         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
35234         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35235         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35236         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35237         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35238         * modules/unictype/property-private-use-tests (Files): Likewise.
35239         * modules/unictype/property-punctuation-tests (Files): Likewise.
35240         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35241         * modules/unictype/property-radical-tests (Files): Likewise.
35242         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35243         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35244         * modules/unictype/property-space-tests (Files): Likewise.
35245         * modules/unictype/property-terminal-punctuation-tests (Files):
35246         Likewise.
35247         * modules/unictype/property-test-tests (Files): Likewise.
35248         * modules/unictype/property-titlecase-tests (Files): Likewise.
35249         * modules/unictype/property-unassigned-code-value-tests (Files):
35250         Likewise.
35251         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35252         * modules/unictype/property-uppercase-tests (Files): Likewise.
35253         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35254         * modules/unictype/property-white-space-tests (Files): Likewise.
35255         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35256         * modules/unictype/property-xid-start-tests (Files): Likewise.
35257         * modules/unictype/property-zero-width-tests (Files): Likewise.
35258         * modules/unictype/scripts-tests (Files): Likewise.
35259         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35260         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35261         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35262         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35263         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35264         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35265         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35266         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35267         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35268         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35269         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35270         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35271         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35272         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35273         * modules/uninorm/composition-tests (Files): Likewise.
35274         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35275         * modules/uninorm/decomposition-tests (Files): Likewise.
35276         * modules/uninorm/filter-tests (Files): Likewise.
35277         * modules/uninorm/nfc-tests (Files): Likewise.
35278         * modules/uninorm/nfd-tests (Files): Likewise.
35279         * modules/uninorm/nfkc-tests (Files): Likewise.
35280         * modules/uninorm/nfkd-tests (Files): Likewise.
35281         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35282         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35283         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35284         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35285         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35286         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35287         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35288         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35289         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35290         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35291         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35292         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35293         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35294         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35295         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35296         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35297         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35298         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35299         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35300         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35301         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35302         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35303         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35304         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35305         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35306         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35307         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35308         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35309         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35310         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35311         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35312         * modules/uniwidth/u8-width-tests (Files): Likewise.
35313         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35314         * modules/uniwidth/u16-width-tests (Files): Likewise.
35315         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35316         * modules/uniwidth/u32-width-tests (Files): Likewise.
35317         * modules/uniwidth/width-tests (Files): Likewise.
35318         * modules/unlink-tests (Files): Likewise.
35319         * modules/unsetenv-tests (Files): Likewise.
35320         * modules/usleep-tests (Files): Likewise.
35321         * modules/utimens-tests (Files): Likewise.
35322         * modules/utimensat-tests (Files): Likewise.
35323         * modules/vasnprintf-posix-tests (Files): Likewise.
35324         * modules/vasnprintf-tests (Files): Likewise.
35325         * modules/vasprintf-posix-tests (Files): Likewise.
35326         * modules/vasprintf-tests (Files): Likewise.
35327         * modules/vdprintf-posix-tests (Files): Likewise.
35328         * modules/vfprintf-posix-tests (Files): Likewise.
35329         * modules/vprintf-posix-tests (Files): Likewise.
35330         * modules/vsnprintf-posix-tests (Files): Likewise.
35331         * modules/vsnprintf-tests (Files): Likewise.
35332         * modules/vsprintf-posix-tests (Files): Likewise.
35333         * modules/wcrtomb-tests (Files): Likewise.
35334         * modules/wcsnrtombs-tests (Files): Likewise.
35335         * modules/wcsrtombs-tests (Files): Likewise.
35336         * modules/wctype-tests (Files): Likewise.
35337         * modules/wcwidth-tests (Files): Likewise.
35338         * modules/xmemdup0-tests (Files): Likewise.
35339         * modules/xprintf-posix-tests (Files): Likewise.
35340         * modules/xvasprintf-tests (Files): Likewise.
35341
35342 2009-12-24  Eric Blake  <ebb9@byu.net>
35343
35344         test-nanosleep: fix typo
35345         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
35346         patch.
35347         Reported by Bruno Haible.
35348
35349 2009-12-24  Bruno Haible  <bruno@clisp.org>
35350
35351         Reduce namespace pollution on glibc systems.
35352         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35353         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35354         systems.
35355         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35356         <getopt.h> on glibc systems.
35357         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35358         systems.
35359         * lib/fcntl.c: Include <unistd.h> here instead.
35360
35361 2009-12-24  Bruno Haible  <bruno@clisp.org>
35362
35363         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35364
35365 2009-12-24  Eric Blake  <ebb9@byu.net>
35366
35367         tests: add signature checks
35368         * tests/signature.h (SIGNATURE_CHECK): New file.
35369         * modules/atexit-tests (Files): Use it.
35370         * modules/btowc-tests (Files): Likewise.
35371         * modules/canonicalize-lgpl-tests (Files): Likewise.
35372         * modules/ceilf-tests (Files): Likewise.
35373         * modules/ceill-tests (Files): Likewise.
35374         * modules/chown-tests (Files): Likewise.
35375         * modules/dprintf-posix-tests (Files): Likewise.
35376         * modules/dup2-tests (Files): Likewise.
35377         * modules/dup3-tests (Files): Likewise.
35378         * modules/duplocale-tests (Files): Likewise.
35379         * modules/fchdir-tests (Files): Likewise.
35380         * modules/fcntl-tests (Files): Likewise.
35381         * modules/fdopendir-tests (Files): Likewise.
35382         * modules/fflush-tests (Files): Likewise.
35383         * modules/flock-tests (Files): Likewise.
35384         * modules/floorf-tests (Files): Likewise.
35385         * modules/floorl-tests (Files): Likewise.
35386         * modules/fnmatch-tests (Files): Likewise.
35387         * modules/fopen-tests (Files): Likewise.
35388         * modules/fprintf-posix-tests (Files): Likewise.
35389         * modules/freopen-tests (Files): Likewise.
35390         * modules/frexp-nolibm-tests (Files): Likewise.
35391         * modules/frexp-tests (Files): Likewise.
35392         * modules/frexpl-nolibm-tests (Files): Likewise.
35393         * modules/frexpl-tests (Files): Likewise.
35394         * modules/fseek-tests (Files): Likewise.
35395         * modules/fseeko-tests (Files): Likewise.
35396         * modules/fsync-tests (Files): Likewise.
35397         * modules/ftell-tests (Files): Likewise.
35398         * modules/ftello-tests (Files): Likewise.
35399         * modules/futimens-tests (Files): Likewise.
35400         * modules/getaddrinfo-tests (Files): Likewise.
35401         * modules/getcwd-tests (Files): Likewise.
35402         * modules/getdelim-tests (Files): Likewise.
35403         * modules/getdtablesize-tests (Files): Likewise.
35404         * modules/getgroups-tests (Files): Likewise.
35405         * modules/gethostname-tests (Files): Likewise.
35406         * modules/getline-tests (Files): Likewise.
35407         * modules/getopt-posix-tests (Files): Likewise.
35408         * modules/gettimeofday-tests (Files): Likewise.
35409         * modules/glob-tests (Files): Likewise.
35410         * modules/iconv-tests (Files): Likewise.
35411         * modules/inet_ntop-tests (Files): Likewise.
35412         * modules/inet_pton-tests (Files): Likewise.
35413         * modules/isblank-tests (Files): Likewise.
35414         * modules/lchown-tests (Files): Likewise.
35415         * modules/ldexpl-tests (Files): Likewise.
35416         * modules/link-tests (Files): Likewise.
35417         * modules/linkat-tests (Files): Likewise.
35418         * modules/lseek-tests (Files): Likewise.
35419         * modules/lstat-tests (Files): Likewise.
35420         * modules/mbrtowc-tests (Files): Likewise.
35421         * modules/mbsinit-tests (Files): Likewise.
35422         * modules/mbsnrtowcs-tests (Files): Likewise.
35423         * modules/mbsrtowcs-tests (Files): Likewise.
35424         * modules/memchr-tests (Files): Likewise.
35425         * modules/memcmp-tests (Files): Likewise.
35426         * modules/memmem-tests (Files): Likewise.
35427         * modules/memrchr-tests (Files): Likewise.
35428         * modules/mkdir-tests (Files): Likewise.
35429         * modules/mkfifo-tests (Files): Likewise.
35430         * modules/mkfifoat-tests (Files): Likewise.
35431         * modules/mknod-tests (Files): Likewise.
35432         * modules/nanosleep-tests (Files): Likewise.
35433         * modules/nl_langinfo-tests (Files): Likewise.
35434         * modules/obstack-printf-tests (Files): Likewise.
35435         * modules/open-tests (Files): Likewise.
35436         * modules/openat-tests (Files): Likewise.
35437         * modules/perror-tests (Files): Likewise.
35438         * modules/pipe2-tests (Files): Likewise.
35439         * modules/poll-tests (Files): Likewise.
35440         * modules/popen-tests (Files): Likewise.
35441         * modules/posix_spawn-tests (Files): Likewise.
35442         * modules/posix_spawnp-tests (Files): Likewise.
35443         * modules/pread-tests (Files): Likewise.
35444         * modules/printf-posix-tests (Files): Likewise.
35445         * modules/pty-tests (Files): Likewise.
35446         * modules/random_r-tests (Files): Likewise.
35447         * modules/rawmemchr-tests (Files): Likewise.
35448         * modules/readlink-tests (Files): Likewise.
35449         * modules/remove-tests (Files): Likewise.
35450         * modules/rename-tests (Files): Likewise.
35451         * modules/renameat-tests (Files): Likewise.
35452         * modules/rmdir-tests (Files): Likewise.
35453         * modules/round-tests (Files): Likewise.
35454         * modules/roundf-tests (Files): Likewise.
35455         * modules/roundl-tests (Files): Likewise.
35456         * modules/select-tests (Files): Likewise.
35457         * modules/setenv-tests (Files): Likewise.
35458         * modules/sigaction-tests (Files): Likewise.
35459         * modules/sleep-tests (Files): Likewise.
35460         * modules/snprintf-posix-tests (Files): Likewise.
35461         * modules/snprintf-tests (Files): Likewise.
35462         * modules/sprintf-posix-tests (Files): Likewise.
35463         * modules/stat-tests (Files): Likewise.
35464         * modules/strcasestr-tests (Files): Likewise.
35465         * modules/strchrnul-tests (Files): Likewise.
35466         * modules/strerror-tests (Files): Likewise.
35467         * modules/strsignal-tests (Files): Likewise.
35468         * modules/strstr-tests (Files): Likewise.
35469         * modules/strtod-tests (Files): Likewise.
35470         * modules/strverscmp-tests (Files): Likewise.
35471         * modules/symlink-tests (Files): Likewise.
35472         * modules/symlinkat-tests (Files): Likewise.
35473         * modules/times-tests (Files): Likewise.
35474         * modules/trunc-tests (Files): Likewise.
35475         * modules/truncf-tests (Files): Likewise.
35476         * modules/truncl-tests (Files): Likewise.
35477         * modules/tsearch-tests (Files): Likewise.
35478         * modules/uname-tests (Files): Likewise.
35479         * modules/unlink-tests (Files): Likewise.
35480         * modules/unsetenv-tests (Files): Likewise.
35481         * modules/usleep-tests (Files): Likewise.
35482         * modules/utimensat-tests (Files): Likewise.
35483         * modules/vasprintf-tests (Files): Likewise.
35484         * modules/vdprintf-posix-tests (Files): Likewise.
35485         * modules/vfprintf-posix-tests (Files): Likewise.
35486         * modules/vprintf-posix-tests (Files): Likewise.
35487         * modules/vsnprintf-posix-tests (Files): Likewise.
35488         * modules/vsnprintf-tests (Files): Likewise.
35489         * modules/vsprintf-posix-tests (Files): Likewise.
35490         * modules/wcrtomb-tests (Files): Likewise.
35491         * modules/wcsnrtombs-tests (Files): Likewise.
35492         * modules/wcsrtombs-tests (Files): Likewise.
35493         * modules/wcwidth-tests (Files): Likewise.
35494         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35495         * tests/test-isinf.c (isinf): Likewise.
35496         * tests/test-isnan.c (isnan): Likewise.
35497         * tests/test-signbit.c (signbit): Likewise.
35498         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35499         declaration, either as macro or with correct signature.
35500         (select): Ensure function under test is declared with correct
35501         signature in correct header.
35502         * tests/test-atexit.c (atexit): Likewise.
35503         * tests/test-btowc.c (btowc): Likewise.
35504         * tests/test-canonicalize-lgpl.c (realpath)
35505         (canonicalize_file_name): Likewise.
35506         * tests/test-ceilf1.c (ceilf): Likewise.
35507         * tests/test-ceill.c (ceill): Likewise.
35508         * tests/test-chown.c (chown): Likewise.
35509         * tests/test-dprintf-posix.c (dprintf): Likewise.
35510         * tests/test-dup2.c (dup2): Likewise.
35511         * tests/test-dup3.c (dup3): Likewise.
35512         * tests/test-duplocale.c (duplocale): Likewise.
35513         * tests/test-fchdir.c (fchdir): Likewise.
35514         * tests/test-fchownat.c (fchownat): Likewise.
35515         * tests/test-fcntl.c (fcntl): Likewise.
35516         * tests/test-fdopendir.c (fdopendir): Likewise.
35517         * tests/test-fflush.c (fflush): Likewise.
35518         * tests/test-flock.c (flock): Likewise.
35519         * tests/test-floorf1.c (floorf): Likewise.
35520         * tests/test-floorl.c (floorl): Likewise.
35521         * tests/test-fnmatch.c (fnmatch): Likewise.
35522         * tests/test-fopen.c (fopen): Likewise.
35523         * tests/test-fprintf-posix.c (fprintf): Likewise.
35524         * tests/test-freopen.c (freopen): Likewise.
35525         * tests/test-frexp.c (frexp): Likewise.
35526         * tests/test-frexpl.c (frexpl): Likewise.
35527         * tests/test-fseek.c (fseek): Likewise.
35528         * tests/test-fseeko.c (fseeko): Likewise.
35529         * tests/test-fstatat.c (fstatat): Likewise.
35530         * tests/test-fsync.c (fsync): Likewise.
35531         * tests/test-ftell.c (ftell): Likewise.
35532         * tests/test-ftello.c (ftello): Likewise.
35533         * tests/test-futimens.c (futimens): Likewise.
35534         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35535         (gai_strerror): Likewise.
35536         * tests/test-getcwd.c (getcwd): Likewise.
35537         * tests/test-getdelim.c (getdelim): Likewise.
35538         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35539         * tests/test-getgroups.c (getgroups): Likewise.
35540         * tests/test-gethostname.c (gethostname): Likewise.
35541         * tests/test-getline.c (getline): Likewise.
35542         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35543         Likewise.
35544         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35545         * tests/test-glob.c (glob, globfree): Likewise.
35546         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35547         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35548         * tests/test-inet_pton.c (inet_pton): Likewise.
35549         * tests/test-isblank.c (isblank): Likewise.
35550         * tests/test-lchown.c (lchown): Likewise.
35551         * tests/test-ldexpl.c (ldexpl): Likewise.
35552         * tests/test-link.c (link): Likewise.
35553         * tests/test-linkat.c (linkat): Likewise.
35554         * tests/test-lseek.c (lseek): Likewise.
35555         * tests/test-lstat.c (lstat): Likewise.
35556         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35557         * tests/test-mbsinit.c (mbsinit): Likewise.
35558         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35559         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35560         * tests/test-memchr.c (memchr): Likewise.
35561         * tests/test-memcmp.c (memcmp): Likewise.
35562         * tests/test-memmem.c (memmem): Likewise.
35563         * tests/test-memrchr.c (memrchr): Likewise.
35564         * tests/test-mkdir.c (mkdir): Likewise.
35565         * tests/test-mkdirat.c (mkdirat): Likewise.
35566         * tests/test-mkfifo.c (mkfifo): Likewise.
35567         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35568         * tests/test-mknod.c (mknod): Likewise.
35569         * tests/test-nanosleep.c (nanosleep): Likewise.
35570         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35571         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35572         Likewise.
35573         * tests/test-open.c (open): Likewise.
35574         * tests/test-openat.c (openat): Likewise.
35575         * tests/test-perror.c (perror): Likewise.
35576         * tests/test-pipe2.c (pipe2): Likewise.
35577         * tests/test-poll.c (poll): Likewise.
35578         * tests/test-popen.c (popen, pclose): Likewise.
35579         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35580         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35581         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35582         (posix_spawn_file_actions_destroy)
35583         (posix_spawn_file_actions_addclose)
35584         (posix_spawn_file_actions_addopen)
35585         (posix_spawn_file_actions_adddup2): Likewise.
35586         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35587         * tests/test-pread.c (pread): Likewise.
35588         * tests/test-printf-posix.c (printf): Likewise.
35589         * tests/test-pty.c (openpty, forkpty): Likewise.
35590         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35591         (random_r): Likewise.
35592         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35593         * tests/test-readlink.c (readlink): Likewise.
35594         * tests/test-remove.c (remove): Likewise.
35595         * tests/test-rename.c (rename): Likewise.
35596         * tests/test-renameat.c (renameat): Likewise.
35597         * tests/test-rmdir.c (rmdir): Likewise.
35598         * tests/test-round1.c (round): Likewise.
35599         * tests/test-roundf1.c (roundf): Likewise.
35600         * tests/test-roundl.c (roundl): Likewise.
35601         * tests/test-setenv.c (setenv): Likewise.
35602         * tests/test-sigaction.c (sigaction): Likewise.
35603         * tests/test-sleep.c (sleep): Likewise.
35604         * tests/test-snprintf.c (snprintf): Likewise.
35605         * tests/test-sprintf-posix.c (sprintf): Likewise.
35606         * tests/test-stat.c (stat): Likewise.
35607         * tests/test-stpncpy.c (stpncpy): Likewise.
35608         * tests/test-strcasestr.c (strcasestr): Likewise.
35609         * tests/test-strchrnul.c (strchrnul): Likewise.
35610         * tests/test-strerror.c (strerror): Likewise.
35611         * tests/test-strsignal.c (strsignal): Likewise.
35612         * tests/test-strstr.c (strstr): Likewise.
35613         * tests/test-strtod.c (strtod): Likewise.
35614         * tests/test-strverscmp.c (strverscmp): Likewise.
35615         * tests/test-symlink.c (symlink): Likewise.
35616         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35617         * tests/test-times.c (times): Likewise.
35618         * tests/test-trunc1.c (trunc): Likewise.
35619         * tests/test-truncf1.c (truncf): Likewise.
35620         * tests/test-truncl.c (truncl): Likewise.
35621         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35622         Likewise.
35623         * tests/test-uname.c (uname): Likewise.
35624         * tests/test-unlink.c (unlink): Likewise.
35625         * tests/test-unlinkat.c (unlinkat): Likewise.
35626         * tests/test-unsetenv.c (unsetenv): Likewise.
35627         * tests/test-usleep.c (usleep): Likewise.
35628         * tests/test-utimensat.c (utimensat): Likewise.
35629         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35630         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35631         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35632         * tests/test-vprintf-posix.c (vprintf): Likewise.
35633         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35634         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35635         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35636         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35637         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35638         * tests/test-wcwidth.c (wcwidth): Likewise.
35639
35640         build: pull in conditional headers during GNULIB_POSIXCHECK
35641         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35642         definitions from any conditionally-included headers.
35643         * lib/stdlib.in.h (includes): Likewise.
35644         * lib/unistd.in.h (includes): Likewise.
35645
35646 2009-12-24  Bruno Haible  <bruno@clisp.org>
35647
35648         * tests/test-argv-iter.c: Include header file being tested immediately
35649         after config.h.
35650         * tests/test-base64.c: Likewise.
35651         * tests/test-flock.c: Likewise.
35652         * tests/test-fsync.c: Likewise.
35653         * tests/test-getdate.c: Likewise.
35654         * tests/test-getndelim2.c: Likewise.
35655         * tests/test-isfinite.c: Likewise.
35656         * tests/test-isinf.c: Likewise.
35657         * tests/test-strerror.c: Likewise.
35658         * tests/test-strsignal.c: Likewise.
35659
35660 2009-12-23  Eric Blake  <ebb9@byu.net>
35661
35662         unistd: work around cygwin bug
35663         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35664         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35665         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35666
35667 2009-12-23  Bruno Haible  <bruno@clisp.org>
35668
35669         localename: More tests.
35670         * tests/test-localename.c (SIZEOF): New macro.
35671         (categories): New variable.
35672         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35673         test_locale_name_default): Add test w.r.t. thread locale.
35674         (test_locale_name_thread): New function.
35675         (main): Invoke it.
35676
35677         localename: Make aware of thread locale.
35678         * lib/localename.h (gl_locale_name_thread): New declaration.
35679         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35680         behaviour with respect to thread locale.
35681         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35682         <langinfo.h>, glthread/lock.h.
35683         (SIZE_BITS): New macro.
35684         (string_hash): New function.
35685         (struct hash_node): New type.
35686         (HASH_TABLE_SIZE): New macro.
35687         (struniq_hash_table, struniq_lock): New variables.
35688         (struniq): New function.
35689         (gl_locale_name_thread): New function.
35690         (gl_locale_name): Invoke it.
35691         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35692         * modules/localename (Depends-on): Add lock.
35693         Reported by Mike Gran <spk121@yahoo.com>.
35694
35695 2009-12-23  Eric Blake  <ebb9@byu.net>
35696
35697         va-args: new module
35698         * modules/va-args: New file.
35699         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35700         * MODULES.html.sh (Core language properties): Mention it.
35701
35702         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35703         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35704         named alias for __attribute__((__unused__)).
35705         * lib/chown.c: Update client.
35706         * lib/fchmodat.c: Likewise.
35707         * lib/fts.c: Likewise.
35708         * lib/getdate.y: Likewise.
35709         * lib/getgroups.c: Likewise.
35710         * lib/getopt.c: Likewise.
35711         * lib/getugroups.c: Likewise.
35712         * lib/mkdir.c: Likewise.
35713         * lib/mkfifo.c: Likewise.
35714         * lib/mkfifoat.c: Likewise.
35715         * lib/mknod.c: Likewise.
35716         * lib/mknodat.c: Likewise.
35717         * lib/readlink.c: Likewise.
35718         * lib/se-context.in.h: Likewise.
35719         * lib/se-selinux.in.h: Likewise.
35720         * lib/sockets.c: Likewise.
35721         * lib/symlink.c: Likewise.
35722         * lib/symlinkat.c: Likewise.
35723         * lib/unicodeio.c: Likewise.
35724         * lib/unistr.h: Likewise.
35725         * tests/test-areadlink.c: Likewise.
35726         * tests/test-areadlinkat.c: Likewise.
35727         * tests/test-filenamecat.c: Likewise.
35728         * tests/test-fseeko.c: Likewise.
35729         * tests/test-ftello.c: Likewise.
35730         * tests/test-getdate.c: Likewise.
35731         * tests/test-getgroups.c: Likewise.
35732         * tests/test-gethostname.c: Likewise.
35733         * tests/test-quotearg.c: Likewise.
35734         * tests/test-version-etc.c: Likewise.
35735         * tests/test-xalloc-die.c: Likewise.
35736         * tests/test-xfprintf-posix.c: Likewise.
35737         * tests/test-xprintf-posix.c: Likewise.
35738         * tests/test-xvasprintf.c: Likewise.
35739
35740         tests: avoid compiler warnings
35741         * tests/test-fcntl.c (main): Delete unused parameters.
35742         * tests/test-freopen-safer.c (main): Likewise.
35743         * tests/test-xalloc-die.c (main): Mark unused parameters.
35744         * tests/test-fseeko.c (main): Likewise.
35745         * tests/test-ftello.c (main): Likewise.
35746         * tests/test-nanosleep.c (main): Avoid declaration warning.
35747         * tests/test-sleep.c (main): Likewise.
35748         * tests/test-unsetenv.c (main): Silence warning about string
35749         literal.
35750         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35751
35752 2009-12-23  Bruno Haible  <bruno@clisp.org>
35753
35754         * tests/test-localename.c (test_locale_name): New function, extracted
35755         from main. Also test mixed situations.
35756         (test_locale_name_posix, test_locale_name_environ,
35757         test_locale_name_default): New functions.
35758         (main): Invoke them all.
35759         * modules/localename-tests (configure.ac): Test for newlocale.
35760
35761 2009-12-23  Bruno Haible  <bruno@clisp.org>
35762
35763         unistd: Ensure getcwd gets declared before being overridden.
35764         * lib/unistd.in.h: Conditionally include <io.h>.
35765
35766 2009-12-22  Bruno Haible  <bruno@clisp.org>
35767
35768         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35769         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35770         (gl_WCHAR_H): Invoke it.
35771         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35772         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35773         Reported by Karl Berry <karl@freefriends.org>.
35774
35775 2009-12-22  Eric Blake  <ebb9@byu.net>
35776
35777         math, unistd: avoid redundant includes
35778         * lib/math.in.h (isnan): No need to re-include <math.h>.
35779         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35780
35781         getsubopt: work around cygwin bug
35782         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35783         avoid conflicting with system getsubopt.
35784         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35785         bug.
35786
35787         getopt: synchronize from glibc
35788         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35789         parameter order.  Adjust all callers.
35790         (_getopt_internal_r, main): Adjust quoting in error messages.
35791         Drop considerations for outdated POSIX 1003.2 error message.
35792         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35793         callers.
35794         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35795
35796         test-getopt: test stderr behavior
35797         * modules/getopt-posix-tests (Depends-on): Add dup2.
35798         * tests/test-getopt.c (ASSERT): Avoid stderr.
35799         (main): Move stderr to a temporary file.
35800         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35801         Instead, add parameter to inform caller if output occurred.
35802         (test_getopt): Adjust all existing tests to expect silence, and
35803         add new tests of leading ":".
35804         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35805         glibc shortcomings with leading "-:" or "+:" in optstring.
35806         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35807         Likewise.
35808         * doc/posix-functions/getopt.texi (getopt): Likewise.
35809
35810         test-getopt: enhance test
35811         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35812         supports optind=0.
35813         * tests/test-getopt.c (OPTIND_MIN): Move...
35814         * tests/test-getopt.h (OPTIND_MIN): ...here.
35815         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35816         Require that optind=0 works, since modern BSD supports it in
35817         addition to optreset, and since coreutils expects it.
35818         (test_getopt_long_only): New test.
35819         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35820         glibc shortcomings with 'W;', and enforcement of optind=0.
35821         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35822         Likewise.
35823
35824 2009-12-21  Bruno Haible  <bruno@clisp.org>
35825
35826         localename: Improvements for MacOS X and Cygwin.
35827         * lib/localename.h (gl_locale_name_environ): New declaration.
35828         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35829         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35830         (gl_locale_name_posix): Invoke it.
35831         (gl_locale_name_default): Add comments. Use Windows native API also on
35832         Cygwin.
35833
35834 2009-12-21  Bruno Haible  <bruno@clisp.org>
35835
35836         Update list of Win32 locale ids.
35837         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35838         (LANG_SAMI): Renamed from LANG_SAAMI.
35839         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35840         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35841         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35842         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35843         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35844         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35845         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35846         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35847         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35848         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35849         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35850         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35851         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35852         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35853         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35854         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35855         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35856         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35857         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35858         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35859         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35860         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35861         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35862         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35863         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35864         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35865         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35866         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35867         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35868         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35869         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35870         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35871         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35872         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35873         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35874         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35875         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35876         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35877         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35878         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35879         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35880         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35881         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35882         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35883         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35884         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35885         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35886         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35887         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35888         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35889         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35890         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35891         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35892         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35893         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35894         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35895         Add more languages and countries for Sami, Sorbian. Add more countries
35896         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35897         for Pashto. Change country for Syriac, Tswana.
35898
35899 2009-12-21  Eric Blake  <ebb9@byu.net>
35900
35901         test-utimens: avoid spurious failure
35902         * tests/test-chown.h (nap): Factor...
35903         * tests/nap.h: ...into new file.
35904         * tests/test-lchown.h (nap): Avoid duplication.
35905         * tests/test-utimens-common.h (nap): Use shared implementation,
35906         necessary on file systems with 1-second resolution.
35907         * modules/chown-tests (Files): Include new file.
35908         * modules/fdutimensat-tests (Files): Likewise.
35909         * modules/futimens-tests (Files): Likewise.
35910         * modules/lchown-tests (Files): Likewise.
35911         * modules/openat-tests (Files): Likewise.
35912         * modules/utimens-tests (Files): Likewise.
35913         * modules/utimensat-tests (Files): Likewise.
35914
35915 2009-12-19  Eric Blake  <ebb9@byu.net>
35916
35917         futimens, utimensat: work around Linux bug
35918         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35919         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35920         * lib/utimensat.c (rpl_utimensat): Work around it.
35921         * lib/futimens.c (rpl_futimens): Adjust comment.
35922
35923         utimens: work around Linux ctime bug
35924         * lib/utimens.c (detect_ctime_bug): New helper function.
35925         (update_timespec): Differentiate between workaround needed for
35926         this bug vs. what is needed for systems that lack utimensat.
35927         (fdutimens, lutimens): Work around bug.
35928
35929         utimens: check for ctime update
35930         * tests/test-utimens-common.h (check_ctime): Define.
35931         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35932         * tests/test-futimens.h (test_futimens): Likewise.
35933         * tests/test-lutimens.h (test_lutimens): Likewise.
35934         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35935         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35936
35937 2009-12-19  Bruno Haible  <bruno@clisp.org>
35938
35939         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35940         * tests/test-dprintf-posix2.sh: New file.
35941         * tests/test-dprintf-posix2.c: New file.
35942         * modules/dprintf-posix-tests (Files): Add them.
35943         (configure.ac): Check for getrlimit and setrlimit.
35944         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35945
35946 2009-12-19  Bruno Haible  <bruno@clisp.org>
35947
35948         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35949         * tests/test-fprintf-posix3.sh: New file.
35950         * tests/test-fprintf-posix3.c: New file.
35951         * modules/fprintf-posix-tests (Files): Add them.
35952         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35953
35954 2009-12-19  Eric Blake  <ebb9@byu.net>
35955
35956         dirfd: fix prototype
35957         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35958         * lib/dirfd.c (dirfd): Likewise.
35959
35960         canonicalize: reduce memory usage
35961         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35962         allocation to size.
35963         Reported by Solar Designer <solar@openwall.com>.
35964
35965 2009-12-19  Bruno Haible  <bruno@clisp.org>
35966
35967         New module attribute 'Applicability'.
35968         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35969         * gnulib-tool: New option --extract-applicability.
35970         (func_usage): Document it.
35971         (sed_extract_prog): Recognize it.
35972         (func_get_applicability): New function.
35973         (func_import): Generalize handling of 'link-warning' module.
35974         * modules/link-warning (Applicability): New section.
35975         * modules/arg-nonnull (Applicability): New section.
35976         Repoted by Simon Josefsson <simon@josefsson.org>.
35977
35978 2009-12-19  Bruno Haible  <bruno@clisp.org>
35979
35980         fflush: tweak
35981         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35982         * lib/fseeko.c (rpl_fseeko): Likewise.
35983
35984 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35985
35986         * lib/gl_list.h: Fix typo in comment.
35987
35988 2009-12-16  Eric Blake  <ebb9@byu.net>
35989
35990         fcntl: use to simplify other modules
35991         * modules/cloexec (Depends-on): Add fcntl.
35992         * modules/fchdir (Depends-on): Likewise.
35993         * modules/fd-safer-flag (Depends-on): Likewise.
35994         * modules/unistd-safer (Depends-on): Likewise.
35995         * modules/dup3 (configure.ac): Set module indicator.
35996         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35997         missing.
35998         * lib/fchdir.c (_gl_register_dup): Fix comment.
35999         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
36000         * lib/dup-safer.c (dup_safer): Likewise.
36001         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
36002         * lib/dup3.c (dup3): Likewise.
36003         * tests/test-fchdir.c (main): Enhance test.
36004         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
36005
36006         fcntl: port portions of fcntl to mingw
36007         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
36008         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
36009         replacement for mingw.
36010         * modules/fcntl (Description): Update.
36011         (Depends-on): Add dup2.
36012         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
36013         * modules/fcntl-h (Makefile.am): Substitute it.
36014         * lib/fcntl.in.h (fcntl): Update declaration.
36015         (F_DUPFD, F_GETFD): New macros, when needed.
36016         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
36017         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
36018         * tests/test-fcntl.c (check_flags, main): Enhance test for items
36019         we now guarantee.
36020
36021         fcntl: work around cygwin bug in F_DUPFD
36022         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
36023         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
36024         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
36025         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
36026         * doc/posix-functions/fcntl.texi (fcntl): Document it.
36027
36028         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
36029         * modules/fcntl (Files): List new files.
36030         (configure.ac): Run a test.
36031         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
36032         * lib/fcntl.c (rpl_fcntl): Likewise.
36033         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
36034         (gl_FCNTL_H): Always replace fcntl.h.
36035         * modules/fcntl-h (Makefile.am): Substitute witnesses.
36036         * lib/fcntl.in.h (fcntl): Declare replacement.
36037         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
36038         needed, plus a witness.
36039         * doc/posix-functions/fcntl.texi (fcntl): Document this.
36040         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
36041         * tests/test-fcntl.c: New file.
36042         * modules/fcntl-tests: Likewise.
36043
36044         binary-io: avoid potential compilation warning
36045         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
36046         directives.
36047
36048         fflush: avoid compilation error on NetBSD
36049         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
36050         between off_t and fpos_t, since the latter is sometimes a struct.
36051         * lib/fseeko.c (rpl_fseeko): Likewise.
36052         Reported by Alexander Nasonov <alnsn@yandex.ru>.
36053
36054 2009-12-15  Eric Blake  <ebb9@byu.net>
36055
36056         fcntl-h, stdio, sys_ioctl: fix declarations
36057         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
36058         function must not take arguments.
36059         * lib/sys_ioctl.in.h (ioctl): Likewise.
36060         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
36061         (open): Add a link warning.
36062
36063 2009-12-15  Jim Meyering  <meyering@redhat.com>
36064
36065         areadlink, areadlink-with-size: relax license to LGPLv2+
36066         * modules/areadlink (License): Relax to LGPLv2+.
36067         * modules/areadlink-with-size (License): Likewise.
36068
36069 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
36070             Bruno Haible  <bruno@clisp.org>
36071
36072         *printf: Fix memory leak.
36073         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
36074         * lib/vfprintf.c (vfprintf): Likewise.
36075         * lib/dprintf.c (dprintf): Likewise.
36076         * lib/vdprintf.c (vdprintf): Likewise.
36077
36078 2009-12-14  Eric Blake  <ebb9@byu.net>
36079
36080         accept4: adjust module dependencies
36081         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
36082
36083         utimens: one more try at avoiding compiler warning
36084         * lib/utimens.c (lutimens): Lower scope of result.
36085
36086 2009-12-13  Bruno Haible  <bruno@clisp.org>
36087
36088         Move the malloc checking from module 'list' to new module 'xlist'.
36089         * modules/xlist: New file.
36090         * lib/gl_xlist.h: New file.
36091         * lib/gl_xlist.c: New file.
36092         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
36093         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
36094         gl_list_add_last, gl_list_add_before, gl_list_add_after,
36095         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
36096         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
36097         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
36098         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
36099         gl_sortedlist_nx_add): New declarations.
36100         (struct gl_list_implementation): Rename and change methods accordingly.
36101         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
36102         (gl_list_nx_create): Renamed from gl_list_create.
36103         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
36104         (gl_list_nx_set_at): Renamed from gl_list_set_at.
36105         (gl_list_nx_add_first): Renamed from gl_list_add_first.
36106         (gl_list_nx_add_last): Renamed from gl_list_add_last.
36107         (gl_list_nx_add_before): Renamed from gl_list_add_before.
36108         (gl_list_nx_add_after): Renamed from gl_list_add_after.
36109         (gl_list_nx_add_at): Renamed from gl_list_add_at.
36110         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
36111         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
36112         gl_list_create_empty.
36113         (gl_list_nx_create): Renamed from gl_list_create.
36114         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
36115         (gl_list_nx_set_at): Renamed from gl_list_set_at.
36116         (gl_list_nx_add_first): Renamed from gl_list_add_first.
36117         (gl_list_nx_add_last): Renamed from gl_list_add_last.
36118         (gl_list_nx_add_before): Renamed from gl_list_add_before.
36119         (gl_list_nx_add_after): Renamed from gl_list_add_after.
36120         (gl_list_nx_add_at): Renamed from gl_list_add_at.
36121         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
36122         * lib/gl_array_list.c: Don't include xalloc.h.
36123         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
36124         NULL upon out-of-memory.
36125         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
36126         out-of-memory.
36127         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
36128         Change return type to 'int'.
36129         (gl_array_nx_set_at): Renamed from gl_array_set_at.
36130         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36131         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
36132         upon out-of-memory.
36133         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
36134         upon out-of-memory.
36135         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
36136         upon out-of-memory.
36137         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
36138         upon out-of-memory.
36139         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
36140         out-of-memory.
36141         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
36142         Update.
36143         (gl_array_list_implementation): Update.
36144         * lib/gl_carray_list.c: Don't include xalloc.h.
36145         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
36146         Return NULL upon out-of-memory.
36147         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
36148         out-of-memory.
36149         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
36150         Change return type to 'int'.
36151         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
36152         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36153         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
36154         upon out-of-memory.
36155         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
36156         upon out-of-memory.
36157         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
36158         out-of-memory.
36159         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
36160         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
36161         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
36162         Update.
36163         (gl_carray_list_implementation): Update.
36164         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
36165         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
36166         gl_linked_create_empty. Return NULL upon out-of-memory.
36167         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
36168         out-of-memory.
36169         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
36170         Change return type to 'int'. Return -1 upon out-of-memory.
36171         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
36172         out-of-memory.
36173         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
36174         upon out-of-memory.
36175         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
36176         upon out-of-memory.
36177         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
36178         NULL upon out-of-memory.
36179         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
36180         upon out-of-memory.
36181         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
36182         out-of-memory.
36183         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
36184         Update.
36185         * lib/gl_linked_list.c: Don't include xalloc.h.
36186         (gl_linked_list_implementation): Update.
36187         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
36188         (add_to_bucket): Change return type to 'int'.
36189         (gl_linkedhash_list_implementation): Update.
36190         * lib/gl_anytree_list1.h (free_subtree): New function.
36191         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
36192         gl_tree_create_empty. Return NULL upon out-of-memory.
36193         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
36194         Change return type to 'int'. Return -1 upon out-of-memory.
36195         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
36196         out-of-memory.
36197         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
36198         (gl_tree_remove_node): New function, moved here from
36199         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
36200         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
36201         Update.
36202         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
36203         malloc, not xmalloc. Return NULL upon out-of-memory.
36204         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36205         out-of-memory.
36206         (gl_tree_remove_node_from_tree): New function, extracted from
36207         gl_tree_remove_node.
36208         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36209         upon out-of-memory.
36210         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36211         out-of-memory.
36212         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36213         upon out-of-memory.
36214         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36215         upon out-of-memory.
36216         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36217         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
36218         not xmalloc. Return NULL upon out-of-memory.
36219         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36220         out-of-memory.
36221         (gl_tree_remove_node_from_tree): New function, extracted from
36222         gl_tree_remove_node.
36223         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36224         upon out-of-memory.
36225         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36226         out-of-memory.
36227         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36228         upon out-of-memory.
36229         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36230         upon out-of-memory.
36231         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36232         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
36233         gl_anytree_list1.h before gl_anyavltree_list2.h.
36234         (gl_avltree_list_implementation): Update.
36235         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36236         gl_anytree_list1.h before gl_anyavltree_list2.h.
36237         (gl_rbtree_list_implementation): Update.
36238         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36239         Change return type to 'int'. Return -1 upon out-of-memory. Use
36240         __builtin_expect.
36241         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36242         (gl_avltreehash_list_implementation): Update.
36243         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36244         (gl_rbtreehash_list_implementation): Update.
36245         * modules/array-list (Depends-on): Remove xalloc.
36246         * modules/carray-list (Depends-on): Likewise.
36247         * modules/linked-list (Depends-on): Likewise.
36248         * modules/linkedhash-list (Depends-on): Likewise.
36249         * modules/avltree-list (Depends-on): Likewise.
36250         * modules/rbtree-list (Depends-on): Likewise.
36251         * modules/avltreehash-list (Depends-on): Likewise.
36252         * modules/rbtreehash-list (Depends-on): Likewise.
36253
36254         * modules/xsublist: New file.
36255         * lib/gl_xsublist.h: New file.
36256         * lib/gl_xsublist.c: New file.
36257         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36258         (gl_sublist_nx_create): New declaration.
36259         * lib/gl_sublist.c: Don't include xalloc.h.
36260         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36261         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36262         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36263         Change return type to 'int'. Return -1 upon out-of-memory.
36264         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36265         upon out-of-memory.
36266         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36267         NULL upon out-of-memory.
36268         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36269         upon out-of-memory.
36270         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36271         NULL upon out-of-memory.
36272         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36273         NULL upon out-of-memory.
36274         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36275         upon out-of-memory.
36276         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36277         (gl_sublist_list_implementation): Update.
36278         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36279         upon out-of-memory.
36280         * modules/sublist (Depends-on): Remove xalloc.
36281
36282         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36283         * tests/test-carray_list.c: Likewise.
36284         * tests/test-linked_list.c: Likewise.
36285         * tests/test-linkedhash_list.c: Likewise.
36286         * tests/test-avltree_list.c: Likewise.
36287         * tests/test-rbtree_list.c: Likewise.
36288         * tests/test-avltreehash_list.c: Likewise.
36289         * tests/test-rbtreehash_list.c: Likewise.
36290         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36291         * modules/carray-list-tests (Makefile.am): Likewise.
36292         * modules/linked-list-tests (Makefile.am): Likewise.
36293         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36294         * modules/avltree-list-tests (Makefile.am): Likewise.
36295         * modules/rbtree-list-tests (Makefile.am): Likewise.
36296         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36297         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36298
36299         * NEWS: Mention the changes.
36300
36301         * lib/clean-temp.c: Include gl_xlist.h.
36302         * modules/clean-temp (Depends-on): Add xlist.
36303
36304         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36305         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36306
36307         * tests/test-array_oset.c: Include gl_xlist.h.
36308         * modules/array-oset-tests (Depends-on): Add xlist.
36309
36310         Reported by José E. Marchesi <jemarch@gnu.org>.
36311
36312 2009-12-13  Bruno Haible  <bruno@clisp.org>
36313
36314         Move the malloc checking from module 'oset' to new module 'xoset'.
36315         * modules/xoset: New file.
36316         * lib/gl_xoset.h: New file.
36317         * lib/gl_xoset.c: New file.
36318         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36319         declarations.
36320         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36321         (struct gl_oset_implementation): Rename and change methods accordingly.
36322         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36323         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36324         'int'. Mark as __warn_unused_result__.
36325         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36326         gl_oset_create_empty.
36327         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36328         'int'.
36329         * lib/gl_array_oset.c: Don't include xalloc.h.
36330         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
36331         malloc, not xmalloc.
36332         (grow): Change return type to 'int'. Don't call xalloc_die.
36333         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
36334         to 'int'.
36335         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
36336         'int'.
36337         (gl_array_oset_implementation): Update.
36338         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
36339         gl_tree_create_empty.
36340         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
36341         'int'.
36342         * lib/gl_avltree_oset.c: Don't include xalloc.h.
36343         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36344         xmalloc.
36345         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36346         not xmalloc.
36347         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36348         xmalloc.
36349         (gl_avltree_oset_implementation): Update.
36350         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
36351         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36352         xmalloc.
36353         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36354         not xmalloc.
36355         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36356         xmalloc.
36357         (gl_rbtree_oset_implementation): Update.
36358         * modules/array-oset (Depends-on): Remove xalloc.
36359         * modules/avltree-oset (Depends-on): Likewise.
36360         * modules/rbtree-oset (Depends-on): Likewise.
36361         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36362         * tests/test-avltree_oset.c: Likewise.
36363         * tests/test-rbtree_oset.c: Likewise.
36364         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36365         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36366         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36367         * NEWS: Mention the change.
36368
36369 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36370
36371         maint.mk: allow a project to override release-prep commands
36372         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36373         commands into a new rule.
36374         (release-prep): New rule.
36375         (release-prep-hook): New overridable variable.
36376
36377 2009-12-13  Bruno Haible  <bruno@clisp.org>
36378
36379         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36380
36381 2009-12-13  Jim Meyering  <meyering@redhat.com>
36382
36383         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36384         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36385
36386 2009-12-12  Bruno Haible  <bruno@clisp.org>
36387
36388         duplocale: Tweak.
36389         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36390
36391 2009-12-12  Karl Berry  <karl@gnu.org>
36392
36393         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36394
36395 2009-12-12  Bruno Haible  <bruno@clisp.org>
36396
36397         * m4/po.m4: Undo incorrect untabification.
36398
36399 2009-12-12  Bruno Haible  <bruno@clisp.org>
36400
36401         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36402         * modules/c-strtod (Depends-on): Add locale.
36403         * modules/c-strtold (Depends-on): Likewise.
36404
36405 2009-12-12  Bruno Haible  <bruno@clisp.org>
36406
36407         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36408
36409 2009-12-11  Eric Blake  <ebb9@byu.net>
36410
36411         setenv: relax requirement in light of POSIX ruling
36412         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36413         not NULL.
36414         * tests/test-setenv.c (main): Relax test.
36415         * tests/test-unsetenv.c (main): Likewise.
36416         * doc/posix-functions/setenv.texi (setenv): Document this.
36417         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36418
36419 2009-12-11  Bruno Haible  <bruno@clisp.org>
36420
36421         New module 'fd-safer-flag'.
36422         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36423         * lib/dup-safer.c (dup_safer_flag): Remove function.
36424         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36425         * lib/fd-safer.c (fd_safer_flag): Remove function.
36426         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36427         * modules/cloexec (configure.ac): Drop indicator macro.
36428         * modules/fd-safer-flag: New file.
36429         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36430         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36431         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36432
36433 2009-12-11  Bruno Haible  <bruno@clisp.org>
36434
36435         Tests for module 'nl_langinfo'.
36436         * modules/nl_langinfo-tests: New file.
36437         * tests/test-nl_langinfo.sh: New file.
36438         * tests/test-nl_langinfo.c: New file.
36439
36440         New module 'nl_langinfo'.
36441         * lib/nl_langinfo.c: New file.
36442         * m4/nl_langinfo.m4: New file.
36443         * modules/nl_langinfo: New file.
36444         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36445
36446 2009-12-11  Bruno Haible  <bruno@clisp.org>
36447
36448         Tests for module 'langinfo'.
36449         * modules/langinfo-tests: New file.
36450         * tests/test-langinfo.c: New file.
36451
36452         New module 'langinfo'.
36453         * lib/langinfo.in.h: New file.
36454         * m4/langinfo_h.m4: New file.
36455         * modules/langinfo: New file.
36456         * doc/posix-headers/langinfo.texi: Mention the new module.
36457
36458 2009-12-11  Bruno Haible  <bruno@clisp.org>
36459
36460         * lib/config.charset: Untabify.
36461
36462 2009-12-11  Bruno Haible  <bruno@clisp.org>
36463
36464         * modules/unistd-safer (configure.ac): Drop indicator macro.
36465
36466 2009-12-11  Bruno Haible  <bruno@clisp.org>
36467
36468         Move pipe2-safer code to its own file.
36469         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36470         * lib/pipe-safer.c (pipe2_safer): Remove function.
36471         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36472         (Makefile.am): Add it to lib_SOURCES.
36473
36474 2009-12-10  Bruno Haible  <bruno@clisp.org>
36475
36476         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36477
36478 2009-12-10  Bruno Haible  <bruno@clisp.org>
36479
36480         Declare which arguments expect non-NULL values, for GCC and clang.
36481         * build-aux/arg-nonnull.h: New file.
36482         * modules/arg-nonnull: New file.
36483         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36484         (inet_ntop, inet_pton): Use it.
36485         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36486         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36487         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36488         (open, openat): Use it.
36489         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36490         (fnmatch): Use it.
36491         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36492         (getopt, getopt_long, getopt_long_only): Use it.
36493         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36494         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36495         Use it.
36496         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36497         (iconv_open): Use it.
36498         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36499         (strtoimax, strtoumax): Use it.
36500         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36501         (duplocale): Use it.
36502         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36503         (frexp, frexpl): Use it.
36504         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36505         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36506         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36507         (tsearch, tfind, tdelete, twalk): Use it.
36508         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36509         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36510         sigpending): Use it.
36511         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36512         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36513         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36514         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36515         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36516         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36517         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36518         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36519         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36520         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36521         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36522         Use it.
36523         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36524         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36525         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36526         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36527         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36528         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36529         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36530         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36531         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36532         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36533         strtoull, unsetenv): Use it.
36534         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36535         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36536         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36537         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36538         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36539         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36540         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36541         (strcasecmp, strncasecmp): Use it.
36542         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36543         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36544         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36545         rpl_setsockopt): Use it.
36546         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36547         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36548         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36549         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36550         (gettimeofday): Use it.
36551         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36552         (times): Use it.
36553         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36554         (uname): Use it.
36555         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36556         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36557         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36558         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36559         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36560         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36561         unlinkat, write): Use it.
36562         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36563         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36564         * lib/argv-iter.h: Include arg-nonnull.h.
36565         (_ATTRIBUTE_NONNULL_): Remove macro.
36566         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36567         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36568         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36569         optimization.
36570         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36571         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36572         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36573         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36574         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36575         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36576         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36577         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36578         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36579         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36580         * modules/dirent (Depends-on): Add arg-nonnull.
36581         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36582         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36583         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36584         * modules/fnmatch (Depends-on): Add arg-nonnull.
36585         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36586         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36587         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36588         * modules/glob (Depends-on): Add arg-nonnull.
36589         (Makefile.am): Insert arg-nonnull.h into glob.h.
36590         * modules/iconv_open (Depends-on): Add arg-nonnull.
36591         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36592         * modules/inttypes (Depends-on): Add arg-nonnull.
36593         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36594         * modules/locale (Depends-on): Add arg-nonnull.
36595         (Makefile.am): Insert arg-nonnull.h into locale.h.
36596         * modules/math (Depends-on): Add arg-nonnull.
36597         (Makefile.am): Insert arg-nonnull.h into math.h.
36598         * modules/netdb (Depends-on): Add arg-nonnull.
36599         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36600         * modules/search (Depends-on): Add arg-nonnull.
36601         (Makefile.am): Insert arg-nonnull.h into search.h.
36602         * modules/signal (Depends-on): Add arg-nonnull.
36603         (Makefile.am): Insert arg-nonnull.h into signal.h.
36604         * modules/spawn (Depends-on): Add arg-nonnull.
36605         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36606         * modules/stdio (Depends-on): Add arg-nonnull.
36607         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36608         * modules/stdlib (Depends-on): Add arg-nonnull.
36609         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36610         * modules/string (Depends-on): Add arg-nonnull.
36611         (Makefile.am): Insert arg-nonnull.h into string.h.
36612         * modules/strings (Depends-on): Add arg-nonnull.
36613         (Makefile.am): Insert arg-nonnull.h into strings.h.
36614         * modules/sys_socket (Depends-on): Add arg-nonnull.
36615         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36616         * modules/sys_stat (Depends-on): Add arg-nonnull.
36617         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36618         * modules/sys_time (Depends-on): Add arg-nonnull.
36619         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36620         * modules/sys_times (Depends-on): Add arg-nonnull.
36621         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36622         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36623         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36624         * modules/time (Depends-on): Add arg-nonnull.
36625         (Makefile.am): Insert arg-nonnull.h into time.h.
36626         * modules/unistd (Depends-on): Add arg-nonnull.
36627         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36628         * modules/wchar (Depends-on): Add arg-nonnull.
36629         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36630         * modules/argv-iter (Depends-on): Add arg-nonnull.
36631         * tests/test-canonicalize.c (null_ptr): New function.
36632         (main): Use it.
36633         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36634         (main): Use it.
36635         * tests/test-memmem.c (null_ptr): New function.
36636         (main): Use it.
36637         Reported by Jim Meyering.
36638
36639 2009-12-10  Bruno Haible  <bruno@clisp.org>
36640
36641         Use spaces for indentation, not tabs.
36642         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36643         * m4/*.m4: Untabify.
36644         * build-aux/*.h: Untabify.
36645         * tests/**/*.[hc]: Untabify.
36646         * README: New section "Indent with spaces, not TABs", based on
36647         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36648         * NEWS: Mention the change.
36649
36650 2009-12-10  Bruno Haible  <bruno@clisp.org>
36651
36652         pty test: Fix link error.
36653         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36654         test_pty_LDADD.
36655
36656 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36657
36658         * modules/pty: New file.
36659         * modules/pty-tests: New file.
36660         * m4/pty.m4: New file.
36661         * tests/test-pty.c: New file.
36662         * doc/glibc-headers/pty.texi: Modified.
36663         * doc/glibc-functions/forkpty.texi: Modified.
36664         * doc/glibc-functions/openpty.texi: Modified.
36665
36666 2009-12-10  Bruno Haible  <bruno@clisp.org>
36667
36668         Avoid syntax error in C++ mode.
36669         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36670
36671 2009-12-10  Bruno Haible  <bruno@clisp.org>
36672
36673         Use sed with option -e.
36674         * gnulib-tool (func_version, func_emit_copyright_notice,
36675         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36676         option -e to sed.
36677         * modules/link-warning (Makefile.am): Likewise.
36678
36679 2009-12-10  Jim Meyering  <meyering@redhat.com>
36680
36681         mgetgroups: do not write bytes beyond end of malloc'd buffer
36682         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36683         username, we call getgroups with a one-element-shorter buffer,
36684         but still told it the length was original, max_n_groups.
36685
36686 2009-12-09  Eric Blake  <ebb9@byu.net>
36687
36688         cloexec: relax license
36689         * modules/cloexec (Maintainer): Add myself.
36690         (License): Use LGPL, not GPL.
36691
36692         link-warning: optimize generation
36693         * modules/link-warning (Makefile.am): Reduce process usage.
36694
36695 2009-12-09  Bruno Haible  <bruno@clisp.org>
36696
36697         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36698         workaround was added on 2009-11-17.
36699
36700 2009-12-09  Jim Meyering  <meyering@redhat.com>
36701             Bruno Haible  <bruno@clisp.org>
36702
36703         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36704         * modules/link-warning (Makefile.am): Make the comment-removing sed
36705         command more robust in the face of bootstrap-prepended comment lines.
36706
36707 2009-12-09  Bruno Haible  <bruno@clisp.org>
36708
36709         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36710         most one group.
36711
36712 2009-12-09  Simon Josefsson <simon@josefsson.org>
36713             Bruno Haible  <bruno@clisp.org>
36714
36715         * build-aux/link-warning.h: Add copyright notice.
36716         * modules/link-warning (Makefile.am): Generate link-warning.h from
36717         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36718         * NEWS: Mention change in link-warning module.
36719         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36720         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36721         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36722         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36723         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36724         * modules/math (Makefile.am): Add dependency to math.h.
36725         * modules/search (Makefile.am): Add dependency to search.h.
36726         * modules/signal (Makefile.am): Add dependency to signal.h.
36727         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36728         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36729         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36730         * modules/string (Makefile.am): Add dependency to string.h.
36731         * modules/strings (Makefile.am): Add dependency to strings.h.
36732         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36733         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36734         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36735         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36736         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36737         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36738         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36739         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36740         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36741
36742 2009-12-09  Bruno Haible  <bruno@clisp.org>
36743
36744         fchdir: Optimize away rpl_fstat when possible.
36745         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36746         REPLACE_OPEN_DIRECTORY.
36747         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36748
36749 2009-12-09  Bruno Haible  <bruno@clisp.org>
36750
36751         * lib/fchdir.c: Update comment.
36752
36753 2009-12-09  Bruno Haible  <bruno@clisp.org>
36754
36755         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36756
36757 2009-12-08  Eric Blake  <ebb9@byu.net>
36758
36759         fchdir: avoid memory leak on re-registration.
36760         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36761
36762 2009-12-08  Jim Meyering  <meyering@redhat.com>
36763
36764         init.sh: avoid Solaris 10 /bin/sh portability problem
36765         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36766         sourced script:
36767           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36768           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36769           bar
36770         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36771         and two tests used that idiom.
36772         * tests/init.sh: Update suggested usage comments.
36773         (path_prepend_): New function, to be used in place
36774         of the --src-path=DIR option.
36775         (setup_): Move PATH-prepending code into path_prepend_.
36776         * tests/test-pread.sh: Adapt to new usage.
36777         * tests/test-xalloc-die.sh: Likewise.
36778
36779 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36780
36781         * doc/gnulib.texi (Glibc pty.h): Add.
36782         * doc/glibc-functions/forkpty.texi: Add.
36783         * doc/glibc-functions/openpty.texi: Add.
36784         Suggested by Bruno Haible.
36785
36786 2009-12-08  Eric Blake  <ebb9@byu.net>
36787
36788         fchdir: fix logic bugs
36789         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36790         * tests/test-fchdir.c (main): Enhance test.
36791         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36792         is in use.
36793
36794         dup2: fix logic bugs
36795         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36796         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36797         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36798         exists.
36799         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36800
36801 2009-12-07  Eric Blake  <ebb9@byu.net>
36802
36803         unlink: fix m4 detection
36804         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36805
36806         unistd-safer: add unit test
36807         * modules/unistd-safer-tests: New file.
36808         * tests/test-dup-safer.c: Likewise.
36809         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36810         * tests/test-dup2.c (setmode): Likewise.
36811         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36812
36813         cloexec: preserve text vs. binary across dup_cloexec
36814         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36815         mode.
36816         * modules/dup2-tests (Depends-on): Add binary-io.
36817         * modules/cloexec-tests (Depends-on): Likewise.
36818         * tests/test-dup2.c (setmode, is_mode): New helpers.
36819         (main): Add tests that translation mode is preserved.
36820         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36821         Reported by Bruno Haible.
36822
36823         mgetgroups: reduce duplicate listings
36824         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36825         resulting array.
36826         * tests/test-chown.h (test_chown): Simplify client.
36827         * tests/test-lchown.h (test_lchown): Likewise.
36828
36829 2009-12-06  Bruno Haible  <bruno@clisp.org>
36830
36831         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36832         value.
36833
36834 2009-12-06  Bruno Haible  <bruno@clisp.org>
36835
36836         * lib/progname.c: Include stdio.h, stdlib.h.
36837         (set_program_name): Reject a NULL argument.
36838
36839 2009-12-05  Eric Blake  <ebb9@byu.net>
36840
36841         pipe2-safer: new module
36842         * modules/pipe2-safer: New file.
36843         * lib/unistd-safer.h (pipe2_safer): New prototype.
36844         * lib/unistd--.h (pipe2): New wrapper.
36845         * lib/pipe-safer.c (pipe2_safer): New function.
36846         * modules/pipe (Depends-on): Add pipe2-safer.
36847         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36848
36849         stdlib-safer: preserve cloexec flag for mkostemp[s]
36850         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36851         fd_safer_flag.
36852
36853         unistd-safer: allow preservation of cloexec status via flag
36854         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36855         prototypes.
36856         * lib/dup-safer.c (dup_safer_flag): New function.
36857         * lib/fd-safer.c (fd_safer_flag): Likewise.
36858         * modules/cloexec (configure.ac): Set witness.
36859
36860         test-dup2: enhance test
36861         * modules/dup2-tests (Depends-on): Add cloexec.
36862         * tests/test-dup2.c (main): Enhance test.
36863
36864         cloexec: add dup_cloexec
36865         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36866         header and comments.
36867         * lib/cloexec.c (set_cloexec_flag): Add comments.
36868         (dup_cloexec): New function, with mingw implementation borrowed
36869         from...
36870         * lib/w32spawn.h (dup_noinherit): ...here.
36871         * modules/execute (Depends-on): Add cloexec.
36872         * modules/pipe (Depends-on): Likewise.
36873         * modules/cloexec (Depends-on): Add dup2.
36874         * modules/cloexec-tests (Files): New file.
36875         * tests/test-cloexec.c: Likewise.
36876
36877         test-xalloc-die: fix test for mingw
36878         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36879         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36880         directory and .exe suffix off argv[0] output.
36881
36882         test-fseeko: fix test for mingw
36883         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36884         than undefining fseek, so test will pass on mingw.
36885
36886 2009-12-05  Bruno Haible  <bruno@clisp.org>
36887
36888         * lib/progname.h (set_program_name): Clarify specification.
36889         * lib/progname.c (set_program_name): Likewise.
36890         Reported by Jim Meyering.
36891
36892 2009-12-05  Jim Meyering  <meyering@redhat.com>
36893
36894         maint.mk: backslash-escape parens in default regexp
36895         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36896         backslash-escape the literal parentheses.
36897
36898         maint.mk: news-date-check: use grep -E
36899         * top/maint.mk (today): Define a Make variable, not a...
36900         (news-date-check): ...shell variable.
36901         (news-date-regexp): Use the Make variable.
36902         Use grep's -E option.  Change the failing diagnostic to mention
36903         the variable, $(news-date-regexp).
36904
36905 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36906
36907         maintainer-makefile: allow customization of NEWS entry format
36908         * top/maint.mk (news-date-regexp): New overridable variable.
36909         (news-date-check): Use it.
36910
36911 2009-12-04  Eric Blake  <ebb9@byu.net>
36912
36913         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36914         * lib/mgetgroups.h (xgetgroups): New prototype.
36915         * lib/mgetgroups.c (xgetgroups): New wrapper.
36916         (mgetgroups): Handle ENOSYS.
36917         * modules/mgetgroups (Depends-on): Add realloc.
36918         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36919
36920         mgetgroups: avoid argument promotion issues with -1
36921         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36922         for invalid gid_t.
36923         * tests/test-chown.h (getegid, test_chown): Likewise.
36924         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36925
36926 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36927
36928         exclude: Fix header file problems.
36929         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36930
36931 2009-12-01  Jim Meyering  <meyering@redhat.com>
36932
36933         fts: fts_open: do not let an empty string cause immediate failure
36934         This is required in support of GNU rm, for which the command
36935         "rm A '' B" must process and remove both A and B, in spite of
36936         the empty string argument.
36937         * lib/fts.c (fts_open): Do not let the presence of an empty string
36938         cause fts_open to fail immediately.  Most fts-using tools must be
36939         able to process all arguments, in order, and can be expected to
36940         diagnose such arguments themselves.
36941
36942 2009-11-30  Eric Blake  <ebb9@byu.net>
36943
36944         utimens: fix compilation error
36945         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36946         Declare variable at right scope.
36947
36948 2009-11-29  Jim Meyering  <meyering@redhat.com>
36949
36950         bootstrap: handle perl-5.11's changed --version output
36951         * build-aux/bootstrap (get_version): Handle perl separately,
36952         since perl-5.11's --version output is different.
36953
36954 2009-11-28  Jim Meyering  <meyering@redhat.com>
36955
36956         userspec: depend on the inttostr module, too
36957         * modules/userspec (Depends-on): Add inttostr.
36958
36959         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36960         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36961         number of MAXUID when it evaluates to (uid_t) -1.
36962         Likewise for group ID.  Reported by Matt McCutchen in
36963         <http://savannah.gnu.org/bugs/?28113>
36964
36965         userspec: reformat to use spaces, not TABs
36966         * lib/userspec.c: Expand TABs to spaces.
36967         Add Emacs' "indent-tabs-mode: nil" hint.
36968
36969 2009-11-27  Eric Blake  <ebb9@byu.net>
36970
36971         getopt-gnu: flush out another BSD bug
36972         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36973         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36974         flush out BSD bug.
36975         * tests/test-getopt.h (test_getopt): End lists with NULL.
36976         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36977         (test_getopt_long_posix): Enhance test.
36978         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36979         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36980         getopt-gnu.
36981         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36982         Likewise.
36983
36984 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36985
36986         * modules/idpriv-droptemp-tests (Notice): Fix text.
36987
36988 2009-11-27  Jim Meyering  <meyering@redhat.com>
36989
36990         test-xalloc-die: avoid spurious failure due to libtool argv difference
36991         In a libtool-enabled project, this test would fail due to a difference
36992         in the emitted program name, e.g.,
36993         -test-xalloc-die: memory exhausted
36994         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36995         Use program to avoid that.
36996         * modules/xalloc-die-tests (Depends-on): Add progname.
36997         * tests/test-xalloc-die.c: Include progname.h".
36998         (program_name): Remove decl.
36999         (main): Call set_program_name.
37000         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
37001
37002 2009-11-26  Richard Jones  <rjones@redhat.com>
37003
37004         w32sock: leave win32 error in place.
37005         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
37006
37007 2009-11-26  Eric Blake  <ebb9@byu.net>
37008
37009         init.sh: suggest to use skip_ and fail_ functions in comments
37010         * tests/init.sh: Add a sentence.
37011
37012 2009-11-25  Bruno Haible  <bruno@clisp.org>
37013
37014         init.sh: add documentation in comments
37015         * tests/init.sh: Add some developer and user documentation.
37016
37017 2009-11-26  Jim Meyering  <meyering@redhat.com>
37018
37019         init.sh: accommodate even those who specify bogus srcdir manually
37020         * tests/init.sh: Normally, srcdir is guaranteed by automake and
37021         configure-time tests to be sanitized, so that there is no need to
37022         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
37023         (with no double quotes) suffices.  However, since tests may be
37024         invoked manually, and since you may explicitly set srcdir to the
37025         name of a directory containing spaces, do quote its uses here.
37026         * tests/test-pread.sh: Likewise.
37027         Suggested by Bruno Haible.
37028
37029         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
37030         * tests/test-pread.sh: Write no data into the pipe, because
37031         test-pread actually reads none.  This avoids a diagnostic,
37032         "bash: echo: write error: Broken pipe", that arises in the unusual
37033         event something is ignoring SIGPIPE, and might be interpreted
37034         as some sort of failure.  Reported by Bruno Haible.
37035
37036 2009-11-25  Jim Meyering  <meyering@redhat.com>
37037
37038         test-pread: cover failure with ESPIPE and EINVAL
37039         * tests/test-pread.c (main): Test for failure, too.
37040         * tests/test-pread.sh: Invoke with stdin on a pipe.
37041         Suggested by Eric Blake.
37042
37043         pread: improvement and fix
37044         * modules/pread (Depends-on): Depend on lseek, for portability to
37045         e.g., mingw.  Suggested by Eric Blake.
37046         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
37047
37048         unistd.in.h: correct declaration of pread
37049         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
37050         Reported by Richard W.M. Jones.
37051
37052         test-pread.sh: distribute the test script
37053         * modules/pread-tests (Files): Include test-pread.sh.
37054
37055         test-pread.sh: clean up
37056         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
37057         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
37058         That is unnecessary, since it's always ".".
37059         Suggestion from Eric Blake.
37060
37061         test-pread.sh: make executable
37062         * tests/test-pread.sh: Set executable bit.
37063         Reported by Eric Blake.
37064
37065         correct typo in test-pread.sh
37066         * tests/test-pread.sh: Add #! line.
37067
37068         test pread
37069         * tests/test-pread.c: New file.
37070         * tests/test-pread.sh: Likewise.
37071         * modules/pread-tests: Likewise.
37072
37073         pread: new module
37074         * modules/pread: New file.
37075         * lib/unistd.in.h (pread): Define/declare.
37076         * lib/pread.c (pread): New file.
37077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
37078         * modules/unistd (Makefile.am): Substitute witnesses.
37079         * doc/posix-functions/pread.texi (pread): Update.
37080         * MODULES.html.sh: Add pread.
37081
37082 2009-11-25  Jim Meyering  <meyering@redhat.com>
37083
37084         tests/init.sh: new file to be used via most *.sh tests
37085         * tests/init.sh: New file.
37086
37087 2009-11-25  Eric Blake  <ebb9@byu.net>
37088
37089         utimens: work around older Linux failure with symlinks
37090         * lib/utimens.c (lutimensat_works_really): New variable.
37091         (fdutimens, lutimens): Use it to manage kernels that support
37092         nanosecond times on files, but not on symlinks.
37093         Reported by OndÅ™ej Vašík.
37094
37095         utimes: fix configure grammar
37096         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
37097
37098 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
37099
37100         regex: Fix fastmap for multibyte character ranges.
37101         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
37102         characters when a multibyte character range is included.
37103
37104 2009-11-22  Andy Wingo  <wingo@pobox.com>
37105
37106         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
37107         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
37108
37109 2009-11-24  Bruno Haible  <bruno@clisp.org>
37110
37111         doc: Most *_l functions exist in MacOS X 10.5.
37112         * doc/posix-functions/duplocale.texi: Update platforms list.
37113         * doc/posix-functions/freelocale.texi: Likewise.
37114         * doc/posix-functions/newlocale.texi: Likewise.
37115         * doc/posix-functions/uselocale.texi: Likewise.
37116         * doc/posix-functions/isalnum_l.texi: Likewise.
37117         * doc/posix-functions/isalpha_l.texi: Likewise.
37118         * doc/posix-functions/isblank_l.texi: Likewise.
37119         * doc/posix-functions/iscntrl_l.texi: Likewise.
37120         * doc/posix-functions/isdigit_l.texi: Likewise.
37121         * doc/posix-functions/isgraph_l.texi: Likewise.
37122         * doc/posix-functions/islower_l.texi: Likewise.
37123         * doc/posix-functions/isprint_l.texi: Likewise.
37124         * doc/posix-functions/ispunct_l.texi: Likewise.
37125         * doc/posix-functions/isspace_l.texi: Likewise.
37126         * doc/posix-functions/isupper_l.texi: Likewise.
37127         * doc/posix-functions/iswalnum_l.texi: Likewise.
37128         * doc/posix-functions/iswalpha_l.texi: Likewise.
37129         * doc/posix-functions/iswblank_l.texi: Likewise.
37130         * doc/posix-functions/iswcntrl_l.texi: Likewise.
37131         * doc/posix-functions/iswctype_l.texi: Likewise.
37132         * doc/posix-functions/iswdigit_l.texi: Likewise.
37133         * doc/posix-functions/iswgraph_l.texi: Likewise.
37134         * doc/posix-functions/iswlower_l.texi: Likewise.
37135         * doc/posix-functions/iswprint_l.texi: Likewise.
37136         * doc/posix-functions/iswpunct_l.texi: Likewise.
37137         * doc/posix-functions/iswspace_l.texi: Likewise.
37138         * doc/posix-functions/iswupper_l.texi: Likewise.
37139         * doc/posix-functions/iswxdigit_l.texi: Likewise.
37140         * doc/posix-functions/isxdigit_l.texi: Likewise.
37141         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
37142         * doc/posix-functions/strcasecmp_l.texi: Likewise.
37143         * doc/posix-functions/strcoll_l.texi: Likewise.
37144         * doc/posix-functions/strfmon_l.texi: Likewise.
37145         * doc/posix-functions/strftime_l.texi: Likewise.
37146         * doc/posix-functions/strncasecmp_l.texi: Likewise.
37147         * doc/posix-functions/strxfrm_l.texi: Likewise.
37148         * doc/posix-functions/tolower_l.texi: Likewise.
37149         * doc/posix-functions/toupper_l.texi: Likewise.
37150         * doc/posix-functions/towctrans_l.texi: Likewise.
37151         * doc/posix-functions/towlower_l.texi: Likewise.
37152         * doc/posix-functions/towupper_l.texi: Likewise.
37153         * doc/posix-functions/wcscoll_l.texi: Likewise.
37154         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
37155         * doc/posix-functions/wctrans_l.texi: Likewise.
37156         * doc/posix-functions/wctype_l.texi: Likewise.
37157         * doc/glibc-functions/strptime_l.texi: Likewise.
37158         * doc/glibc-functions/strtod_l.texi: Likewise.
37159         * doc/glibc-functions/strtof_l.texi: Likewise.
37160         * doc/glibc-functions/strtol_l.texi: Likewise.
37161         * doc/glibc-functions/strtold_l.texi: Likewise.
37162         * doc/glibc-functions/strtoll_l.texi: Likewise.
37163         * doc/glibc-functions/strtoul_l.texi: Likewise.
37164         * doc/glibc-functions/strtoull_l.texi: Likewise.
37165         * doc/glibc-functions/wcsftime_l.texi: Likewise.
37166         * doc/glibc-functions/wcstod_l.texi: Likewise.
37167         * doc/glibc-functions/wcstof_l.texi: Likewise.
37168         * doc/glibc-functions/wcstol_l.texi: Likewise.
37169         * doc/glibc-functions/wcstold_l.texi: Likewise.
37170         * doc/glibc-functions/wcstoll_l.texi: Likewise.
37171         * doc/glibc-functions/wcstoul_l.texi: Likewise.
37172         * doc/glibc-functions/wcstoull_l.texi: Likewise.
37173
37174 2009-11-24  Bruno Haible  <bruno@clisp.org>
37175
37176         duplocale: Fix logic bug.
37177         * lib/duplocale.c: Don't include <langinfo.h>.
37178         (_NL_LOCALE_NAME): Remove macro.
37179         (rpl_duplocale): Use setlocale instead of nl_langinfo.
37180         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
37181
37182 2009-11-23  Jim Meyering  <meyering@redhat.com>
37183
37184         test-update-copyright: don't hard-code /usr/bin/perl
37185         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
37186         perl to print the current year.  Gilles Espinasse reported that
37187         the replaced use of perl was hard-coded as /usr/bin/perl.
37188
37189 2009-11-23  Bruno Haible  <bruno@clisp.org>
37190
37191         duplocale: Add support for glibc 2.3.x.
37192         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
37193
37194 2009-11-22  Bruno Haible  <bruno@clisp.org>
37195
37196         vasnprintf: Tiny optimization.
37197         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
37198         MacOS X.
37199
37200 2009-11-22  Bruno Haible  <bruno@clisp.org>
37201
37202         Tests for module 'duplocale'.
37203         * modules/duplocale-tests: New file.
37204         * tests/test-duplocale.c: New file.
37205
37206         New module 'duplocale'.
37207         * m4/duplocale.m4: New file.
37208         * lib/locale.in.h (duplocale): New declaration.
37209         * lib/duplocale.c: New file.
37210         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
37211         gl_LOCALE_H_DEFAULTS): New macros.
37212         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
37213         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
37214         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
37215         REPLACE_DUPLOCALE.
37216         * modules/duplocale: New file.
37217         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
37218
37219 2009-11-22  Bruno Haible  <bruno@clisp.org>
37220
37221         * modules/locale-tests (configure.ac): Test for newlocale function.
37222         * tests/test-locale.c: When the system has extended locale functions,
37223         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
37224
37225         locale: Make locale_t available when possible.
37226         * lib/locale.in.h: Include <xlocale.h> when it exists.
37227         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
37228         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
37229         * modules/locale (Depends-on): Add extensions.
37230         (Makefile.am): Also substitute HAVE_XLOCALE_H.
37231         * doc/posix-headers/locale.texi: Document the problem with locale_t.
37232
37233 2009-11-22  Bruno Haible  <bruno@clisp.org>
37234
37235         Add comments.
37236         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37237         invocation.
37238         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37239         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37240         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37241
37242 2009-11-22  Bruno Haible  <bruno@clisp.org>
37243
37244         error: account for the possibility of freopen (stdout).
37245         * lib/error.c: Include <unistd.h>.
37246         (flush_stdout): New function, extracted from error and error_at_line.
37247         Determine stdout's fd dynamically.
37248         (error, error_at_line): Invoke flush_stdout.
37249         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37250         * modules/error (Depends-on): Add unistd.
37251
37252 2009-11-22  Bruno Haible  <bruno@clisp.org>
37253
37254         diffseq: Add comment.
37255         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37256
37257 2009-11-22  Jim Meyering  <meyering@redhat.com>
37258
37259         c-stack: avoid defining an unused static function
37260         * lib/c-stack.c (find_stack_direction): Do not define this function
37261         when it will not be used.
37262
37263         diffseq: avoid spurious gcc warnings
37264         * lib/diffseq.h (IF_LINT2): Define.
37265         (compareseq): Use it to initialize two members of "part".
37266         This avoids two used-uninitialized warnings.
37267
37268 2009-11-21  Jim Meyering  <meyering@redhat.com>
37269
37270         c-stack: avoid "ignoring return value of `write'" warning
37271         * lib/c-stack.c: Include "ignore-value.h".
37272         (die): Explicitly ignore each write return value.
37273         * modules/c-stack (Depends-on): Add ignore-value.
37274
37275 2009-11-21  Bruno Haible  <bruno@clisp.org>
37276
37277         diffseq: reduce scope of variable 'best'.
37278         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37279         variable, earlier used for two different purposes.
37280
37281 2009-11-21  Jim Meyering  <meyering@redhat.com>
37282
37283         diffseq: remove useless assignment to "best"
37284         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37285         assignment.  At that point "best" is already guaranteed to be zero.
37286
37287 2009-11-20  Eric Blake  <ebb9@byu.net>
37288
37289         build: mention ftp redirector in release announcements
37290         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37291         values that used to come from cfg.mk; mention FTP redirect URL.
37292         * build-aux/announce-gen: Mention the mirror list.
37293         Suggested by Karl Berry.
37294
37295         nanosleep: improve port to mingw
37296         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37298         LIB_NANOSLEEP, but only when needed.
37299         * modules/select (Link): Document LIBSOCKET.
37300         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37301         enough.
37302
37303         nanosleep: work around cygwin bug
37304         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37305         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37306         bug.
37307         (getnow): Delete, not needed.
37308         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37309         LIB_CLOCK_GETTIME.
37310         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37311         clock-time, gettime.
37312         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37313         bug.
37314         * modules/nanosleep-tests: New test.
37315         * tests/test-nanosleep.c: New file.
37316
37317         sleep: work around cygwin bug
37318         * lib/sleep.c (rpl_sleep): Work around the bug.
37319         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37320         (gl_PREREQ_SLEEP): Delete unused macro.
37321         * modules/sleep (Depends-on): Add verify.
37322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37323         * modules/unistd (Makefile.am): Substitute witness.
37324         * lib/unistd.in.h (sleep): Update prototype.
37325         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37326         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37327         * modules/sleep-tests (Depends-on): Check for alarm.
37328
37329 2009-11-20  Jim Meyering  <meyering@redhat.com>
37330
37331         maint.mk: improve sc_prohibit_magic_number_exit
37332         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
37333         so it does not match uses like System.exit(1).
37334         Add comments showing how to correct all offenders.
37335
37336 2009-11-19  Eric Blake  <ebb9@byu.net>
37337
37338         xalloc-die-tests: add missing library
37339         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
37340
37341         test-xvasprintf: silence compiler warnings
37342         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
37343         empty string from gcc.
37344
37345 2009-11-19  Jim Meyering  <meyering@redhat.com>
37346
37347         xfreopen: new module, from coreutils
37348         * modules/xfreopen: New module.
37349         * lib/xfreopen.c: New file.
37350         * lib/xfreopen.h: New file.
37351         * MODULES.html.sh (File stream based Input/Output"): Add it.
37352
37353 2009-11-19  Eric Blake  <ebb9@byu.net>
37354
37355         manywarnings: depend on warnings
37356         * modules/manywarnings (Depends-on): Add warnings.
37357
37358         build: avoid compiler warnings
37359         * lib/select.c (rpl_select): Delete unused variable.
37360         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37361
37362 2009-11-18  Eric Blake  <ebb9@byu.net>
37363
37364         tests: avoid false negative with --with-packager
37365         * tests/test-version-etc.sh: Discard packager information.
37366         * tests/test-argp-version-etc-1.sh: Likewise.
37367         Reported by Mike Frysinger.
37368
37369         utimens: fix regression on Solaris
37370         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37371         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37372         can only change fd timestamps via futimesat.  Instead, use an
37373         additional witness macro to avoid BSD bug.
37374         Reported by Jim Meyering.
37375
37376 2009-11-17  Eric Blake  <ebb9@byu.net>
37377
37378         usleep: use it to simplify tests
37379         * modules/stat-time-tests (Depends-on): Add usleep.
37380         (configure.ac): Drop usleep check.
37381         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37382         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37383         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37384         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37385         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37386         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37387         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37388         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37389         Likewise.
37390         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37391         * tests/test-lchown.h (nap): Likewise.
37392         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37393         * tests/test-stat-time.c (nap): Likewise.
37394         * tests/test-utimens-common.h (nap): Update comments.
37395
37396         usleep: new module
37397         * modules/usleep: New file.
37398         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37399         * lib/usleep.c (usleep): Likewise.
37400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37401         * modules/unistd (Makefile.am): Substitute witnesses.
37402         * lib/unistd.in.h (usleep): Add declaration.
37403         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37404         * MODULES.html.sh (Date and time): Likewise.
37405         * modules/usleep-tests (Depends-on): New test.
37406         * tests/test-usleep.c: New file.
37407
37408         chown: work around OpenBSD bug
37409         * lib/chown.c (rpl_chown): Work around the bug.
37410         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37411         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37412         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37413         * modules/chown (Depends-on): Add stdbool.
37414         * modules/lchown (Depends-on): Likewise.
37415         * doc/posix-functions/chown.texi (chown): Document the bug.
37416         * doc/posix-functions/lchown.texi (lchown): Likewise.
37417         * tests/test-lchown.h (test_chown): Relax test.
37418
37419         mkstemp: avoid conflict with C++ keyword template
37420         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37421         * lib/mkostemp.c (mkostemp): Likewise.
37422         * lib/mkostemps.c (mkostemps): Likewise.
37423         * lib/mkstemp.c (mkstemp): Likewise.
37424         * lib/mkstemps.c (mkstemps): Likewise.
37425
37426         xalloc-die-tests: optimize
37427         * tests/test-xalloc-die.sh: Reduce number of processes.
37428
37429 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37430
37431         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37432         patch from ludo@gnu.org (Ludovic Courtès).
37433
37434 2009-11-17  Jim Meyering  <meyering@redhat.com>
37435
37436         version-etc: use proper license string
37437         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37438         * modules/version-etc-fsf: Likewise.
37439
37440 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37441
37442         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37443         printed to stdout.  Deal with EOL differences.
37444
37445 2009-11-17  Eric Blake  <ebb9@byu.net>
37446
37447         unsetenv: work around Solaris bug
37448         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37449         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37450         Reported by Jim Meyering.
37451
37452         vasnprintf: avoid compiler warnings
37453         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37454         variables.
37455         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37456
37457 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37458
37459         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37460         settings since xalloc-die is no longer the self test,
37461         xalloc-die.sh is.
37462
37463 2009-11-17  Jim Meyering  <meyering@redhat.com>
37464
37465         test-xalloc-die.sh: make the code agree with the commit log
37466         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37467         at the end, just in case you happen to have a test-xalloc-die
37468         program in some other PATH directory.
37469
37470         test-xalloc-die.sh: fix a portability bug
37471         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37472         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37473         Otherwise, argv[0] (as often seen in diagnostics) would be too
37474         system-dependent, sometimes with, and sometimes without the leading "./".
37475
37476         version-etc-fsf: relax license to LGPLv3+
37477         * modules/version-etc-fsf (License): Relax license.
37478
37479 2009-11-16  Eric Blake  <ebb9@byu.net>
37480
37481         xalloc-die-tests: avoid printing null pointer
37482         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37483         shell script.
37484         * tests/test-xalloc-die.c (program_name): Declare.
37485         * tests/test-xalloc-die.sh (tmpfiles): New file.
37486
37487         setenv, unsetenv: work around various bugs
37488         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37489         (setenv) [HAVE_SETENV]: Work around bugs.
37490         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37491         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37492         for bugs.
37493         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37494         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37496         * modules/stdlib (Makefile.am): Update substitutions.
37497         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37498         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37499         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37500         * modules/setenv-tests: New test.
37501         * modules/unsetenv-tests: Likewise.
37502         * tests/test-setenv.c: New file.
37503         * tests/test-unsetenv.c: Likewise.
37504
37505 2009-11-16  Jim Meyering  <meyering@redhat.com>
37506
37507         version-etc: relax license to LGPLv3+
37508         * modules/version-etc (License): Relax license.
37509
37510         better AC_REQUIRE expanded-before-required-warning avoidance
37511         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37512         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37513         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37514         which is no longer needed.
37515
37516 2009-11-16  Eric Blake  <ebb9@byu.net>
37517
37518         test-freading: clean up temporary file
37519         * tests/test-freading.c (main): Remove file on success, and use
37520         ASSERT more liberally.
37521         Reported by Jim Meyering.
37522
37523 2009-11-16  Jim Meyering  <meyering@redhat.com>
37524
37525         avoid new AC_REQUIRE expanded-before-required warnings
37526         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37527         merely using it.
37528         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37529         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37530
37531 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37532
37533         * tests/test-xalloc-die.c: New file.
37534         * modules/xalloc-die-tests: New file.
37535         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37536         XFAIL_TESTS so it can be appended by modules.
37537
37538 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37539
37540         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37541         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37542
37543 2009-11-14  Eric Blake  <ebb9@byu.net>
37544
37545         fnmatch: avoid compiler warning
37546         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37547         to silence compiler warning about mismatch signedness in ?:.
37548         Reported by Robert Millan.
37549
37550         intprops: add double-inclusion guard
37551         * lib/intprops.h: Allow idempotent includes.
37552         Suggested by Bruce Korb.
37553
37554         openat: detect Solaris fchownat bug
37555         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37556         penalizing glibc chownat when only lchownat is broken.
37557         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37558         trailing slash bugs.
37559         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37560         * modules/openat-tests (Files): Include more files.
37561         (Depends-on): Add mgetgroups, sleep, stat-time.
37562         (configure.ac): Add additional checks.
37563         (Makefile.am): Build new test.
37564         * tests/test-fchownat.c: New file.
37565
37566         lchown: detect Solaris and FreeBSD bug
37567         * lib/lchown.c (rpl_lchown): Work around bug.
37568         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37570         * modules/unistd (Makefile.am): Populate it.
37571         * lib/unistd.in.h (lchown): Update declaration.
37572         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37573         * modules/lchown-tests: New file.
37574         * tests/test-lchown.h (test_lchown): Likewise.
37575         * tests/test-lchown.c (main): Likewise.
37576
37577         chown: detect Solaris and FreeBSD bug
37578         * lib/chown.c (rpl_chown): Work around bug.
37579         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37580         (gl_PREREQ_CHOWN): Delete.
37581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37582         * modules/unistd (Makefile.am): Populate it.
37583         * lib/unistd.in.h (chown): Update declaration.
37584         * lib/lchown.c (chown): Update client.
37585         * modules/lchown (Depends-on): Add lstat.
37586         * doc/posix-functions/chown.texi (chown): Document the bug.
37587         * doc/posix-functions/getgroups.texi (getgroups): Document
37588         getgroups pitfall.
37589         * modules/chown-tests: New file.
37590         * tests/test-chown.h (test_chown): Likewise.
37591         * tests/test-chown.c (main): Likewise.
37592
37593 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37594
37595         gnulib-tool: correctly detect absence of m4 directories
37596         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37597
37598 2009-11-14  Jim Meyering  <meyering@redhat.com>
37599
37600         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37601         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37602
37603 2009-11-14  John W. Eaton  <jwe@gnu.org>
37604
37605         strftime.h: wrap funtion declaration in extern "C" block
37606         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37607
37608 2009-11-13  Eric Blake  <ebb9@byu.net>
37609
37610         getgroups: avoid compiler warning
37611         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37612
37613         getgroups: work around FreeBSD bug
37614         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37615         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37616         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37617         * tests/test-getgroups.c (main): Fix buffer overrun.
37618
37619         getgroups: avoid compilation failure
37620         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37621         * modules/getgroups (Depends-on): Add stdint.
37622
37623 2009-11-13  Jim Meyering  <meyering@redhat.com>
37624
37625         test-getgroups: avoid compilation failure
37626         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37627
37628 2009-11-13  Eric Blake  <ebb9@byu.net>
37629
37630         mgetgroups: new module, taken from coreutils
37631         * modules/mgetgroups: New file.
37632         * lib/mgetgroups.h: Likewise.
37633         * lib/mgetgroups.c (mgetgroups): Likewise.
37634         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37635         * MODULES.html.sh (Users and groups): Mention it.
37636
37637         getgroups: don't expose GETGROUPS_T to user
37638         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37639         an element at a time if GETGROUPS_T is wrong size.
37640         * lib/getugroups.h (getugroups): Change signature.
37641         * lib/unistd.in.h (getgroups): Likewise.
37642         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37643         signature needs fixing.
37644         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37645         AC_TYPE_GETGROUPS.
37646         * modules/group-member (Depends-on): Add getgroups.
37647         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37648         (group_member): Rely on getgroups replacement.
37649         * lib/getugroups.c (getugroups): Use gid_t.
37650         * tests/test-getgroups.c (main): Likewise.
37651         * NEWS: Mention the signature change.
37652         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37653         problem with signature.
37654         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37655         GETGROUPS_T is still useful for setgroups.
37656
37657         getgroups, getugroups: provide stubs for mingw
37658         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37659         * lib/getugroups.c (getugroups): Likewise.
37660         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37661         function.  Modernize replacement scheme.
37662         (gl_PREREQ_GETGROUPS): Delete.
37663         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37664         * modules/getgroups (configure.ac): Declare witness.
37665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37666         * modules/unistd (Depends-on): Substitute witness.
37667         * lib/unistd.in.h (getgroups): Declare replacement.
37668
37669         getgroups: avoid calling exit
37670         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37671         drop xalloc.
37672         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37673         dependencies.
37674         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37675         exiting, in the rare case of malloc failure.
37676
37677         getgroups: fix logic error
37678         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37679         has more than 20 groups.
37680         * modules/getgroups-tests: New test.
37681         * tests/test-getgroups.c: New file.
37682
37683 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37684
37685         * tests/test-base64.c: Improve.
37686
37687 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37688
37689         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37690         Blake <ebb9@byu.net>.
37691
37692 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37693
37694         * tests/test-xvasprintf.c: Add %s%s related checks.
37695
37696 2009-11-12  Eric Blake  <ebb9@byu.net>
37697
37698         version-etc: match standards.texi style
37699         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37700         and use <> only for URLs.
37701
37702 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37703
37704         fts: do not fail on a submount during traversal
37705         * lib/fts.c (fts_build): Read the stat info again after opening
37706         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37707         Original report at http://bugzilla.redhat.com/501848.
37708
37709 2009-11-12  Jim Meyering  <meyering@redhat.com>
37710
37711         bootstrap: sync from coreutils
37712         * build-aux/bootstrap (bootstrap_epilogue): New function.
37713         Use git_modules_config in one more place.  This make bootstrap's
37714         --gnulib-srcdir option more useful for testing.
37715
37716         bootstrap: generalize autoheader check
37717         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37718         AC_CONFIG_HEADERS.
37719
37720 2009-11-11  Eric Blake  <ebb9@byu.net>
37721
37722         mkfifoat: use new modules for Solaris and BSD bugs
37723         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37724         * lib/mkfifoat.c (mknodat): Split...
37725         * lib/mknodat.c (mknodat): ...into new file.
37726         * modules/mkfifoat (Files): Ship new file.
37727         (Depends-on): Add mkfifo, mknod.
37728         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37729         (Depends-on): Add symlink.
37730         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37731         redundant with test_mkfifo.h.
37732         (do_mkfifoat, do_mknodat): New helpers.
37733
37734         mknod: new module
37735         * modules/mknod: New file.
37736         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37737         * lib/mknod.c (mknod): Likewise.
37738         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37739         defaults.
37740         * modules/sys_stat (Makefile.am): Substitute them.
37741         * lib/sys_stat.in.h (mknod): Declare replacement.
37742         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37743         Document it.
37744         * doc/posix-functions/mknod.texi (mknod): Likewise.
37745         * modules/mknod-tests: New test.
37746         * tests/test-mknod.c: Likewise.
37747
37748         mkfifo: new module
37749         * modules/mkfifo: New file.
37750         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37751         * lib/mkfifo.c (mkfifo): Likewise.
37752         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37753         defaults.
37754         * modules/sys_stat (Makefile.am): Substitute them.
37755         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37756         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37757         Document it.
37758         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37759         * modules/mkfifo-tests: New test.
37760         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37761         from test-mkfifoat.c.
37762         * tests/test-mkfifo.c: New file.
37763
37764         readlink: detect FreeBSD bug
37765         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37766         slash on symlink.
37767         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37768         * tests/test-readlink.h (test_readlink): Enhance test.
37769
37770         symlink: detect FreeBSD bug
37771         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37772         slash on symlink.
37773         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37774         * tests/test-symlink.h (test_symlink): Enhance test.
37775
37776 2009-11-10  Eric Blake  <ebb9@byu.net>
37777
37778         link: detect FreeBSD bug
37779         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37780         symlink.
37781         * doc/posix-functions/link.texi (link): Document the bug.
37782         * tests/test-link.h (test_link): Enhance test.
37783         * tests/test-linkat.c (main): Update caller.
37784
37785         unlink, remove: detect FreeBSD bug
37786         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37787         slash on symlink.
37788         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37789         * doc/posix-functions/remove.texi (remove): Likewise.
37790         * tests/test-unlink.h (test_unlink): Enhance test.
37791         * tests/test-remove.c (main): Likewise.
37792
37793 2009-11-09  Eric Blake  <ebb9@byu.net>
37794
37795         rename: detect FreeBSD bug
37796         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37797         slash on symlink.
37798         * modules/renameat-tests (Depends-on): Add filenamecat.
37799         * tests/test-rename.h (test_rename): Allow one more errno.
37800         * tests/test-renameat.c (main): Likewise.
37801         * doc/posix-functions/rename.texi (rename): Document the bug.
37802
37803         open: detect FreeBSD bug
37804         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37805         symlink.
37806         * doc/posix-functions/open.texi (open): Document the bug.
37807         * doc/posix-functions/utimes.texi (utimes): Likewise.
37808         * tests/test-open.h (test_open): Add parameters, and test symlink
37809         handling.
37810         * tests/test-open.c (main): Adjust caller.
37811         * tests/test-fcntl-safer.c (main): Likewise.
37812         * modules/open-tests (Depends-on): Add stdbool, symlink.
37813         * modules/fcntl-safer-tests (Depends-on): Likewise.
37814         * tests/test-openat.c (main): Add test-open tests.
37815
37816         stat: detect FreeBSD bug
37817         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37818         symlink.
37819         * doc/posix-functions/stat.texi (stat): Document the bug.
37820         * tests/test-stat.h (test_stat_func): Add argument.
37821         * tests/test-stat.c (main): Adjust caller.
37822         * tests/test-fstatat.c (main): Likewise.
37823         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37824         Reported by Jim Meyering.
37825
37826 2009-11-09  James Youngman  <jay@gnu.org>
37827
37828         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37829         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37830
37831 2009-11-08  Jim Meyering  <meyering@redhat.com>
37832
37833         utimens: remove invalid futimesat call
37834         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37835         It used the file descriptor of the target file as the DIR_FD
37836         parameter and NULL as the file name.  That caused failure with
37837         errno == EFAULT on FreeBSD-8.0-rc2
37838
37839 2009-11-07  Eric Blake  <ebb9@byu.net>
37840
37841         fflush, freadseek: use fseeko, not fseek
37842         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37843         (clear_ungetc_buffer): Avoid potential problems on large files.
37844         * lib/freadseek.c (freadseek): Likewise.
37845         * modules/freadseek (Depends-on): Add fseeko.
37846         * modules/fseek (configure.ac): Set a witness.
37847         * tests/test-fflush.c (main): Use fseeko.
37848         * tests/test-fpurge.c (fseek): Disable link warning.
37849         * tests/test-freadable.c (fseek): Likewise.
37850         * tests/test-freading.c (fseek): Likewise.
37851         * tests/test-fseeko.c (fseek): Likewise.
37852         * tests/test-ftell.c (fseek): Likewise.
37853         * tests/test-ftello.c (fseek): Likewise.
37854         * tests/test-fwritable.c (fseek): Likewise.
37855         * tests/test-fwriting.c (fseek): Likewise.
37856
37857 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37858
37859         * modules/memchr (Depends-on): Drop getpagesize dependency.
37860
37861 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37862
37863         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37864         Reported by Ludovic Courtès.
37865         * build-aux/pmccabe2html: Improve example usage.
37866         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37867
37868 2009-11-06  Jim Meyering  <meyering@redhat.com>
37869
37870         do-release-commit-and-tag: New module.
37871         Automate the release-commit and tag process.
37872         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37873         * modules/do-release-commit-and-tag: New file.
37874         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37875
37876 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37877
37878         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37879         because test-select.c uses inet_pton.
37880
37881 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37882
37883         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37884         GETADDRINFO_LIB.  Bump serial number.
37885         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37886         Suggested by Eric Blake <ebb9@byu.net>.
37887
37888 2009-11-05  Eric Blake  <ebb9@byu.net>
37889
37890         strtod: detect darwin bug
37891         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37892         Reported by Leo Davis.
37893
37894         freopen-safer: new module
37895         * modules/freopen-safer: New module.
37896         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37897         * lib/freopen-safer.c (freopen_safer): New file.
37898         * lib/stdio-safer.h (freopen_safer): New declaration.
37899         * lib/stdio--.h (freopen): New override.
37900         * MODULES.html.sh (File stream based Input/Output): Mention it.
37901         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37902         freopen-safer module.
37903         * doc/posix-functions/stderr.texi (stderr): Likewise.
37904         * doc/posix-functions/stdin.texi (stdin): Likewise.
37905         * doc/posix-functions/stdout.texi (stdout): Likewise.
37906         * modules/freopen-safer-tests: New test.
37907         * tests/test-reopen-safer.c: New file.
37908
37909 2009-11-05  Jim Meyering  <meyering@redhat.com>
37910
37911         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37912         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37913
37914 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37915
37916         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37917
37918 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37919
37920         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37921
37922 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37923
37924         Fix link error.
37925         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37926         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37927
37928 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37929
37930         * tests/test-func.c: Also test value of __func__.
37931
37932 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37933
37934         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37935         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37936
37937 2009-11-05  Bruno Haible  <bruno@clisp.org>
37938
37939         Fix link error.
37940         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37941         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37942         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37943
37944 2009-11-05  Bruno Haible  <bruno@clisp.org>
37945
37946         Tests for module 'inet_pton'.
37947         * modules/inet_pton-tests: New file.
37948         * tests/test-inet_pton.c: New file.
37949
37950 2009-11-05  Bruno Haible  <bruno@clisp.org>
37951
37952         Tests for module 'inet_ntop'.
37953         * modules/inet_ntop-tests: New file.
37954         * tests/test-inet_ntop.c: New file.
37955
37956 2009-11-04  Eric Blake  <ebb9@byu.net>
37957
37958         stdlib-safer: wrap all mkstemp variants
37959         * modules/mkostemp (configure.ac): Set witness.
37960         * modules/mkostemps (configure.ac): Likewise.
37961         * modules/mkstemps (configure.ac): Likewise.
37962         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37963         (mkstemps_safer): Wrap more functions.
37964         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37965         wrapping.
37966         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37967         (mkstemps_safer): Implement the wrappers.
37968
37969         mkstemps, mkostemps: new modules
37970         * modules/mkostemps: New module.
37971         * modules/mkstemps: Likewise.
37972         * lib/mkostemps.c (mkostemps): New file.
37973         * lib/mkstemps.c (mkstemps): Likewise.
37974         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37975         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37977         * modules/stdlib (Makefile.am): Substitute them.
37978         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37979         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37980         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37981         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37982         * MODULES.html.sh (File system functions): Mention them.
37983
37984         tempname: resync from glibc
37985         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37986         same values for __GT_FILE as glibc.  Abort even when assertions
37987         are disabled.
37988         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37989         match its value otherwise.  Allow idempotent inclusion.
37990         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37991         * lib/mkostemp.c (mkostemp): Likewise.
37992         * lib/mkstemp.c (mkstemp): Likewise.
37993         * lib/tmpfile.c (tmpfile): Likewise.
37994         * NEWS: Document this.
37995
37996         utimens: fix use of futimens on older Linux
37997         * lib/utimens.c (fdutimens): Use updated, rather than original,
37998         timespec to avoid bug in older Linux kernel.
37999         Reported by Simon Josefsson.
38000
38001 2009-11-04  Bruno Haible  <bruno@clisp.org>
38002
38003         Make num_processors more flexible and consistent.
38004         * lib/nproc.h (enum nproc_query): New type.
38005         (num_processors): Add a 'query' argument.
38006         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
38007         (num_processors): Add a 'query' argument. Test the value of the
38008         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
38009         mingw, count the number of CPUs available for the current process.
38010         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
38011         Check for sched_getaffinity and sched_getaffinity_np.
38012         * modules/nproc (Depends-on): Add c-ctype, extensions.
38013         * NEWS: Mention the change.
38014
38015 2009-11-03  Bruno Haible  <bruno@clisp.org>
38016
38017         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
38018
38019 2009-11-03  Jim Meyering  <meyering@redhat.com>
38020
38021         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
38022         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
38023         if it is defined.
38024
38025 2009-11-02  Eric Blake  <ebb9@byu.net>
38026
38027         mktime, timegm: share common declaration
38028         * lib/mktime-internal.h: New file.
38029         * lib/mktime.c: Use it rather than open-coding a declaration.
38030         * lib/timegm.c: Likewise.
38031         * modules/mktime (Files): Ship it.
38032         * modules/timegm (Files): Likewise.
38033         Suggested by Bruno Haible.
38034
38035         test-update-copyright: update test to match script changes
38036         * tests/test-update-copyright.sh: Avoid hard-coding perl
38037         location.  Don't update *.bak created by earlier runs.
38038
38039 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
38040             Simon Josefsson  <simon@josefsson.org>
38041             Bruno Haible  <bruno@clisp.org>
38042
38043         Fix link error on Solaris 8.
38044         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
38045         also in libnsl. Define also INET_PTON_LIB.
38046         * modules/inet_pton (Link): New section.
38047
38048 2009-11-02  Simon Josefsson  <simon@josefsson.org>
38049             Bruno Haible  <bruno@clisp.org>
38050
38051         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
38052         * modules/inet_ntop (Link): New section.
38053         Reported by Boyan Kasarov <bkasarov@gmail.com>.
38054
38055 2009-11-02  Eric Blake  <ebb9@byu.net>
38056
38057         maint: avoid compiler warnings in m4 macros
38058         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
38059         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
38060
38061 2009-11-02  Simon Josefsson  <simon@josefsson.org>
38062
38063         * m4/pmccabe2html.m4: Remove file.
38064         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
38065         function.  Change maintainer.
38066         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
38067         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
38068         Courtès).
38069
38070 2009-10-31  Eric Blake  <ebb9@byu.net>
38071
38072         fseeko: fix m4 regression
38073         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
38074         regression from 2009-10-27.
38075         Reported by Ralf Wildenhues.
38076
38077 2009-10-31  Jim Meyering  <meyering@redhat.com>
38078
38079         inttostr: aesthetics and improved (compile-time) safety
38080         Define inttype_is_signed rather than inttype_is_unsigned,
38081         since the sole use is via "#if inttype_is_signed".
38082         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
38083         inttype_is_unsigned.
38084         * lib/offtostr.c (inttype_is_signed): Likewise.
38085         * lib/uinttostr.c (inttype_is_signed): Likewise.
38086         * lib/umaxtostr.c (inttype_is_signed): Likewise.
38087         * lib/inttostr.c (inttostr): Use verify to cross-check the
38088         inttype_is_signed value and the signedness of the actual type.
38089         * modules/inttostr (Depends-on): Add verify.
38090
38091 2009-10-30  Eric Blake  <ebb9@byu.net>
38092
38093         build: avoid compiler warnings
38094         * lib/fchmodat.c (lchmod): Mark unused variables.
38095         * lib/getopt.c (_getopt_initialize): Likewise.
38096         * lib/mktime.c (__mktime_internal): Provide prototype.
38097         * lib/inttostr.c (inttostr): Avoid compiler warning even with
38098         older gcc that do not understand #pragma GCC diagnostic.
38099         * lib/uinttostr.c (inttype_is_unsigned): Define.
38100         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
38101
38102 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
38103
38104         stat: fix compilation on AIX
38105         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
38106         only see struct stat64.
38107
38108 2009-10-30  Eric Blake  <ebb9@byu.net>
38109
38110         exclude: make more robust
38111         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
38112         rather than masking a coding bug.
38113         Suggested by Bruno Haible.
38114
38115 2009-10-30  Jim Meyering  <meyering@redhat.com>
38116
38117         perl scripts: remove #!/usr/bin/perl in favor of more portable...
38118         Rather than putting #!/usr/bin/perl on the first line,
38119         start with a variant of what's recommended by "man perlrun" that
38120         invokes the first "perl" program from your shell's search path.
38121         * build-aux/gitlog-to-changelog: Replace #!... as above.
38122         Add a "Local Variables" perl mode setting.
38123         Prompted by a patch from Ludovic Courtès.
38124         Improved by Eric Blake.
38125         * build-aux/useless-if-before-free: Likewise.
38126         * build-aux/announce-gen: Likewise.
38127         * build-aux/update-copyright: Likewise.
38128
38129 2009-10-29  Eric Blake  <ebb9@byu.net>
38130
38131         filenamecat-lgpl: adjust clients
38132         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
38133         filenamecat.
38134         * modules/renameat (Depends-on): Likewise.
38135
38136         filenamecat: split into filenamecat-lgpl
38137         * modules/filenamecat-lgpl: New module.
38138         * modules/filenamecat (Files): Move library-safe files into
38139         filenamecat-lgpl.
38140         (Depends-on): Add filenamecat-lgpl.
38141         (configure.ac): Declare witness.
38142         * lib/filenamecat.h (file_name_concat): Only declare when using
38143         GPL module.
38144         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
38145         Move...
38146         * lib/filenamecat-lgpl.c: ...into new file.
38147         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
38148         (gl_FILE_NAME_CONCAT): Use it.
38149         * MODULES.html.sh (File system functions): Mention new module.
38150
38151         argp: avoid memory leak
38152         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
38153         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
38154         base_name, since the latter malloc()s and can call exit().
38155         Leak introduced 2006-07-03.
38156
38157         dirname-lgpl: adjust clients that don't need full dirname
38158         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
38159         * modules/filenamecat (Depends-on): Likewise.
38160         * modules/linkat (Depends-on): Likewise.
38161         * modules/mkancesdirs (Depends-on): Likewise.
38162         * modules/mkdir (Depends-on): Likewise.
38163         * modules/openat (Depends-on): Likewise.
38164         * modules/savewd (Depends-on): Likewise.
38165         * modules/rename (Depends-on): Likewise.
38166         (License): Relax license.
38167         * modules/mkdir-tests (Depends-on): Drop progname.
38168         (Makefile.am): Delete unneeded LDADD.
38169         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
38170
38171         dirname: split into dirname-lgpl
38172         * modules/dirname-lgpl: New module.
38173         * modules/dirname (Files): Move library-safe files into
38174         dirname-lgpl.
38175         (Depends-on): Add dirname-lgpl.
38176         (configure.ac): Declare witness.
38177         * modules/double-slash-root (License): Relax license.
38178         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
38179         module.
38180         * lib/dirname.c (dir_len, mdir_name): Move...
38181         * lib/dirname-lgpl.c: ...into new file.
38182         * lib/basename.c (last_component, base_len): Move...
38183         * lib/basename-lgpl.c: ...into new file.
38184         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
38185         (gl_DIRNAME): Use it.
38186         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
38187         Mention new module.
38188         * modules/dirname-tests (Depends-on): Add progname.
38189         * tests/test-dirname.c (program_name): Delete.
38190
38191         mkdir: make safe for libraries
38192         * modules/mkdir (Depends-on): Drop xalloc.
38193         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
38194         exit.
38195
38196         tests: avoid some compiler warnings
38197         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
38198         literals.
38199         * tests/test-memchr.c (main): Avoid type mismatch.
38200         * tests/test-arpa_inet.c (main): Avoid unused parameters.
38201         * tests/test-base64.c (main): Likewise.
38202         * tests/test-getdelim.c (main): Likewise.
38203         * tests/test-gethostname.c (main): Likewise.
38204         * tests/test-getline.c (main): Likewise.
38205         * tests/test-netinet_in.c (main): Likewise.
38206         * tests/test-select.c (open_server_socket, main): Likewise.
38207         * tests/test-select-stdin.c (main): Likewise.
38208         * tests/test-sockets.c (main): Likewise.
38209         * tests/test-strsignal.c (main): Likewise.
38210         * tests/test-sys_select.c (main): Likewise.
38211         * tests/test-sys_socket.c (main): Likewise.
38212         * tests/test-u64.c (main): Likewise.
38213         * tests/test-xfprintf-posix.c (main): Likewise.
38214         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
38215
38216         sockets: avoid compiler warning
38217         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
38218
38219         maint: detect usage(1) and other suspicious exits
38220         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
38221
38222 2009-10-29  Jim Meyering  <meyering@redhat.com>
38223
38224         timespec: long-to-int truncation could make timespec_cmp malfunction
38225         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
38226         a multiple of 2^32 nanoseconds as no difference.
38227
38228 2009-10-28  Jim Meyering  <meyering@redhat.com>
38229
38230         fprintftime: wrap macro code argument in "do {...} while(0)"
38231         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
38232         cpy macro must be a statement that can be followed by a semicolon.
38233         Now that the else clause contains a comment and is hence longer
38234         than one line, I require curly braces.  That in turn requires
38235         that we wrap this code block in the standard do...while(0).
38236
38237         fprintftime: remove stray semicolon from previous change
38238         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38239
38240         fprintftime: avoid a warning about ignored fwrite return value
38241         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38242         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38243         that is unsafe.
38244         * modules/fprintftime (Depends-on): Add ignore-value.
38245
38246         exclude: avoid an unwarranted warning
38247         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38248
38249 2009-10-27  Eric Blake  <ebb9@byu.net>
38250
38251         fseek: avoid compilation failure when fflush is replaced
38252         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38253         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38254         module is in use.
38255         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38256         module is not in use; since REPLACE_FSEEK worked otherwise.
38257         (GNULIB_FTELLO): Likewise for ftell.
38258         Reported by Ian Beckwith and others.
38259
38260 2009-10-27  Bruno Haible  <bruno@clisp.org>
38261
38262         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38263         Reported by Jim Meyering.
38264
38265 2009-10-27  Jim Meyering  <jim@meyering.net>
38266             Bruno Haible  <bruno@clisp.org>
38267
38268         Avoid warning despite dropping the return value of fwrite.
38269         * lib/unicodeio.c: Include ignore-value.h.
38270         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38271         * modules/unicodeio (Depends-on): Add ignore-value.
38272
38273 2009-10-26  Eric Blake  <ebb9@byu.net>
38274
38275         areadlinkat: fix fallback path
38276         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38277         pointer and zero.
38278
38279 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38280
38281         Use a better IO block size for modern systems
38282         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38283         * lib/md2.c: Likewise.
38284         * lib/md4.c: Likewise.
38285         * lib/md5.c: Likewise.
38286         * lib/sha1.c: Likewise.
38287         * lib/sha256.c: Likewise.
38288         * lib/sha512.c: Likewise.
38289
38290 2009-10-22  Eric Blake  <ebb9@byu.net>
38291
38292         tests: avoid several compiler warnings
38293         * tests/test-getcwd.c (main): Avoid buffer underflow.
38294         * tests/test-getdate.c (main): String literals are not safe with
38295         putenv, so use setenv.  Declare unused argument.
38296         * modules/getdate-tests (Depends-on): Add setenv.
38297         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38298         problems with string literals in char *.
38299         * tests/test-hash.c (main): Avoid shadowing declaration.
38300         (insert_new): Treat string literals as char const *.
38301         * tests/test-getopt.h (test_getopt): Likewise.
38302         (getopt_loop): Alter types to minimize casting elsewhere.
38303         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38304         (test_getopt_long_posix): Likewise.
38305         (do_getopt_long): Add wrapper to minimize casting.
38306         * tests/test-atexit.c (clear_temp_file): Use void.
38307         * tests/test-areadlink-with-size.c (main): Declare unused
38308         arguments.
38309         * tests/test-areadlink.c (main): Likewise.
38310         * tests/test-areadlinkat-with-size.c (main): Likewise.
38311         * tests/test-areadlinkat.c (main): Likewise.
38312         * tests/test-canonicalize-lgpl.c (main): Likewise.
38313         * tests/test-canonicalize.c (main): Likewise.
38314         * tests/test-dirent-safer.c (main): Likewise.
38315         * tests/test-dirname.c (main): Likewise.
38316         * tests/test-dup2.c (main): Likewise.
38317         * tests/test-fchdir.c (main): Likewise.
38318         * tests/test-fcntl-h.c (main): Likewise.
38319         * tests/test-fcntl-safer.c (main): Likewise.
38320         * tests/test-fdopendir.c (main): Likewise.
38321         * tests/test-fdutimensat.c (main): Likewise.
38322         * tests/test-fflush.c (main): Likewise.
38323         * tests/test-filenamecat.c (main): Likewise.
38324         * tests/test-filevercmp.c (main): Likewise.
38325         * tests/test-fopen-safer.c (main): Likewise.
38326         * tests/test-fopen.c (main): Likewise.
38327         * tests/test-fpending.c (main): Likewise.
38328         * tests/test-fpurge.c (main): Likewise.
38329         * tests/test-freading.c (main): Likewise.
38330         * tests/test-fstatat.c (main): Likewise.
38331         * tests/test-fsync.c (main): Likewise.
38332         * tests/test-futimens.c (main): Likewise.
38333         * tests/test-getndelim2.c (main): Likewise.
38334         * tests/test-gettimeofday.c (main): Likewise.
38335         * tests/test-getopt.c (main): Likewise.
38336         * tests/test-i-ring.c (main): Likewise.
38337         * tests/test-inttypes.c (main): Likewise.
38338         * tests/test-link.c (main): Likewise.
38339         * tests/test-lstat.c (main): Likewise.
38340         * tests/test-math.c (main): Likewise.
38341         * tests/test-md5.c (main): Likewise.
38342         * tests/test-memchr2.c (main): Likewise.
38343         * tests/test-memrchr.c (main): Likewise.
38344         * tests/test-mkdir.c (main): Likewise.
38345         * tests/test-mkdirat.c (main): Likewise.
38346         * tests/test-mkfifoat.c (main): Likewise.
38347         * tests/test-open.c (main): Likewise.
38348         * tests/test-openat-safer.c (main): Likewise.
38349         * tests/test-openat.c (main): Likewise.
38350         * tests/test-quotearg.c (main): Likewise.
38351         * tests/test-rawmemchr.c (main): Likewise.
38352         * tests/test-readlink.c (main): Likewise.
38353         * tests/test-remove.c (main): Likewise.
38354         * tests/test-rename.c (main): Likewise.
38355         * tests/test-renameat.c (main): Likewise.
38356         * tests/test-rmdir.c (main): Likewise.
38357         * tests/test-sha1.c (main): Likewise.
38358         * tests/test-signal.c (main): Likewise.
38359         * tests/test-sigaction.c (main): Likewise.
38360         * tests/test-stat.c (main): Likewise.
38361         * tests/test-stat-time.c (main): Likewise.
38362         * tests/test-stddef.c (main): Likewise.
38363         * tests/test-stdint.c (main): Likewise.
38364         * tests/test-stdio.c (main): Likewise.
38365         * tests/test-stdlib.c (main): Likewise.
38366         * tests/test-strchrnul.c (main): Likewise.
38367         * tests/test-strerror.c (main): Likewise.
38368         * tests/test-string.c (main): Likewise.
38369         * tests/test-strtod.c (main): Likewise.
38370         * tests/test-strverscmp.c (main): Likewise.
38371         * tests/test-symlink.c (main): Likewise.
38372         * tests/test-symlinkat.c (main): Likewise.
38373         * tests/test-sys_stat.c (main): Likewise.
38374         * tests/test-sys_time.c (main): Likewise.
38375         * tests/test-time.c (main): Likewise.
38376         * tests/test-unistd.c (main): Likewise.
38377         * tests/test-unlink.c (main): Likewise.
38378         * tests/test-unlinkat.c (main): Likewise.
38379         * tests/test-utimens.c (main): Likewise.
38380         * tests/test-utimensat.c (main): Likewise.
38381         * tests/test-version-etc.c (main): Likewise.
38382         * tests/test-wchar.c (main): Likewise.
38383         * tests/test-wctype.c (main): Likewise.
38384         * tests/test-xprintf-posix.c (main): Likewise.
38385         * tests/test-posixtm.c (main): Likewise.
38386         (STREQ): Delete unused macro.
38387         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38388         shadowed variables.
38389         * tests/test-memchr.c (main): Likewise.
38390
38391 2009-10-21  Eric Blake  <ebb9@byu.net>
38392
38393         areadlinkat: avoid failure on older glibc
38394         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38395         rather than mis-comparing 0 against FUNC_RESULT of char*.
38396
38397 2009-10-21  Bruno Haible  <bruno@clisp.org>
38398
38399         * modules/stpncpy (License): Relicense under LGPLv2+.
38400         Reported by David Lutterkort <lutter@redhat.com>.
38401
38402 2009-10-20  Eric Blake  <ebb9@byu.net>
38403
38404         utimensat: work around Solaris 9 bug
38405         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38406         has trailing slash bugs.
38407         * tests/test-lutimens.h (test_lutimens): Enhance test.
38408         * tests/test-utimens.h (test_utimens): Likewise.
38409         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38410         * doc/posix-functions/utimes.texi (utimes): Likewise.
38411         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38412         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38413         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38414         * doc/posix-functions/futimens.texi (futimens): Likewise.
38415
38416         fdutimensat: new module
38417         * modules/fdutimensat: New file.
38418         * lib/fdutimensat.c (fdutimensat): Likewise.
38419         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38420         * MODULES.html.sh (File system functions): Mention module.
38421         * modules/fdutimensat-tests: New test.
38422         * tests/test-fdutimensat.c: Likewise.
38423
38424         doc: regenerate INSTALL
38425         * doc/INSTALL: Reflect recent autoconf update.
38426         * doc/INSTALL.ISO: Likewise.
38427         * doc/INSTALL.UTF-8: Likewise.
38428
38429 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38430
38431         acl: warn if ACL support is not detected
38432         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38433
38434 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38435
38436         * lib/nproc.h: Add extern "C" block for C++.
38437
38438 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38439             Bruno Haible  <bruno@clisp.org>
38440
38441         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38442         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38443         * doc/posix-functions/isalpha.texi: Likewise.
38444         * doc/posix-functions/isblank.texi: Likewise.
38445         * doc/posix-functions/iscntrl.texi: Likewise.
38446         * doc/posix-functions/isdigit.texi: Likewise.
38447         * doc/posix-functions/isgraph.texi: Likewise.
38448         * doc/posix-functions/islower.texi: Likewise.
38449         * doc/posix-functions/isprint.texi: Likewise.
38450         * doc/posix-functions/ispunct.texi: Likewise.
38451         * doc/posix-functions/isspace.texi: Likewise.
38452         * doc/posix-functions/isupper.texi: Likewise.
38453         * doc/posix-functions/isxdigit.texi: Likewise.
38454
38455 2009-10-18  Bruno Haible  <bruno@clisp.org>
38456
38457         Tests for module 'isblank'.
38458         * modules/isblank-tests: New file.
38459         * tests/test-isblank.c: New file.
38460
38461         New module 'isblank'.
38462         * lib/isblank.c: New file.
38463         * m4/isblank.m4: New file.
38464         * modules/isblank: New file.
38465         * doc/posix-functions/isblank.texi: Mention the new module.
38466
38467 2009-10-18  Bruno Haible  <bruno@clisp.org>
38468
38469         New module 'ctype'.
38470         * lib/ctype.in.h: New file.
38471         * m4/ctype.m4: New file.
38472         * modules/ctype: New file.
38473         * doc/posix-headers/ctype.texi: Mention the new module.
38474
38475 2009-10-18  Jim Meyering  <meyering@redhat.com>
38476
38477         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38478         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38479         right after its initialization, rather than farther down.
38480         Keeping these in close proximity makes it easier to ensure
38481         that each such variable is initialized.  E.g.,
38482
38483             LIB_CLOCK_GETTIME=
38484             AC_SUBST([LIB_CLOCK_GETTIME])
38485
38486         This change also increments these serial numbers.
38487         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38488         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38489         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38490
38491 2009-10-18  Bruno Haible  <bruno@clisp.org>
38492
38493         Don't let environment variables perturb build.
38494         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38495         (gl_PREREQ_GETHRXTIME): ... not here.
38496
38497 2009-10-18  Bruno Haible  <bruno@clisp.org>
38498
38499         Avoid symlink attack in localcharset module.
38500         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38501         (O_NOFOLLOW): Define fallback.
38502         (get_charset_aliases): Don't open the file if it is a symbolic link.
38503         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38504         gl_FCNTL_H.
38505         (gl_FCNTL_H): Require it.
38506         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38507         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38508         Reported by Fergal Glynn <fglynn@veracode.com>.
38509
38510 2009-10-18  Bruno Haible  <bruno@clisp.org>
38511
38512         Implement nproc for mingw.
38513         * lib/nproc.c: Include <windows.h>
38514         (num_processors): On native Windows platforms, try GetSystemInfo.
38515
38516 2009-10-18  Bruno Haible  <bruno@clisp.org>
38517
38518         Implement nproc for IRIX.
38519         * lib/nproc.c: Include <sys/sysmp.h>.
38520         (num_processors): On IRIX systems, try sysmp.
38521         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38522
38523 2009-10-18  Bruno Haible  <bruno@clisp.org>
38524
38525         Implement nproc for HP-UX.
38526         * lib/nproc.c: Include <sys/pstat.h>
38527         (num_processors): On HP-UX systems, try pstat_getdynamic.
38528         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38529         pstat_getdynamic.
38530
38531 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38532             Bruno Haible  <bruno@clisp.org>
38533
38534         Implement nproc for NetBSD, OpenBSD.
38535         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38536         (ARRAY_SIZE): New macro.
38537         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38538         * m4/nproc.m4: New file.
38539         * modules/nproc (Files): Add m4/nproc.m4.
38540         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38541         (Makefile.am): Instead, augment lib_SOURCES.
38542
38543 2009-10-18  Bruno Haible  <bruno@clisp.org>
38544
38545         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38546         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38547         sys/param.h.
38548
38549 2009-10-16  Eric Blake  <ebb9@byu.net>
38550
38551         utimensat: new module
38552         * modules/utimensat: New file.
38553         * lib/utimensat.c (utimensat): Likewise.
38554         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38555         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38556         so we can work around Linux bugs.
38557         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38558         * modules/sys_stat (Makefile.am): Substitute them.
38559         * lib/sys_stat.in.h (utimensat): Declare it.
38560         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38561         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38562         * modules/utimensat-tests: New test.
38563         * tests/test-utimensat.c: Likewise.
38564
38565         utimens: let lutimens work on non-symlinks
38566         * lib/utimens.c (lutimens): Fall back to utimens rather than
38567         failing with ENOSYS, when file is not a symlink.
38568         (utimens): Reduce redirection.
38569         * tests/test-lutimens.h (test_lutimens): Update test to cover
38570         non-symlinks.
38571         * tests/test-utimens.h (test_utimens): Update test to cover
38572         symlinks.
38573         * tests/test-utimens.c (main): Update caller.
38574
38575         utimens: cache whether utimensat syscall works
38576         * lib/utimens.c (utimensat_works_really): New cache variable.
38577         (fdutimens, lutimens): Use it to avoid failing syscall.
38578
38579         test-stat-time, test-utimens: improve portability
38580         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38581         ext4 on alpha, and for cygwin.
38582         * tests/test-utimens-common.h: New file.
38583         (nap): Factor delays into single function.
38584         * tests/test-lutimens.h (test_lutimens): Use new header.
38585         * tests/test-futimens.h (test_futimens): Likewise.
38586         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38587         timestamps to occur from same machine, as was done previously for
38588         test_utimens.
38589         * modules/utimens-tests (Files): Ship new file.
38590         * modules/futimens-tests (Files): Likewise.
38591         Reported in part by Jim Meyering.
38592
38593         sys_stat: sort replacement declarations
38594         * lib/sys_stat.in.h: Sort declarations.
38595         * lib/futimens.c (futimens): Fix typo.
38596
38597 2009-10-15  Jim Meyering  <meyering@redhat.com>
38598
38599         don't let environment settings perturb build
38600         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38601         could cause a configure-time and/or build-time malfunction.
38602         Typically, a configure-time function-in-library test is performed
38603         via code like this:
38604
38605           LIB_VAR=
38606           AC_SUBST([LIB_VAR])
38607           prefix_saved_LIBS=$LIBS
38608             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38609                        [test "$ac_cv_search_FUNC" = "none required" ||
38610                         LIB_VAR=$ac_cv_search_FUNC])
38611           LIBS=$prefix_saved_LIBS
38612
38613         However, in each of the files affected by this change, the LIB_VAR=
38614         initialization was omitted.  Thus, when set in the environment, its
38615         value would propagate into generated Makefiles when FUNC is not found
38616         in LIB_NAME.
38617         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38618         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38619         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38620
38621 2009-10-14  Eric Blake  <ebb9@byu.net>
38622
38623         fchdir: avoid infinite recursion in mingw
38624         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38625         recursing.
38626
38627         test-stat-time: port to mingw
38628         * tests/test-stat-time.c (force_unlink): Return a value.
38629         (test_ctime) [W32]: Fix compilation error.
38630         (nap): Don't call usleep with too large an argument.  Use
38631         force_unlink.
38632         * doc/pastposix-functions/usleep.texi (usleep): Document the
38633         portability issue.
38634
38635 2009-10-13  Jim Meyering  <meyering@redhat.com>
38636
38637         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38638         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38639         * modules/pipe-filter-ii: Likewise.
38640         * modules/sys_socket-tests: Likewise.
38641         * modules/tsearch-tests: Likewise.
38642         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38643         (check): Depend on it.
38644
38645 2009-10-12  Eric Blake  <ebb9@byu.net>
38646
38647         utimens-tests: port to NFS file systems
38648         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38649         comparisons to avoid spurious failures from timestamp drift
38650         between NFS machines.
38651
38652 2009-10-12  Eric Blake  <ebb9@byu.net>
38653
38654         stat-time-tests: minor cleanups
38655         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38656         * tests/test-stat-time.c (nap): Separate assignment from call.
38657         Suggested by Paolo Bonzini and Bruno Haible.
38658
38659         sys_stat: guarantee struct timespec
38660         * lib/sys_stat.in.h (includes): Always include <time.h>
38661         * modules/sys_stat (Depends-on): Add time.
38662         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38663         mode_t permission values.
38664         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38665         get at subsecond timestamps.
38666
38667 2009-10-10  Eric Blake  <ebb9@byu.net>
38668
38669         futimens: new module
38670         * modules/futimens: New file.
38671         * lib/futimens.c (futimens): Likewise.
38672         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38673         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38674         we can work around Linux bugs.
38675         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38676         * modules/sys_stat (Makefile.am): Substitute them.
38677         * lib/sys_stat.in.h (futimens): Declare it.
38678         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38679         * doc/posix-functions/futimens.texi (futimens): Likewise.
38680         * modules/futimens-tests: New test.
38681         * tests/test-futimens.c: Likewise.
38682
38683         utimens: introduce fdutimens
38684         * lib/utimens.h (fdutimens): New prototype.
38685         * lib/utimens.c (gl_futimens): Move guts...
38686         (fdutimens): ...to new interface.
38687         * tests/test-utimens.c (do_fdutimens): Use it.
38688
38689         utimens: add UTIME_NOW and UTIME_OMIT support
38690         * lib/utimens.c (validate_timespec, update_timespec): New helper
38691         functions.
38692         (gl_futimens, lutimens): Use them.
38693         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38694         stdbool, sys_stat.
38695         (Link): Mention resulting library dependency.
38696         * modules/utimecmp (Link): Likewise.
38697         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38698         (Makefile.am): Pick up library dependency.
38699         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38700         definition.
38701         * tests/test-sys_stat.c: Test the definitions.
38702         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38703         * NEWS: Document library dependency.
38704
38705         utimecmp: support symlink timestamps
38706         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38707         hashing when possible.  Use pathconf when available.
38708         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38709         * modules/utimecmp (Depends-on): Add lstat.
38710
38711         utimens: add lutimens interface
38712         * lib/utimens.c (lutimens): New function.
38713         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38714         * lib/utimens.h (lutimens): Declare new interface.
38715         * tests/test-utimens.c (main): Enhance test.
38716         * tests/test-lutimens.h (test_lutimens): New file.
38717         * modules/utimens-tests (Files): Distribute it.
38718         (Depends-on): Add symlink.
38719         (configure.ac): Check for usleep.
38720
38721         utimens: validate futimens usage
38722         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38723         fewer syscalls on failure later on.  Avoid compiler warning on
38724         mingw.
38725         * modules/utimens (Depends-on): Add dup2.
38726
38727         utimens: add test
38728         * modules/utimens-tests: New test.
38729         * tests/test-utimens.h: New file.
38730         * tests/test-futimens.h: Likewise.
38731         * tests/test-utimens.c: Likewise.
38732
38733         doc: mention timestamp portability issues
38734         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38735         instead.
38736         * doc/posix-functions/utime.texi (utime): Likewise.
38737         * doc/posix-functions/utimes.texi (utimes): Likewise.
38738         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38739         instead.
38740         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38741         module.
38742         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38743         Mention weakness with symlink timestamps.
38744         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38745         to utimensat/futimens instead.
38746         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38747
38748         test-dup2: enhance test
38749         * tests/test-dup2.c (main): Also check AT_FDCWD.
38750
38751         test-stat-time: avoid more spurious failures
38752         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38753         xfs; and avoid race if the two timestamps cross quantization edge.
38754
38755         relocatable: prefer 'file system' over 'filesystem'
38756         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38757         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38758         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38759         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38760         * lib/relocatable.c (compute_curr_prefix): Likewise.
38761
38762 2009-10-10  Jim Meyering  <meyering@redhat.com>
38763
38764         stat-time-tests: check for the usleep function
38765         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38766
38767 2009-10-10  Bruno Haible  <bruno@clisp.org>
38768
38769         * modules/xnanosleep: Put the Link section after the Include section.
38770
38771 2009-10-09  Eric Blake  <ebb9@byu.net>
38772
38773         dup2: work around FreeBSD 6.1 bug
38774         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38775         * doc/posix-functions/dup2.texi (dup2): Document it.
38776         Reported by Nelson H. F. Beebe and Jim Meyering.
38777
38778         test-stat-time: port to buggy NFS clients
38779         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38780         (test_ctime): Also skip test if mtime and ctime are skewed.
38781
38782         maint: prefer 'file system' over 'filesystem'
38783         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38784         * doc/posix-functions/lstat.texi (lstat): Likewise.
38785         * lib/file-has-acl.c (file_has_acl): Likewise.
38786         * lib/fwriteerror.c [TEST]: Likewise.
38787         * tests/test-areadlink.h (test_areadlink): Likewise.
38788         * tests/test-areadlinkat-with-size.c (main): Likewise.
38789         * tests/test-areadlinkat.c (main): Likewise.
38790         * tests/test-canonicalize-lgpl.c (main): Likewise.
38791         * tests/test-canonicalize.c (main): Likewise.
38792         * tests/test-fstatat.c (main): Likewise.
38793         * tests/test-linkat.c (main): Likewise.
38794         * tests/test-lstat.h (test_lstat_func): Likewise.
38795         * tests/test-mkdir.h (test_mkdir): Likewise.
38796         * tests/test-readlink.h (test_readlink): Likewise.
38797         * tests/test-remove.c (main): Likewise.
38798         * tests/test-rename.h (test_rename): Likewise.
38799         * tests/test-renameat.c (main): Likewise.
38800         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38801         * tests/test-symlink.h (test_symlink): Likewise.
38802         * tests/test-symlinkat.c (main): Likewise.
38803         * tests/test-unlink.h (test_unlink_func): Likewise.
38804         * tests/test-unlinkat.c (main): Likewise.
38805
38806         maint: make realtime library usage explicit
38807         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38808         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38809         * modules/settime (Link): Likewise.
38810         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38811
38812         test-stat-time: speed up execution
38813         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38814         warning on mingw.
38815         (nap): New helper function.
38816         (prepare_test): Use it to reduce sleep time.
38817         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38818         execution.
38819         * modules/stat-time-tests (configure.ac): Check for usleep.
38820
38821 2009-10-09  Jim Meyering  <meyering@redhat.com>
38822
38823         selinux-h: always use getfilecon wrappers
38824         * lib/getfilecon.c: New file.
38825         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38826         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38827         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38828         (fgetfilecon): Provide a stub.
38829         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38830         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38831         file unconditionally.
38832         When <selinux/selinux.h> is found, arrange to use wrappers.
38833         * modules/selinux-h (Files): Add getfilecon.c.
38834         (Makefile.am): Substitute include-next-related bits
38835         into the now-always-generated selinux/selinux.h file.
38836         * doc/glibc-functions/lgetfilecon.texi: New file.
38837         * doc/glibc-functions/fgetfilecon.texi: New file.
38838         * doc/glibc-functions/getfilecon.texi: New file.
38839         * doc/glibc-functions/getfilecon-desc.texi: New file.
38840         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38841         which to pull in the new files.
38842         * MODULES.html.sh (Misc): Add selinux-h.
38843
38844 2009-10-08  Jim Meyering  <meyering@redhat.com>
38845
38846         unistd: fix comment typo
38847         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38848
38849 2009-10-08  Eric Blake  <ebb9@byu.net>
38850
38851         areadlink: use SIZE_MAX consistently
38852         * modules/areadlink (Depends-on): Add stdint.
38853         * modules/areadlink-with-size (Depends-on): Likewise.
38854         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38855         gives NULL; drop sys/types, since unistd gives size_t; and add
38856         stdint for SIZE_MAX.
38857         (SIZE_MAX): Rely on headers.
38858         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38859         and add stdint.
38860         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38861         (SIZE_MAX): Likewise.
38862         (INITIAL_BUF_SIZE): Turn into enum.
38863         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38864
38865 2009-10-08  Jim Meyering  <meyering@redhat.com>
38866
38867         areadlinkat: avoid compilation failure
38868         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38869         Fix typo in comment.
38870
38871 2009-10-07  Eric Blake  <ebb9@byu.net>
38872
38873         areadlinkat-with-size: new module
38874         * modules/areadlinkat-with-size: New module.
38875         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38876         * lib/areadlink.h (areadlinkat): Declare it.
38877         * MODULES.html.sh (File system functions): Mention it.
38878         * modules/areadlinkat-with-size-tests: New test.
38879         * tests/test-areadlinkat-with-size.c: New file.
38880
38881         xreadlinkat: new module
38882         * modules/xreadlinkat: New module.
38883         * lib/xreadlinkat.c (xreadlinkat): New file.
38884         * lib/xreadlink.h (xreadlinkat): Declare it.
38885         * MODULES.html.sh (File system functions): Mention it.
38886
38887         areadlinkat: new module
38888         * lib/at-func.c (FUNC_FAIL): New define.
38889         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38890         * modules/areadlinkat: New module.
38891         * lib/linkat.c (areadlinkat): Move...
38892         * lib/areadlinkat.c (areadlinkat): ...to new file.
38893         * lib/areadlink.h (areadlinkat): Declare it.
38894         * modules/linkat (Depends-on): Add areadlinkat.
38895         * MODULES.html.sh (File system functions): Mention it.
38896         * modules/areadlinkat-tests: New test.
38897         * tests/test-areadlinkat.c: New file.
38898
38899         areadlink, areadlink-with-size: add tests
38900         * modules/areadlink-tests: New test.
38901         * modules/areadlink-with-size-tests: Likewise.
38902         * tests/test-areadlink.h: New file.
38903         * tests/test-areadlink.c: Likewise.
38904         * tests/test-areadlink-with-size.c: Likewise.
38905
38906         maint: minor cleanups
38907         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38908         _UNUSED_PARAMETER_ instead.
38909         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38910         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38911         * modules/linkat-tests (Files): Distribute test-link.h.
38912
38913         openat, utimens: whitespace cleanup
38914         * lib/openat.c: Prefer space throughout, rather than mix of 8
38915         spaces vs. tabs.
38916         * lib/at-func.c: Likewise.
38917         * lib/utimens.c: Likewise.
38918
38919         openat: avoid using wrong fd
38920         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38921         working directory chooses same fd.
38922         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38923
38924         mkdir, mkdirat: fix cygwin 1.5.x bug
38925         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38926         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38927         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38928         bug.
38929         (gl_PREREQ_MKDIR): Delete unused macro.
38930         * modules/mkdir (Files): Track file rename.
38931         (configure.ac): Update macro name.
38932         * modules/openat (Depends-on): Add mkdir.
38933         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38934
38935         mkdir, mkdirat: add tests
38936         * modules/mkdir-tests: New test.
38937         * tests/test-mkdir.h: New file.
38938         * tests/test-mkdir.c: Likewise.
38939         * tests/test-mkdirat.c: Likewise.
38940         * modules/openat-tests (Files): Add new files.
38941         (Makefile.am): Run new test.
38942
38943 2009-10-06  Eric Blake  <ebb9@byu.net>
38944
38945         doc: tweak *at function documentation
38946         * doc/posix-functions/faccessat.texi (faccessat): Mention
38947         known issue with replacement.
38948         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38949         * doc/posix-functions/linkat.texi (linkat): Likewise.
38950         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38951         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38952         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38953         * doc/posix-functions/renameat.texi (renameat): Likewise.
38954         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38955
38956         openat: fix GNU/Hurd bug in unlinkat
38957         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38958         broken.
38959         * doc/posix-functions/unlink.texi (unlink): Document this.
38960         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38961
38962         fdopendir: fix GNU/Hurd bug
38963         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38964         allowing non-directory fds.
38965         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38966         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38967         * modules/dirent (Makefile.am): Substitute it.
38968         * lib/dirent.in.h (fdopendir): Declare replacement.
38969         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38970         * tests/test-fdopendir.c (main): Test something other than
38971         /dev/null, since on Hurd that behaves like a directory.
38972
38973         test-symlink: port to GNU/Hurd
38974         * tests/test-symlink.h (test_symlink): Relax expected errno.
38975
38976         doc: tweak more cygwin information
38977         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38978         now compatible with glibc.
38979         * doc/posix-functions/getopt.texi (getopt): Likewise.
38980
38981         getopt-gnu: add another test
38982         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38983         guarantee behavior relied on by m4.
38984         * tests/test-getopt.c (main): Use it.
38985         * modules/getopt-posix-tests (Depends-on): Add setenv.
38986         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38987
38988         getopt: fix compilation on darwin
38989         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38990         include.
38991         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38992         Reported by Ludovic Courtès.
38993
38994 2009-10-06  Bruno Haible  <bruno@clisp.org>
38995
38996         * modules/size_max (Description): Discourage its use.
38997         Reported by Simon Josefsson.
38998
38999 2009-10-06  Jim Meyering  <meyering@redhat.com>
39000
39001         linkat: avoid compilation failure
39002         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
39003
39004 2009-10-05  Eric Blake  <ebb9@byu.net>
39005
39006         linkat: support Linux 2.6.17
39007         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
39008         linkat on Linux, but allow cache variable override.
39009         * lib/linkat.c (rpl_linkat): Define override.
39010         * modules/linkat (Depends-on): Add symlinkat.
39011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
39012         * modules/unistd (Makefile.am): Substitute it.
39013         * lib/unistd.in.h (linkat): Declare replacement.
39014         Reported by Pádraig Brady.
39015
39016         quotearg: port test to systems with C.UTF-8 locale
39017         * tests/test-quotearg.c (struct result_strings): Add another
39018         member, differentiating between C.ASCII and C.UTF-8 handling.
39019         (compare_strings): Add parameter.
39020         (main): Adjust all callers.
39021
39022         getopt: avoid clash with FreeBSD _getopt_internal
39023         * lib/getopt.in.h (_getopt_internal): Override the name.
39024         * lib/getopt_int.h (includes): Pick up any overrides.
39025         Reported by Reuben Thomas.
39026
39027         hash: allow C89 compilation
39028         * lib/hash.c (check_tuning): Move declaration before statement.
39029         Reported by Reuben Thomas.
39030
39031 2009-10-05  Karl Berry  <karl@gnu.org>
39032
39033         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
39034
39035 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
39036             Bruno Haible  <bruno@clisp.org>
39037
39038         * lib/uname.c (uname): Use a table-driven algorithm to compute
39039         Windows NT versions.
39040
39041 2009-10-04  Bruno Haible  <bruno@clisp.org>
39042
39043         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
39044         program_invocation_short_name.
39045         * modules/progname (configure.ac): Test for presence of
39046         program_invocation_short_name.
39047         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
39048
39049 2009-10-04  Bruno Haible  <bruno@clisp.org>
39050
39051         * lib/progname.c (set_program_name): Fix comment.
39052         Reported by Jim Meyering.
39053
39054 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
39055             Bruno Haible  <bruno@clisp.org>
39056
39057         * lib/uname.c: Include <string.h>.
39058         (uname): Do only one call to GetVersionEx in the common case.
39059
39060 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
39061             Bruno Haible  <bruno@clisp.org>
39062
39063         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
39064         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
39065         (uname): Add support for Windows CE and various non-x86 CPU types.
39066
39067 2009-10-03  Bruno Haible  <bruno@clisp.org>
39068
39069         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
39070         invocation to tests/configure.ac.
39071         Reported by Ian Beckwith <ianb@erislabs.net>.
39072
39073 2009-10-02  Eric Blake  <ebb9@byu.net>
39074
39075         fchdir: avoid compiler warning
39076         * lib/fchdir.c (canonicalize_file_name)
39077         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
39078
39079         test-open: support mingw errno values
39080         * tests/test-open.h (test_open): Relax test.
39081         * tests/test-fopen.h (test_fopen): Likewise.
39082         * tests/test-openat-safer.c (main): Likewise.
39083
39084         open: fix opening directory on mingw
39085         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
39086
39087         test-open: on GNU/Hurd, /dev/null is a directory
39088         * tests/test-fopen.h (main): Rename...
39089         (test_fopen): ...to this.  Use a guaranteed non-directory when
39090         confirming open behavior on trailing slash.
39091         * tests/test-openat-safer.c (main): Likewise.
39092         * tests/test-open.h (main): Likewise....
39093         (test_open): ...to this.
39094         * tests/test-fopen.c (main): Adjust caller.
39095         * tests/test-fopen-safer.c (main): Likewise.
39096         * tests/test-open.c (main): Likewise.
39097         * tests/test-fcntl-safer.c (main): Likewise.
39098         Reported by Samuel Thibault.
39099
39100         rename, fchdir: don't ignore chdir failure
39101         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
39102         * lib/rename.c (rpl_rename) [W32]: Likewise.
39103         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
39104         an empty destination directory if source cannot be renamed,
39105         although there is still possibility for failure.
39106         * doc/posix-functions/rename.texi (rename): Document the race.
39107         Reported by Jim Meyering.
39108
39109         maint: cleanup whitespace in recent commits
39110         * lib/rename.c (rpl_rename): Remove tabs.
39111         * tests/test-link.h (test_link): Likewise.
39112         * lib/fchdir.c (get_name): Likewise.
39113         Reported by Jim Meyering.
39114
39115 2009-10-02  Ben Pfaff  <blp@gnu.org>
39116
39117         relocatable-prog-wrapper: Add missing dependency on
39118         double-slash-root.
39119         * modules/relocatable-prog-wrapper: Add dependency.
39120         Reported by Ian Beckwith <ianb@erislabs.net>.
39121
39122 2009-10-02  Eric Blake  <ebb9@byu.net>
39123
39124         renameat: fix Solaris bugs
39125         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
39126         needed fixing.
39127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
39128         * modules/stdio (Makefile.am): Substitute it.
39129         * lib/stdio.in.h (renameat): Declare replacement.
39130         * lib/renameat.c (rpl_renameat): Implement fix.
39131
39132         renameat: new module
39133         * modules/renameat: New file.
39134         * lib/renameat.c (renameat): Likewise.
39135         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
39136         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39137         * modules/stdio (Makefile.am): Substitute them.
39138         * lib/stdio.in.h (renameat): Declare it.
39139         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39140         * doc/posix-functions/renameat.texi (renameat): Likewise.
39141         * modules/renameat-tests: New test.
39142         * tests/test-renameat.c: Likewise.
39143
39144         rename: fix mingw bugs
39145         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
39146         directory overwrite bugs.
39147
39148         rename: fix another cygwin 1.5 bug
39149         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
39150         checks.
39151         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
39152         unnecessary cygwin workarounds.  Also work around bug with moving
39153         full directory onto an empty one.
39154         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
39155
39156         rename-dest-slash: merge into rename module
39157         * modules/rename-dest-slash (Status): Mark obsolete.
39158         (Depends-on): Add rename.
39159         (Files): Let rename do it all.
39160         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
39161         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
39162         * m4/rename-dest-slash.m4: ...so this file can be deleted.
39163         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
39164         * lib/rename.c (rpl_rename): Update comments.
39165
39166         rename: fix cygwin 1.5.x bugs
39167         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
39168         * lib/rename.c (rpl_rename): Work around them.
39169         * modules/rename (Depends-on): Add same-inode.
39170
39171         rename: fix Solaris 10 bug
39172         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39173         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
39174         was the only bug.
39175
39176         rename: fix Solaris 9 bug
39177         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
39178         on non-directory.  Avoid calling exit.
39179         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
39180         strdup.
39181         * modules/rename-tests (Depends-on): Drop lstat.
39182         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39183         (gl_PREREQ_RENAME): Delete unused macro.
39184
39185         rename-dest-slash: fix NetBSD bug
39186         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
39187         links.
39188         * modules/rename-dest-slash (Depends-on): Add same-inode.
39189
39190         rename-tests: new test, exposes several platform bugs
39191         * modules/rename-tests: New file.
39192         * tests/test-rename.h: Likewise.
39193         * tests/test-rename.c: Likewise.
39194         * doc/posix-functions/rename.texi (rename): Improve documentation,
39195         including bugs that will eventually be fixed in gnulib.
39196
39197 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
39198
39199         * lib/uname.c: Include <stdlib.h>
39200         (uname): Assume version info is available.
39201
39202 2009-10-02  Jim Meyering  <meyering@redhat.com>
39203
39204         gnu-web-doc-update: correct --help output
39205         * build-aux/gnu-web-doc-update: Make --help output relevant.
39206
39207         gnu-web-doc-update: add standard options
39208         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
39209
39210         gnu-web-doc-update: New module.
39211         Use this script to automatically update the on-line web documentation
39212         for your GNU project at http://www.gnu.org/software/$pkg/manual/
39213         * modules/gnu-web-doc-update: New file, from coreutils.
39214         * build-aux/gnu-web-doc-update: New script.
39215
39216 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
39217
39218         link: LoadLibrary is not needed.
39219         * lib/link.c: Use GetModuleHandle.
39220
39221 2009-10-01  Eric Blake  <ebb9@byu.net>
39222
39223         getopt: bump serial number
39224         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
39225         change.
39226
39227         tests: tighten link, rmdir, and remove tests
39228         * tests/test-link.h (includes): No need to use <config.h> here.
39229         Clean up if directory hard link was created, otherwise test for
39230         trailing '.'.
39231         * tests/test-linkat.c (main): Simplify.
39232         * tests/test-remove.c (main): Enhance test for trailing '.'.
39233         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39234
39235 2009-10-01  Jim Meyering  <meyering@redhat.com>
39236
39237         maint.mk: requiring "make major" was annoying, for a "minor" release.
39238         What is intended is "stable", to contrast with alpha and beta,
39239         so require "make stable", not "make major".
39240         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39241         (get_tool_versions): Likewise.
39242         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39243
39244 2009-09-30  Ben Pfaff  <blp@gnu.org>
39245
39246         Fix broken build of replacement for Windows tmpfile().
39247         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39248         flags argument added along with the 'mkostemp' module.
39249
39250 2009-09-28  Bruno Haible  <bruno@clisp.org>
39251
39252         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39253         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39254         to 'remove_elt'.
39255         (gl_list_remove): Update.
39256         * lib/gl_list.c (gl_list_remove): Update.
39257         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39258         to 'remove_elt'.
39259         (gl_oset_remove): Update.
39260         * lib/gl_list.c (gl_oset_remove): Update.
39261         Reported by Eric Blake.
39262
39263 2009-09-28  Eric Blake  <ebb9@byu.net>
39264
39265         doc: mention yet more cygwin 1.7 status
39266         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39267         cygwin.
39268         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39269         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39270
39271         argp: fix test failure
39272         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39273         that are not upper-case.  Pass correct range to tolower.
39274
39275 2009-09-27  Jim Meyering  <meyering@redhat.com>
39276
39277         test-yesno: work around sparc-dash here-document infelicity
39278         Without this change, the literal \177 byte in a here document
39279         would make dash 0.5.5.1-3 access uninitialized memory.
39280         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39281         Instead, use a marker, "@", and filter through tr to create the desired
39282         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39283
39284 2009-09-27  Bruno Haible  <bruno@clisp.org>
39285
39286         Disable untested support for new flavours of ACLs on AIX.
39287         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39288         progress.
39289         * lib/set-mode-acl.c (qset_acl): Likewise.
39290
39291 2008-12-07  Bruno Haible  <bruno@clisp.org>
39292
39293         Add support for new flavours of ACLs on AIX. (Untested.)
39294         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39295         (file_has_acl): Add support for newer AIX.
39296         * lib/set-mode-acl.c (qset_acl): Likewise.
39297         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39298         Rainer Tammer <tammer@tammer.net>.
39299
39300 2009-09-26  Eric Blake  <ebb9@byu.net>
39301
39302         argp: fix compilation of getopt
39303         * lib/getopt.in.h (includes): Use different guard than glibc.
39304         Reported by Sergey Poznyakoff.
39305
39306         doc: mention more cygwin 1.7 status
39307         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39308         bug.
39309         * doc/posix-functions/execl.texi (execl): Likewise.
39310         * doc/posix-functions/execle.texi (execle): Likewise.
39311         * doc/posix-functions/execlp.texi (execlp): Likewise.
39312         * doc/posix-functions/execv.texi (execv): Likewise.
39313         * doc/posix-functions/execve.texi (execve): Likewise.
39314         * doc/posix-functions/execvp.texi (execvp): Likewise.
39315         * doc/glibc-functions/canonicalize_file_name.texi
39316         (canonicalize_file_name): Cygwin 1.7 now provides this.
39317         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39318         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39319         on AT_SYMLINK_NOFOLLOW.
39320
39321 2009-09-24  Eric Blake  <ebb9@byu.net>
39322
39323         test-linkat: make test more robust
39324         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39325
39326         getopt: fix inclusion guards for cygwin
39327         * modules/getopt-posix (Depends-on): Add include-next.
39328         (Makefile.am): Substitute more items in replacement header.
39329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39330         <getopt.h>.
39331         * lib/getopt.in.h (includes): Use split inclusion guard, and
39332         prefer <getopt.h> over include <unistd.h> when one is present.
39333         (option): Also override name of 'struct option'.
39334
39335         same-inode: revert prior change; it is not yet ready
39336         * NEWS: Undo mention of this change.
39337         * lib/same-inode.h (same-inode.h): Undo tri-state change.
39338         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39339         * lib/cycle-check.c (cycle_check): Likewise.
39340         * lib/same.c (same_name): Likewise.
39341         * lib/at-func2.c (at_func2): Likewise.
39342
39343 2009-09-23  Eric Blake  <ebb9@byu.net>
39344
39345         linkat: new module
39346         * modules/linkat: New file.
39347         * lib/at-func2.c (at_func2): Likewise.
39348         * lib/linkat.c (linkat): Likewise.
39349         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
39350         * lib/openat-priv.h (at_func2): Add declaration.
39351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39352         * modules/unistd (Makefile.am): Substitute them.
39353         * lib/unistd.in.h (linkat): Declare it.
39354         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39355         * doc/posix-functions/linkat.texi (linkat): Likewise.
39356         * doc/posix-functions/link.texi (link): Tweak wording.
39357         * tests/test-link.c (main): Move guts...
39358         * tests/test-link.h (test_link): ...into new file.
39359         * modules/linkat-tests: New test.
39360         * tests/test-linkat.c: Likewise.
39361         * modules/link-tests (Files): Ship new file.
39362         (Depends-on): Add stdbool.
39363
39364         dirname: add library-safe mdir_name
39365         * lib/dirname.h (mdir_name): New prototype.
39366         * lib/dirname.c (dir_name): Move guts...
39367         (mdir_name): ...to new function that avoids xalloc_die.
39368
39369         fchdir: another mingw fix
39370         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39371         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39372         on mingw (where it has not yet been ported), and make it optional
39373         elsewhere.
39374         (_gl_register_fd): Use it.
39375
39376         same-inode: make SAME_INODE tri-state, to port to mingw
39377         * NEWS: Mention this change.
39378         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39379         st_ino always being 0.
39380         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39381         * lib/cycle-check.c (cycle_check): Likewise.
39382         * lib/same.c (same_name): Likewise.
39383
39384         lstat: avoid mingw compilation error
39385         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39386         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39387         lstat ourselves.
39388         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39389         was adequate.
39390         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39391         the checks for lstat.
39392         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39393
39394         link: fix test failure on Solaris 9
39395         * lib/link.c (rpl_link): Don't assume link will catch bogus
39396         trailing slash on source.
39397
39398         test-symlinkat: enhance test
39399         * tests/test-readlink.c (main): Move guts...
39400         * tests/test-readlink.h (test_readlink): ...into new file.
39401         * tests/test-symlink.c (main): Move guts...
39402         * tests/test-symlink.h (test_symlink): ...into new file.
39403         * tests/test-symlinkat.c (main): Use new files for further
39404         coverage.
39405         (do_symlink, do_readlink): New helper functions.
39406         * modules/symlink-tests (Files): Ship new file.
39407         (Depends-on): Add stdbool.
39408         * modules/readlink-tests (Files): Ship new file.
39409         (Depends-on): Add stdbool.
39410         * modules/symlinkat-tests (Files): Use new files.
39411
39412 2009-09-23  Eric Blake  <ebb9@byu.net>
39413
39414         readlink: document portability issue with symlink length
39415         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39416         systems have bogus st_size on symlinks, and mention the
39417         areadlink-with-size module.
39418         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39419         * doc/posix-functions/readlink.texi (readlink): Mention the
39420         areadlink module, and ERANGE failure.
39421         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39422         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39423
39424         readlink: fix Solaris 9 bug with trailing slash
39425         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39426         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39427         * doc/posix-functions/readlink.texi (readlink): Document this.
39428         * modules/readlink-tests: New test.
39429         * tests/test-readlink.c: Likewise.
39430
39431         readlink: fix cygwin 1.5.x bug with return type
39432         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39433         * lib/unistd.in.h (readlink): Use ssize_t.
39434         * lib/readlink.c (readlink): Likewise.
39435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39436         * modules/unistd (Makefile.am): Substitute it.
39437         * lib/unistd.in.h (readlink): Declare replacement.
39438         * doc/posix-functions/readlink.texi (readlink): Document this.
39439
39440         symlink: use throughout gnulib
39441         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39442         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39443         symlink is not used.
39444         * modules/symlinkat (Depends-on): Add symlink.
39445         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39446         * modules/canonicalize-tests (Depends-on): Likewise.
39447         * modules/lstat-tests (Depends-on): Likewise.
39448         * modules/openat-tests (Depends-on): Likewise.
39449         * modules/remove-tests (Depends-on): Likewise.
39450         * modules/rmdir-tests (Depends-on): Likewise.
39451         * modules/unlink-tests (Depends-on): Likewise.
39452         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39453         * tests/test-canonicalize.c (symlink): Likewise.
39454         * tests/test-fstatat.c (symlink): Likewise.
39455         * tests/test-lstat.c (symlink): Likewise.
39456         * tests/test-remove.c (symlink): Likewise.
39457         * tests/test-rmdir.c (symlink): Likewise.
39458         * tests/test-unlink.c (symlink): Likewise.
39459         * tests/test-unlinkat.c (symlink): Likewise.
39460
39461         symlink: new module, for Solaris 9 bug
39462         * modules/symlink: New file.
39463         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39464         * lib/symlink.c: Likewise.
39465         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39466         * modules/unistd (Makefile.am): Substitute them.
39467         * lib/unistd.in.h (symlink): Declare replacement.
39468         * MODULES.html.sh (File system functions): Mention it.
39469         * doc/posix-functions/symlink.texi (symlink): Likewise.
39470         * modules/symlink-tests: New test.
39471         * tests/test-symlink.c: Likewise.
39472
39473 2009-09-23  Bruno Haible  <bruno@clisp.org>
39474
39475         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39476         when needed.
39477         Test case: gnulib-tool --import --with-tests atexit inttypes.
39478         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39479
39480 2009-09-23  Bruno Haible  <bruno@clisp.org>
39481
39482         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39483         subcommand, not in a subshell.
39484
39485 2009-09-22  Eric Blake  <ebb9@byu.net>
39486
39487         unistd: sort replacement declarations
39488         * lib/unistd.in.h: Sort declarations.
39489
39490         open, openat: minor optimization
39491         * lib/open.c (open): If open succeeded, len is non-zero.
39492         * lib/openat.c (rpl_openat): Likewise.
39493
39494         link-follow: ensure correct result
39495         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39496         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39497         distinguish between possible failures.
39498
39499 2009-09-21  Eric Blake  <ebb9@byu.net>
39500
39501         fts: avoid compiler warning
39502         * lib/fts.c (dirent_inode_sort_may_be_useful)
39503         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39504
39505 2009-09-19  Bruno Haible  <bruno@clisp.org>
39506
39507         * lib/progreloc.c (canonicalize_file_name): New declaration.
39508
39509 2009-09-19  Eric Blake  <ebb9@byu.net>
39510
39511         link: fix quoting
39512         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39513
39514         openat: fix openat bugs on Solaris 9
39515         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39516         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39517         * modules/openat (Depends-on): Add open.
39518         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39519         * modules/fcntl-h (Makefile.am): Substitute it.
39520         * lib/fcntl.in.h (openat): Declare replacement.
39521         * doc/posix-functions/openat.texi (openat): Document this.
39522
39523         openat: move fstatat and unlinkat into correct files
39524         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39525         compiled.
39526         * lib/openat.c (fstatat, unlinkat): Move...
39527         * lib/fstatat.c (fstatat): ...into correct files.
39528         * lib/unlinkat.c (unlinkat): Likewise.
39529
39530         openat: fix unlinkat bugs on Solaris 9
39531         * lib/unlinkat.c (unlinkat): New file.
39532         * modules/openat (Depends-on): Add unlink.
39533         (Files): Distribute it.
39534         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39535         trailing slash behavior is broken.
39536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39537         * modules/unistd (Makefile.am): Substitute it.
39538         * lib/unistd.in.h (unlinkat): Declare replacement.
39539         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39540
39541         openat: fix fstatat bugs on Solaris 9
39542         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39543         stat.
39544         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39545
39546         test-unlinkat: enhance test, to expose Solaris 9 bug
39547         * tests/test-unlink.c (main): Factor guts...
39548         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39549         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39550         * tests/test-rmdir.c (main): Adjust caller.
39551         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39552         (unlinker): New helper function.
39553         (rmdirat): Enhance check.
39554         * modules/rmdir-tests (Depends-on): Add stdbool.
39555         * modules/unlink-tests (Depends-on): Likewise.
39556         (Files): Add test-unlink.h.
39557         * modules/openat-tests (Files): Likewise.
39558         (Depends-on): Add unlinkdir.
39559
39560         test-fstatat: new test, to expose Solaris 9 bugs
39561         * tests/test-stat.c (main): Factor guts...
39562         * tests/test-stat.h (test_stat_func): ...into new file.
39563         * tests/test-lstat.c (main): Factor guts...
39564         * tests/test-lstat.h (test_lstat_func): ...into new file.
39565         * tests/test-fstatat.c: New file.
39566         * modules/stat-tests (Files): Add test-stat.h.
39567         * modules/lstat-tests (Files): Add test-lstat.h.
39568         (Depends-on): Add stdbool.
39569         * modules/openat-tests (Depends-on): Add pathmax.
39570         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39571         (Makefile.am): Run new test.
39572
39573         remove: new module, for mingw and Solaris 9 bugs
39574         * modules/remove: New file.
39575         * lib/remove.c: Likewise.
39576         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39578         * modules/stdio (Makefile.am): Use them.
39579         * lib/stdio.in.h (remove): Declare replacement.
39580         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39581         * doc/posix-functions/remove.texi (remove): Likewise.
39582         * modules/remove-tests: New test.
39583         * tests/test-remove.c: Likewise.
39584
39585         unlink: new module, for Solaris 9 bug
39586         * modules/unlink: New file.
39587         * lib/unlink.c: Likewise.
39588         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39590         * modules/unistd (Makefile.am): Use them.
39591         * lib/unistd.in.h (stat): Declare replacement.
39592         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39593         * doc/posix-functions/unlink.texi (unlink): Likewise.
39594         * modules/unlink-tests: New test.
39595         * tests/test-unlink.c: Likewise.
39596
39597         lstat: fix Solaris 9 bug
39598         * lib/lstat.c (lstat): Also check for trailing slash on
39599         non-symlink, non-directories.  Use stat module to simplify logic.
39600         * doc/posix-functions/lstat.texi (lstat): Document it.
39601         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39602         (configure.ac): Check for symlink.
39603         * tests/test-lstat.c (main): Add more tests.
39604
39605         stat: add as dependency to other modules
39606         * modules/chown (Depends-on): Add stat.
39607         * modules/euidaccess (Depends-on): Likewise.
39608         * modules/fchdir (Depends-on): Likewise.
39609         * modules/isdir (Depends-on): Likewise.
39610         * modules/link (Depends-on): Likewise.
39611         * modules/lstat (Depends-on): Likewise.
39612         * modules/mkdir-p (Depends-on): Likewise.
39613         * modules/modechange (Depends-on): Likewise.
39614         * modules/open (Depends-on): Likewise.
39615         * modules/readlink (Depends-on): Likewise.
39616         * modules/same (Depends-on): Likewise.
39617
39618         stat: fix Solaris 9 bug
39619         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39620         slash.
39621         * lib/stat.c (rpl_stat): Work around it.
39622         * doc/posix-functions/stat.texi (stat): Update documentation.
39623
39624         stat: new module, for mingw bug
39625         * modules/stat: New file.
39626         * lib/stat.c: Likewise.
39627         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39628         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39629         * modules/sys_stat (Makefile.am): Use them.
39630         * lib/sys_stat.in.h (stat): Declare replacement.
39631         * lib/openat.c (fstatat): Deal with lstat and stat being function
39632         macros.
39633         * modules/openat (Depends-on): Add inline.
39634         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39635         * doc/posix-functions/stat.texi (stat): Likewise.
39636         * modules/stat-tests: New test.
39637         * tests/test-stat.c: Likewise.
39638
39639 2009-09-19  Jim Meyering  <meyering@redhat.com>
39640
39641         syntax-check: detect unnecessary inclusion of canonicalize.h
39642         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39643
39644 2009-09-19  Eric Blake  <ebb9@byu.net>
39645
39646         canonicalize-lgpl: adjust clients to use correct header
39647         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39648         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39649         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39650         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39651         * lib/progreloc.c (includes): Likewise.
39652
39653 2009-09-19  Jim Meyering  <meyering@redhat.com>
39654
39655         test-posixtm.c: correct a comment
39656         * tests/test-posixtm.c: Correct first-line comment.
39657         Spotted by Eric Blake.
39658
39659 2009-09-16  Jim Meyering  <meyering@redhat.com>
39660
39661         posixtm-tests: make T const-correct; add a test case
39662         * tests/test-posixtm.c (T): Declare const.
39663         Add a test for -(2^31+1).
39664         Remove useless can-succeed-only-in-2002 test.
39665
39666         posixtm-tests: adjust the sole failing test
39667         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39668         expected output matches what mktime now produces.  Cross-checked via
39669         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39670
39671         posixtm: move #ifdef'd tests into a new module
39672         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39673         * tests/test-posixtm.c: ... this new file.
39674         * modules/posixtm-tests: New module.
39675
39676 2009-09-19  Eric Blake  <ebb9@byu.net>
39677
39678         openat: simplify use of at-func.c
39679         * lib/at-func.c (includes): Include prerequisites here, to
39680         simplify requirements on client files.
39681         * lib/openat-priv.h: Add double-inclusion guard.
39682         * lib/faccessat.c (includes): Simplify.
39683         * lib/fchmodat.c (includes): Likewise.
39684         * lib/fchownat.c (includes): Likewise.
39685         * lib/mkdirat.c (includes): Likewise.
39686         * lib/mkfifoat.c (includes): Likewise.
39687         * lib/symlinkat.c (includes): Likewise.
39688
39689         openat: allow return of fd 0
39690         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39691         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39692         unistd-safer.
39693         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39694         <fcntl.h>; this module does not leak fds.
39695         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39696         must be allowed to return 0, leaving openat_safer to add the
39697         safety.
39698         (openat_permissive): Avoid writing to just-opened fd 2 if
39699         restoring the current directory fails.
39700         * lib/openat-die.c (openat_restore_fail): Add comment.
39701         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39702         (save_cwd): Guarantee safe fd, but without use of open_safer.
39703         * tests/test-openat.c: New test.
39704         * modules/openat-tests (Files, Makefile.am): Distribute and build
39705         new file.
39706
39707         relocatable-prog-wrapper: fix build
39708         * modules/relocatable-prog-wrapper (Files): Update name of
39709         canonicalize m4 file, broken on 2009-09-17.
39710         Reported by emad hajjar <aleppos@hotmail.com>.
39711
39712 2009-09-19  Bruno Haible  <bruno@clisp.org>
39713
39714         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39715         * lib/safe-alloc.c: Likewise.
39716         Reported by Ian Beckwith <ianb@erislabs.net>.
39717
39718 2009-09-18  Bruno Haible  <bruno@clisp.org>
39719
39720         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39721         Reported by <erobles@sensacd.com.mx>.
39722
39723 2009-09-17  Eric Blake  <ebb9@byu.net>
39724
39725         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39726         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39727         slashes when checking if last component is missing.
39728         * tests/test-canonicalize.c (main): Test this.
39729
39730         canonicalize, canonicalize-lgpl: honor // if distinct from /
39731         * modules/canonicalize (Files): Add double-slash-root.m4.
39732         * modules/canonicalize-lgpl (Files): Likewise.
39733         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39734         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39735         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39736         fallback definition.
39737         (canonicalize_filename_mode): Use it to protect //.
39738         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39739         (__realpath): Likewise.
39740         * tests/test-canonicalize.c (main): Test this.
39741         * tests/test-canonicalize-lgpl.c (main): Likewise.
39742         * modules/canonicalize-tests (Depends-on): Add same-inode.
39743         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39744
39745         canonicalize-lgpl: fix glibc bug with trailing slash
39746         * m4/canonicalize-lgpl.m4: Move contents...
39747         * m4/canonicalize.m4: ...here.
39748         (gl_CANONICALIZE_LGPL): Factor realpath check...
39749         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39750         glibc 2.3.5 bug, fixed 2005-04-27.
39751         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39752         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39753         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39754         * modules/canonicalize-lgpl (Files): Manage file rename.
39755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39756         * modules/stdlib (Makefile.am): Substitute witness.
39757         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39758         is needed.
39759         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39760         replacement is required.
39761         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39762         * doc/glibc-functions/canonicalize_file_name.texi
39763         (canonicalize_file_name): Document this.
39764         * doc/posix-functions/realpath.texi (realpath): Likewise.
39765
39766         canonicalize-lgpl: reject non-directory with trailing slash
39767         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39768         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39769         catches failures in glibc 2.3.5.
39770         * tests/test-canonicalize.c (main): Likewise.
39771
39772         canonicalize-lgpl: use native realpath if it works
39773         * lib/canonicalize-lgpl.c (realpath): Guard with
39774         FUNC_REALPATH_WORKS.
39775         * lib/stdlib.in.h (realpath): Make declaration optional based on
39776         HAVE_REALPATH.
39777         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39778         native realpath works.
39779         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39780         * modules/stdlib (Makefile.am): Substitute witness.
39781
39782         canonicalize, canonicalize-lgpl: use <stdlib.h>
39783         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39784         (Include): Mention <stdlib.h>.
39785         (configure.ac): Mention functions we provide.
39786         * modules/canonicalize (configure.ac): Likewise.
39787         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39788         realpath if canonicalize_file_name is missing.
39789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39790         * modules/stdlib (Makefile.am): Substitute witnesses.
39791         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39792         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39793         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39794         * NEWS: Document this.
39795         * doc/glibc-functions/canonicalize_file_name.texi
39796         (canonicalize_file_name): Likewise.
39797         * doc/posix-functions/realpath.texi (realpath): Likewise.
39798         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39799
39800         test-canonicalize: consolidate into single C program
39801         * tests/test-canonicalize.sh: Delete; move setup into...
39802         * tests/test-canonicalize.c (main): ...the program, making it
39803         easier to run in debugger.  Add some tests.
39804         * modules/canonicalize-tests (Files): Remove unused file.
39805         (Depends-on): Add progname.
39806         (configure.ac, Makefile.am): Simplify.
39807
39808         test-canonicalize-lgpl: consolidate into single C program
39809         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39810         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39811         easier to run in debugger.  Add some tests.
39812         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39813         (configure.ac, Makefile.am): Simplify.
39814
39815         canonicalize: avoid resolvepath
39816         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39817         unnecessary checks.
39818         * lib/canonicalize.c (includes): Simplify.
39819         (canonicalize_file_name): Drop resolvepath implementation.
39820         * modules/canonicalize (Depends-on): Drop filenamecat.
39821
39822         canonicalize: don't lose errno
39823         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39824         over calls to free.
39825
39826         canonicalize: simplify errno handling
39827         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39828         assignment.
39829
39830         canonicalize, canonicalize-lgpl: update module dependencies
39831         * modules/canonicalize (Depends-on): Add extensions, lstat,
39832         pathmax, stdlib.
39833         (Files): Drop pathmax.h.
39834         (configure.ac): Adjust macro name.
39835         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39836         lstat, stdlib, sys_stat.
39837         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39838         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39839         extensions.
39840         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39841         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39842         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39843         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39844         declaration, if available.
39845         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39846         we can rely on the readlink module.
39847         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39848         (includes): Use <unistd.h> unconditionally.
39849
39850 2009-09-17  Eric Blake  <ebb9@byu.net>
39851
39852         maint: make Include sections of modules consistent
39853         * modules/alloca: Use only header name; no need to list #include.
39854         * modules/alloca-opt: Likewise.
39855         * modules/arpa_inet: Likewise.
39856         * modules/canon-host: Likewise.
39857         * modules/configmake: Likewise.
39858         * modules/dirent: Likewise.
39859         * modules/eealloc: Likewise.
39860         * modules/environ: Likewise.
39861         * modules/fchdir: Likewise.
39862         * modules/fcntl: Likewise.
39863         * modules/fcntl-h: Likewise.
39864         * modules/gethrxtime: Likewise.
39865         * modules/gettime: Likewise.
39866         * modules/ignore-value: Likewise.
39867         * modules/inet_ntop: Likewise.
39868         * modules/inet_pton: Likewise.
39869         * modules/inttypes: Likewise.
39870         * modules/isnand-nolibm: Likewise.
39871         * modules/isnanf-nolibm: Likewise.
39872         * modules/mbchar: Likewise.
39873         * modules/mbfile: Likewise.
39874         * modules/mbiter: Likewise.
39875         * modules/mbuiter: Likewise.
39876         * modules/netdb: Likewise.
39877         * modules/netinet_in: Likewise.
39878         * modules/nproc: Likewise.
39879         * modules/pagealign_alloc: Likewise.
39880         * modules/poll: Likewise.
39881         * modules/printf-frexp: Likewise.
39882         * modules/pthread: Likewise.
39883         * modules/putenv: Likewise.
39884         * modules/random_r: Likewise.
39885         * modules/relocatable-prog: Likewise.
39886         * modules/search: Likewise.
39887         * modules/select: Likewise.
39888         * modules/selinux-h: Likewise.
39889         * modules/settime: Likewise.
39890         * modules/signal: Likewise.
39891         * modules/size_max: Likewise.
39892         * modules/socklen: Likewise.
39893         * modules/ssize_t: Likewise.
39894         * modules/stdarg: Likewise.
39895         * modules/stdbool: Likewise.
39896         * modules/stddef: Likewise.
39897         * modules/stdint: Likewise.
39898         * modules/stdio: Likewise.
39899         * modules/stdlib: Likewise.
39900         * modules/string: Likewise.
39901         * modules/strings: Likewise.
39902         * modules/sys_file: Likewise.
39903         * modules/sys_ioctl: Likewise.
39904         * modules/sys_select: Likewise.
39905         * modules/sys_socket: Likewise.
39906         * modules/sys_stat: Likewise.
39907         * modules/sys_time: Likewise.
39908         * modules/sys_times: Likewise.
39909         * modules/sys_utsname: Likewise.
39910         * modules/sys_wait: Likewise.
39911         * modules/sysexits: Likewise.
39912         * modules/time: Likewise.
39913         * modules/times: Likewise.
39914         * modules/tmpfile: Likewise.
39915         * modules/trim: Likewise.
39916         * modules/unistd: Likewise.
39917         * modules/wchar: Likewise.
39918         * modules/wctype: Likewise.
39919
39920 2009-09-17  Bruno Haible  <bruno@clisp.org>
39921
39922         Make getdate.y compile on QNX and NetBSD 5 / i386.
39923         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39924         TIME_T_FITS_IN_LONG_INT.
39925         * lib/getdate.y (long_time_t): New type.
39926         (relative_time): Change type of 'seconds' field to long_time_t.
39927         (get_date): Update types of local variables. Check against overflow
39928         during conversion from long_time_t to time_t.
39929         Reported by Matt Kraai <kraai@ftbfs.org>
39930         and Hasso Tepper <hasso@netbsd.org>.
39931
39932 2009-09-17  Bruno Haible  <bruno@clisp.org>
39933
39934         * modules/COPYING: Update copyright years.
39935         * modules/README: Likeiwse.
39936         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39937         Reported by Ian Beckwith <ianb@erislabs.net>.
39938
39939 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39940
39941         * users.txt: Update references for gnuit package.
39942
39943 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39944
39945         * m4/getdelim.m4: Fix typo in copyright line.
39946
39947 2009-09-17  Bruno Haible  <bruno@clisp.org>
39948
39949         * lib/atoll.c: Use the standard header with GPL copyright.
39950         * lib/argz.in.h: Likewise.
39951         * lib/glob.c: Likewise.
39952         * lib/glob-libc.h: Likewise.
39953         * lib/random_r.c: Likewise.
39954         * lib/siglist.h: Likewise.
39955         * lib/strsignal.c: Likewise.
39956         Reported by Ian Beckwith <ianb@erislabs.net>.
39957
39958 2009-09-17  Eric Blake  <ebb9@byu.net>
39959
39960         rmdir: ensure correct dependency order
39961         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39962
39963 2009-09-17  Bruno Haible  <bruno@clisp.org>
39964
39965         Disable assertion that fails on NetBSD 5 / i386.
39966         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39967         Reported by Sam Steingold <sds@gnu.org>
39968         and Hasso Tepper <hasso@netbsd.org>.
39969
39970 2009-09-16  Eric Blake  <ebb9@byu.net>
39971
39972         unlinkdir: port to mingw
39973         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39974         on which no one can unlink a directory.
39975
39976         stdlib: sort witness names
39977         * modules/stdlib (Makefile.am): Sort replacements.
39978         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39979         * lib/stdlib.in.h: Likewise.
39980
39981         parse-duration-tests: avoid link failure
39982         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39983         LIBINTL.
39984         Reported by Tom G. Christensen.
39985
39986         openat-tests: ensure unlinkat behaves like rmdir
39987         * tests/test-rmdir.c (main): Factor guts...
39988         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39989         * modules/rmdir-tests (Files): Ship new file.
39990         * modules/openat-tests: New test.
39991         * tests/test-unlinkat.c: Likewise.
39992
39993         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39994         * modules/rmdir-errno (Status, Notice): Now obsolete.
39995
39996         rmdir: work around cygwin 1.5.x and mingw bugs
39997         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39998         * lib/rmdir.c (rmdir): Work around it.
39999         * modules/rmdir (Status, Notice): No longer obsolete.
40000         (Files): Add dos.m4.
40001         (Depends-on): Add unistd.
40002         (configure.ac): Set witnesses.
40003         (License): Relax to LGPLv2+.
40004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
40005         * modules/unistd (Makefile.am): Substitute witnesses.
40006         * lib/unistd.in.h (rmdir): Declare replacement.
40007         * doc/posix-functions/rmdir.texi (rmdir): Document this.
40008         * modules/rmdir-tests: New tests.
40009         * tests/test-rmdir.c: Likewise.
40010
40011 2009-09-15  Eric Blake  <ebb9@byu.net>
40012
40013         fchdir: improve use of replacement functions
40014         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
40015         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
40016         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
40017         REPLACE_CLOSEDIR.
40018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
40019         * modules/sys_stat (Makefile.am): Substitute correct witness.
40020         * modules/dirent (Makefile.am): Likewise.
40021         * modules/unistd (Makefile.am): Likewise.
40022         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
40023         * lib/unistd.in.h (dup): Likewise.
40024         * lib/sys_stat.in.h (fstat): Likewise.
40025
40026         maint: ignore gnulib-tool temp files
40027         * .gitignore: Ignore files created during gnulib-tool --test.
40028
40029 2009-09-13  Jim Meyering  <meyering@redhat.com>
40030
40031         posixtm: don't reject a time that specify "60" as the number of seconds
40032         * lib/posixtm.c (posixtime): The code to reject invalid dates
40033         would also reject a time specified with the .60 suffix.
40034         But POSIX allows that, in order to accommodate leap seconds.
40035         So don't reject it.
40036         (main): Adjust tests accordingly.
40037         * modules/posixtm (Depends-on): Add stpcpy.
40038
40039 2009-09-11  Jim Meyering  <meyering@redhat.com>
40040
40041         announce-gen: include [$release_type] in emitted Subject:
40042         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
40043         e.g., [stable] in the emitted Subject: line.
40044
40045 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40046
40047         Remove obsolete macros from several modules.
40048         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
40049         obsolete Autoconf macros with their modern counterparts.
40050         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
40051         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
40052         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
40053         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
40054         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
40055         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40056         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40057         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
40058         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
40059         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
40060         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
40061         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
40062         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
40063         * m4/sockets.m4 (gl_SOCKETS): Likewise.
40064         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
40065         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
40066         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
40067         * m4/time_r.m4 (gl_TIME_R): Likewise.
40068         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
40069         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
40070         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
40071
40072         Fix copyright header in build-aux scripts.
40073         * build-aux/git-version-gen: Fix copyright header to match GPLv3
40074         recommendation.
40075         * build-aux/ncftpput-ftp: Likewise.
40076         * build-aux/update-copyright: Likewise.
40077
40078 2009-09-09  Eric Blake  <ebb9@byu.net>
40079
40080         test-link: allow Linux choice of errno
40081         * tests/test-link.c (main): Relax test for alternate error.
40082
40083         strndup: fix improper m4 caching
40084         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
40085         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
40086         (gl_PREREQ_STRNDUP): Delete.
40087         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
40088         * modules/string (Makefile.am): Substitute it.
40089         * lib/string.in.h (strndup): Modernize prototype.
40090
40091         getcwd: port to mingw
40092         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
40093         different from the POSIX assumptions made throughout the getcwd
40094         module; fortunately, the mingw getcwd does not need replacement.
40095         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
40096         * modules/getcwd-tests: New test.
40097         * tests/test-getcwd.c: Likewise.
40098
40099         link: fix platform bugs
40100         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
40101         * lib/link.c (link): Work around them.  Fix related mingw bug.
40102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
40103         * modules/unistd (Makefile.am): Substitute it.
40104         * lib/unistd.in.h (link): Declare replacement.
40105         * doc/posix-functions/link.texi (link): Document this.
40106         * modules/link (Depends-on): Add strdup-posix, sys_stat.
40107
40108         test-link: consolidate into single C program, test more cases
40109         * tests/test-link.sh: Delete.
40110         * tests/test-link.c: Test more error conditions.  Exposes bugs on
40111         at least Cygwin and Solaris.
40112         * modules/link-tests (Files): Remove unused file.
40113         (Depends-on): Add errno, sys_stat.
40114         (Makefile.am): Simplify.
40115
40116 2009-09-08  Bruno Haible  <bruno@clisp.org>
40117
40118         Work around towlower, towupper bug on mingw.
40119         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
40120         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
40121         * doc/posix-functions/towlower.texi: Mention the mingw bug.
40122         * doc/posix-functions/towupper.texi: Likewise.
40123         Reported by Eric Blake.
40124
40125 2009-09-08  Jim Meyering  <meyering@redhat.com>
40126
40127         build: don't try to run autoheader if we don't use it
40128         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
40129         is not used in configure.ac.
40130
40131 2009-09-08  Eric Blake  <ebb9@byu.net>
40132
40133         euidaccess: fix compilation error
40134         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
40135
40136         rawmemchr: relax license
40137         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
40138         okay.
40139         Reported by Jim Meyering.
40140
40141         mkfifoat: new module
40142         * modules/mkfifoat: New file.
40143         * lib/mkfifoat.c: Likewise.
40144         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
40145         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40146         * modules/sys_stat (Makefile.am): Use them.
40147         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
40148         * MODULES.html.sh (File system functions): Mention module.
40149         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40150         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40151         * modules/mkfifoat-tests: New test.
40152         * tests/test-mkfifoat.c: Likewise.
40153
40154         strchrnul: relax license
40155         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
40156         okay.
40157         Reported by Jim Meyering.
40158
40159 2009-09-08  Eric Blake  <ebb9@byu.net>
40160
40161         fstatat: fix compilation on Solaris
40162         * lib/fstatat.c (includes): Add fcntl.h.
40163         Reported by Pádraig Brady.
40164
40165 2009-09-07  Eric Blake  <ebb9@byu.net>
40166
40167         rename: modernize replacement
40168         * modules/rename (Depends-on): Add stdio.
40169         (configure.ac): Declare witness.
40170         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
40171         stdio take care of replacement.
40172         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
40173         * modules/stdio (Makefile.am): Substitute them.
40174         * lib/stdio.in.h (rename): Declare replacement.
40175         * lib/rename.c (includes): Allow cross-compilation to non-windows
40176         machines.
40177         * doc/posix-functions/rename.texi (rename): Improve
40178         documentation.
40179
40180         stdio: sort witness names
40181         * modules/stdio (Makefile.am): Sort replacements.
40182         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40183         * lib/stdio.in.h: Likewise.
40184
40185         getcwd: minor cleanups
40186         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
40187         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
40188
40189         openat: provide more convenience names
40190         * modules/faccessat (configure.ac): Add C witness.
40191         * lib/unistd.in.h (readlinkat): Fix typo.
40192         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
40193         convenience wrappers.
40194         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
40195         wrappers in syntax checks.
40196
40197 2009-09-06  Eric Blake  <ebb9@byu.net>
40198
40199         doc: fix comments in recent patches
40200         * lib/faccessat.c: Mention correct function.
40201         * lib/fchmodat.c: Likewise.
40202         * lib/fchownat.c: Likewise.
40203         * lib/symlinkat.c: Likewise.
40204         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
40205         constants.
40206
40207         faccessat, symlinkat: continue cleanup of previous patch
40208         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
40209         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40210         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
40211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
40212         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
40213         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
40214         set.
40215
40216 2009-09-06  Bruno Haible  <bruno@clisp.org>
40217
40218         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
40219         (fstatat): Declare if GNULIB_FSTATAT is set.
40220         (mkdirat): Declare if GNULIB_MKDIRAT is set.
40221         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
40222         (unlinkat): Declare if GNULIB_UNLINKAT is set.
40223         * modules/fcntl-h (Files): Remove m4/openat.m4.
40224         * modules/sys_stat (Files): Remove m4/openat.m4.
40225         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
40226         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
40227         * modules/unistd (Files): Remove m4/openat.m4.
40228         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
40229         GNULIB_OPENAT.
40230         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
40231         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
40232         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
40233         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
40234         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40235         gl_OPENAT_DEFAULTS.
40236         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40237         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40238         Don't require gl_OPENAT_DEFAULTS.
40239         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40240         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40241         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40242         (gl_OPENAT_DEFAULTS): Remove macro.
40243
40244 2009-09-06  Bruno Haible  <bruno@clisp.org>
40245
40246         * modules/openat (configure.ac): Remove unneeded witness.
40247
40248 2009-09-06  Bruno Haible  <bruno@clisp.org>
40249
40250         Set errno to ENOSYS when a function is entirely unsupported.
40251         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40252         EOPNOTSUPP.
40253         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40254         * modules/chown (Depends-on): Remove errno.
40255
40256 2009-09-06  Bruno Haible  <bruno@clisp.org>
40257
40258         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40259
40260 2009-09-06  Bruno Haible  <bruno@clisp.org>
40261
40262         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40263
40264 2009-09-06  Ben Pfaff  <blp@gnu.org>
40265             Bruno Haible  <bruno@clisp.org>
40266
40267         Work around a glibc bug in strtok_r.
40268         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40269         Undefine if UNDEFINE_STRTOK_R is set.
40270         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40271         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40272         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40273         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40274         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40275         UNDEFINE_STRTOK_R.
40276         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40277
40278 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40279
40280         exclude: minor fix
40281         * lib/exclude.c: Include wctype.h
40282
40283 2009-09-06  Akim Demaille  <demaille@gostai.com>
40284
40285         bootstrap: improve error message
40286         * build-aux/bootstrap (find_tool): Upon failure, report the list
40287         of candidates.
40288         Honor the initial value of the envvar.
40289
40290 2009-09-05  Eric Blake  <ebb9@byu.net>
40291
40292         symlinkat: new module
40293         * modules/symlinkat: New file.
40294         * lib/symlinkat.c: Likewise.
40295         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40297         * modules/unistd (Makefile.am): Use them.
40298         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40299         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40300         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40301         * MODULES.html.sh (File system functions): Mention module.
40302         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40303         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40304         * modules/symlinkat-tests: New test.
40305         * tests/test-symlinkat.c: Likewise.
40306
40307         test-openat-safer: add more checks
40308         * tests/test-openat-safer.c (main): Check more code paths.
40309
40310 2009-09-05  Jim Meyering  <meyering@redhat.com>
40311
40312         syntax-check: detect unnecessary inclusion of openat.h
40313         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40314
40315 2009-09-05  Bruno Haible  <bruno@clisp.org>
40316
40317         Support towlower, towupper.
40318         * doc/posix-functions/towlower.texi: Mention module wctype.
40319         * doc/posix-functions/towupper.texi: Likewise.
40320         * lib/wctype.in.h (towlower, towupper): New functions.
40321         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40322         (ASSERT): New macro.
40323         (e): New variable.
40324         (main): Test also towlower, towupper. Test WEOF argument.
40325         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40326
40327 2009-09-05  Bruno Haible  <bruno@clisp.org>
40328
40329         Fix conversion behaviour when the input is invalid.
40330         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
40331         mark occurring in first pass of indirect conversion.
40332         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
40333         input.
40334         Found by clang's static analyzer.
40335
40336 2009-09-05  Bruno Haible  <bruno@clisp.org>
40337
40338         * tests/test-striconveh.c (main): Test indirect conversion on platforms
40339         where direct conversion is possible.
40340
40341 2009-09-04  Eric Blake  <ebb9@byu.net>
40342
40343         openat: fail with ENOENT on empty name
40344         * lib/openat-proc.c (openat_proc_name): Special-case the empty
40345         buffer.
40346
40347         link-follow: fix logic bug in prior patch
40348         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
40349         reversed sense of yes and no in prior patch.  Avoid confusing
40350         compilation failure with desired semantics.
40351
40352         link-follow: accomodate mingw and cross-compilation
40353         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40354         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40355         cross-compilation results to -1, to make linkat easier to
40356         implement when cross-compiling.  Trivially support mingw.
40357         * modules/link-follow (configure.ac): Call new name.
40358         * NEWS: Mention this.
40359
40360 2009-09-03  Eric Blake  <ebb9@byu.net>
40361
40362         faccessat: compile replacement
40363         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40364         needed.
40365
40366         fts: fix compilation error
40367         * lib/fts.c (includes): Re-add "openat.h", for
40368         openat_needs_fchdir.
40369
40370         faccessat: new module
40371         * modules/faccessat: New file.
40372         * lib/faccessat.c: Likewise.
40373         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40375         * modules/unistd (Makefile.am): Use it.
40376         * lib/unistd.in.h (faccessat): Declare it.
40377         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40378         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40379         * MODULES.html.sh (File system functions): Mention it.
40380         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40381         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40382
40383         euidaccess: prefer POSIX over non-standard implementation
40384         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40385         * lib/euidaccess.c (euidaccess): Use it if available.
40386
40387         openat: make template easier to use
40388         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40389         AT_FUNC_F2 to be undefined.
40390         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40391         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40392         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40393         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40394         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40395         Likewise.
40396         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40397         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40398         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40399         Likewise.
40400
40401         openat: declare in POSIX headers
40402         * NEWS: Mention this.
40403         * modules/openat (configure.ac): Declare witnesses.
40404         (Depends-on): Add fcntl-h, sys_stat, unistd.
40405         (Include): Mention correct headers.
40406         * modules/fcntl-h (Depends-on): Add link-warning.
40407         (Files): Add openat.m4.
40408         (Makefile.am): Substitute witnesses.
40409         * modules/sys_stat (Files, Makefile.am): Likewise.
40410         * modules/unistd (Files, Makefile.am): Likewise.
40411         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40412         (gl_OPENAT_DEFAULTS): New macro.
40413         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40415         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40416         (SYS_STAT_H): Remove unused variable.
40417         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40418         * lib/fcntl--.h (includes): Remove unneeded header.
40419         * lib/openat-safer.c (includes): Likewise.
40420         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40421         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40422         appropriate headers.
40423         (__OPENAT_PREFIX): Delete.
40424         * lib/fcntl.in.h (openat): Provide declaration.
40425         (AT_FDCWD): Fix Solaris bug.
40426         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40427         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40428         * lib/fchmodat.c (includes):  Adjust to find declaration.
40429         * lib/fchownat.c (includes): Likewise.
40430         * lib/mkdirat.c (includes): Likewise.
40431         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40432         still visible.
40433
40434 2009-09-02  Eric Blake  <ebb9@byu.net>
40435
40436         errno: use consistently
40437         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40438         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40439         * lib/canonicalize.c (ELOOP): Likewise.
40440         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40441         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40442         * lib/lchown.c (EOPNOTSUPP): Likewise.
40443         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40444         * lib/savewd.c (ESTALE): Likewise.
40445         * lib/settime.c (ENOSYS): Likewise.
40446         * lib/utimens.c (ENOSYS): Likewise.
40447         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40448         * lib/chdir-safer.c (ELOOP): Likewise.
40449         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40450         * modules/c-stack (Depends-on): Add errno.
40451         * modules/canonicalize (Depends-on): Likewise.
40452         * modules/chdir-safer (Depends-on): Likewise.
40453         * modules/fdopendir (Depends-on): Likewise.
40454         * modules/inet_ntop (Depends-on): Likewise.
40455         * modules/inet_pton (Depends-on): Likewise.
40456         * modules/lchown (Depends-on): Likewise.
40457         * modules/openat (Depends-on): Likewise.
40458         * modules/savewd (Depends-on): Likewise.
40459         * modules/settime (Depends-on): Likewise.
40460         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40461
40462         fts: avoid leaking fds
40463         * modules/fts (Depends-on): Add cloexec.
40464         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40465         flag.
40466
40467         fts: make directory fds more robust
40468         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40469         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40470
40471         backupfile, chdir-long, fts, savedir: make safer
40472         * lib/backupfile.c (includes): Use "dirent--.h", since
40473         numbered_backup can write to stderr during readdir.
40474         * lib/savedir.c (includes): Likewise.
40475         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40476         emulation can write to stderr on failure.
40477         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40478         * lib/getcwd.c: Document why opendir_safer is unused.
40479         * lib/glob.c: Likewise.
40480         * lib/scandir.c: Likewise.
40481         * lib/openat-proc.c: Likewise, for open_safer.
40482         * modules/backupfile (Depends-on): Add dirent-safer.
40483         * modules/savedir (Depends-on): Likewise.
40484         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40485         * modules/chdir-long (Depends-on): Add openat-safer.
40486
40487         openat-safer: new module
40488         * modules/openat-safer: New file.
40489         * lib/openat-safer.c: Likewise.
40490         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40491         * lib/fcntl-safer.h (openat_safer): Declare.
40492         * lib/fcntl--.h (openat): Override.
40493         * MODULES.html.sh (File descriptor based I/O): Mention it.
40494         * lib/openat.h: Add double-inclusion guards.
40495         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40496         "fcntl--.h", so we can implement openat.
40497         * modules/openat-safer-tests: New test.
40498         * tests/test-openat-safer.c: New file.
40499
40500         dirent-safer: new module
40501         * modules/dirent-safer: New file.
40502         * lib/dirent--.h: Likewise.
40503         * lib/dirent-safer.h: Likewise.
40504         * lib/opendir-safer.c: Likewise.
40505         * m4/dirent-safer.m4: Likewise.
40506         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40507         * modules/dirent-safer-tests: New test.
40508         * tests/test-dirent-safer.c: New file.
40509         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40510
40511         fdopendir: optimize on mingw
40512         * lib/unistd.in.h (_gl_directory_name): New prototype.
40513         * lib/fchdir.c (_gl_directory_name): Implement it.
40514         (fchdir): Use it to simplify implementation.
40515         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40516         fchdir, when available, to avoid calling [f]chdir().
40517
40518         fdopendir: split into its own module
40519         * lib/openat.c (fdopendir): Move...
40520         * lib/fdopendir.c: ...into new file.
40521         * modules/fdopendir: New module.
40522         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40523         * modules/openat (Depends-on): Add fdopendir.
40524         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40525         fdopendir here.
40526         * modules/savedir (Depends-on): Only need fdopendir, not full
40527         openat.
40528         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40529         * lib/openat.h (fdopendir): Drop prototype.
40530         * lib/dirent.in.h (fdopendir): Provide prototype.
40531         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40532         * modules/dirent (Makefile.am): Substitute them.
40533         * MODULES.html.sh (File system functions): Mention it.
40534         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40535         * modules/fdopendir-tests: New file.
40536         * tests/test-fdopendir.c: Likewise.
40537
40538         fchdir: use more consistent macro convention
40539         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40540         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40541         REPLACE_FCHDIR, rather than relying on config.h macros.
40542         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40543         inside a single make-time REPLACE_FCHDIR block, rather than using
40544         the config.h FCHDIR_REPLACEMENT.
40545         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40546         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40547         Manage fstat replacement.
40548         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40549         REPLACE_FCHDIR.
40550         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40551         (Makefile.am): Substitute REPLACE_FCHDIR.
40552         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40553         FCHDIR_REPLACEMENT.
40554         * lib/dup-safer.c (dup_safer): Likewise.
40555         * lib/dup2.c (rpl_dup2): Likewise.
40556         * lib/dup3.c (rpl_dup3): Likewise.
40557         * lib/open.c (rpl_open): Likewise.
40558
40559         fchdir: simplify error handling, and support dup3
40560         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40561         stdbool, malloc-posix, realloc-posix.
40562         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40563         (ensure_dirs_slot): Return false on allocation failure.
40564         (rpl_dup2): Delete.
40565         (_gl_register_dup): New function.
40566         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40567         (_gl_register_fd): Close fd on allocation failure.
40568         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40569         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40570         prototype.
40571         (rpl_dup2_fchdir): Delete prototype.
40572         * lib/open.c (open): Update caller.
40573         * lib/dup2.c (dup2): Track fchdir metadata.
40574         * lib/dup3.c (dup3): Likewise.
40575         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40576         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40577
40578 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40579
40580         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40581         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40582         don't pass arguments to AC_OUTPUT.
40583
40584 2009-09-02  Bruno Haible  <bruno@clisp.org>
40585
40586         * modules/mkdtemp (License): Relicense under LGPLv2+.
40587         Reported by Paolo Bonzini.
40588
40589 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40590
40591         Replace uses of obsolete autoconf macros in Jim's modules.
40592         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40593         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40594         can evoke a warning from autoconf when run with -Wobsolete
40595         enabled.  They were declared obsolete for good reasons (see
40596         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40597         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40598         should not continue using the deprecated macros.
40599         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40600         obsolete Autoconf macros with modern counterparts.
40601         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40602         * m4/dos.m4 (gl_AC_DOS): Likewise.
40603         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40604         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40605         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40606         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40607         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40608         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40609         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40610         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40611         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40612         Likewise.
40613         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40614         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40615         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40616         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40617         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40618         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40619
40620 2009-09-01  Eric Blake  <ebb9@byu.net>
40621
40622         fchdir: fix off-by-one bug in previous patch
40623         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40624         (_gl_unregister_fd): Delete useless if.
40625
40626 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40627
40628         maint.mk: sort the list of syntax-check rules
40629         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40630         easier to get a sense of progress when the rules are run sequentially
40631         and take a long time.
40632
40633 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40634
40635         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40636         * modules/netinet_in: Likewise.
40637         * modules/sys_file: Likewise.
40638         * modules/sys_ioctl: Likewise.
40639         * modules/sys_select: Likewise.
40640         * modules/sys_socket: Likewise.
40641         * modules/sys_stat: Likewise.
40642         * modules/sys_time: Likewise.
40643         * modules/sys_times: Likewise.
40644         * modules/sys_utsname: Likewise.
40645         * modules/sys_wait: Likewise.
40646
40647 2009-09-01  Jim Meyering  <meyering@redhat.com>
40648
40649         fts: help ensure that return values are not ignored
40650         * lib/fts_.h (__GNUC_PREREQ): Define.
40651         (__attribute_warn_unused_result__): Define.
40652         (fts_children, fts_close, fts_open, fts_read): Declare with
40653         __attribute_warn_unused_result__.
40654
40655         fts: fts_close now fails also when closing a dir file descriptor fails
40656         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40657         and propagate to caller, along with errno.
40658
40659         announce-gen: correct formatting in --help output
40660         * build-aux/announce-gen (usage): Move the one-line description in
40661         --help output "up", to where it belongs, just after Usage:.
40662
40663 2009-08-31  Eric Blake  <ebb9@byu.net>
40664
40665         fchdir: port to mingw
40666         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40667         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40668         opened, then use a substitute.
40669         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40670         replacement.
40671         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40672         (_gl_register_fd): No need to check stat if open already filters
40673         all directories.
40674         (fchdir): Fix error condition to match POSIX.
40675         * modules/fchdir (Depends-on): Add sys_stat.
40676         * doc/posix-functions/open.texi (open): Document the limitation.
40677         * modules/fchdir-tests: New file.
40678         * tests/test-fchdir.c: Likewise.
40679
40680         canonicalize: allow cross-testing from cygwin to mingw
40681         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40682         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40683         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40684         Likewise.
40685         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40686         target does not support symlinks.
40687         * tests/test-canonicalize-lgpl.sh: Likewise.
40688
40689         chown: avoid compilation warning on mingw
40690         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40691         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40692         mingw.
40693         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40694         * modules/chown (Depends-on): Add errno.
40695
40696 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40697
40698         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40699         command.
40700
40701 2009-08-31  Jim Meyering  <meyering@redhat.com>
40702
40703         canonicalize: remove useless initialization
40704         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40705         initialization of local, "end".
40706
40707 2009-08-30  Bruno Haible  <bruno@clisp.org>
40708
40709         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40710         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40711         ENOSYS.
40712
40713 2009-08-30  Bruno Haible  <bruno@clisp.org>
40714
40715         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40716         /usr/xpg4/bin/tr when it exists.
40717         * tests/test-pipe-filter-gi1.sh: Likewise.
40718
40719 2009-08-30  Bruno Haible  <bruno@clisp.org>
40720
40721         Work around deficient /usr/bin/id program on Solaris.
40722         * tests/test-file-has-acl.sh (ID): New variable.
40723         * tests/test-set-mode-acl.sh (ID): Likewise.
40724         * tests/test-copy-acl.sh (ID): Likewise.
40725         * tests/test-copy-file.sh (ID): Likewise.
40726
40727 2009-08-30  Bruno Haible  <bruno@clisp.org>
40728
40729         New module 'xstriconveh'.
40730         * lib/xstriconveh.h: New file.
40731         * lib/xstriconveh.c: New file.
40732         * modules/xstriconveh: New file.
40733
40734 2009-08-30  Bruno Haible  <bruno@clisp.org>
40735
40736         Make it easier to use mem_cd_iconveh.
40737         * lib/striconveh.h (iconveh_t): New type.
40738         (iconveh_open, iconveh_close): New declarations.
40739         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40740         with a single 'const iconveh_t *' argument.
40741         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40742         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40743         with a single 'const iconveh_t *' argument.
40744         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40745         * tests/test-striconveh.c (main): Update.
40746         * NEWS: Mention the change.
40747
40748 2009-08-30  Bruno Haible  <bruno@clisp.org>
40749
40750         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40751         problem.
40752
40753 2009-08-30  Bruno Haible  <bruno@clisp.org>
40754
40755         Work around iconv_open problem on Solaris.
40756         * lib/iconv_open-solaris.gperf: New file.
40757         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40758         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40759         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40760         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40761         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40762         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40763
40764 2009-08-29  Jim Meyering  <meyering@redhat.com>
40765
40766         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40767         * top/maint.mk (cvs-check): Remove target; it was just an alias
40768         to the better-named vc-diff-check.
40769         (maintainer-distcheck): Remove rule.  It was used only from
40770         the (alpha/beta/major) target, and all of its commands but one
40771         were coreutils-specific.
40772         (vc-dist): Remove rule.
40773         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40774         Run vc-diff-check, not vc-dist.
40775         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40776
40777 2009-08-27  Bruno Haible  <bruno@clisp.org>
40778
40779         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40780         of 0.
40781
40782 2009-08-27  Bruno Haible  <bruno@clisp.org>
40783
40784         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40785         compilers.
40786         * doc/func.texi: Document the SunPRO C bug.
40787
40788 2009-08-27  Bruno Haible  <bruno@clisp.org>
40789
40790         Fix link error on Solaris.
40791         * tests/test-parse-duration.c (xstrdup): Remove function.
40792
40793 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40794
40795         ignore-value: handle pointer types, too
40796         * lib/ignore-value.h (__attribute__): Remove definition.
40797         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40798         of a more concise and more-often effective "(void) i" statement.
40799         (ignore_ptr): New function to suppress warnings from functions that
40800         return pointers, and to make it explicit that one function doesn't
40801         handle all cases.
40802
40803 2009-08-25  Bruno Haible  <bruno@clisp.org>
40804
40805         dup2: work around a Linux bug.
40806         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40807         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40808         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40809         Reported by Simon Josefsson.
40810
40811 2009-08-25  Jim Meyering  <meyering@redhat.com>
40812
40813         libguestfs uses gnulib
40814         * users.txt: Add libguestfs.
40815
40816 2009-08-24  Eric Blake  <ebb9@byu.net>
40817
40818         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40819         * lib/pipe2.c (includes): Add binary-io.h.
40820         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40821
40822 2009-08-24  Bruno Haible  <bruno@clisp.org>
40823
40824         Tolerate declared but missing accept4 syscall.
40825         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40826         available.
40827         * lib/sys_socket.in.h (accept4): If the function is already present,
40828         override it.
40829         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40830         * modules/accept4 (Makefile.am): Compile accept4.c always.
40831         Reported by Paolo Bonzini and Eric Blake.
40832
40833 2009-08-23  Bruno Haible  <bruno@clisp.org>
40834
40835         New module 'accept4'.
40836         * lib/sys_socket.in.h (accept4): New declaration.
40837         * lib/accept4.c: New file.
40838         * m4/accept4.m4: New file.
40839         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40840         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40841         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40842         HAVE_ACCEPT4.
40843         * modules/accept4: New file.
40844         * doc/glibc-functions/accept4.texi: Mention the new module.
40845
40846 2009-08-24  Jim Meyering  <meyering@redhat.com>
40847
40848         progname: also set global program_invocation_name, when possible
40849         Before this change, a libtool-enabled program that calls glibc's
40850         error function would report the program name as
40851         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40852         * modules/progname (configure.ac): Check for a declaration of
40853         program_invocation_name.
40854         * lib/progname.c:  Include <errno.h>.
40855         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40856         Set program_invocation_name.
40857
40858 2009-08-23  Bruno Haible  <bruno@clisp.org>
40859
40860         * lib/dup3.c: Include <string.h>.
40861
40862 2009-08-23  Bruno Haible  <bruno@clisp.org>
40863
40864         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40865         * lib/pipe2.c (pipe2): Likewise.
40866         Suggested by Eric Blake.
40867
40868 2009-08-23  Bruno Haible  <bruno@clisp.org>
40869
40870         Tolerate declared but missing dup3 syscall.
40871         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40872         * lib/unistd.in.h (dup3): If the function is already present,
40873         override it.
40874         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40875         * modules/dup3 (Makefile.am): Compile dup3.c always.
40876         Reported by Paolo Bonzini.
40877
40878 2009-08-23  Bruno Haible  <bruno@clisp.org>
40879
40880         Tolerate declared but missing pipe2 syscall.
40881         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40882         available.
40883         * lib/unistd.in.h (pipe2): If the function is already present,
40884         override it.
40885         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40886         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40887         Reported by Paolo Bonzini.
40888
40889 2009-08-23  Bruno Haible  <bruno@clisp.org>
40890
40891         * lib/pipe2.c (pipe2): Move #ifs inside function.
40892
40893 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40894
40895         quotearg: document limitations of quote_these_too
40896         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40897         those limitations are created.
40898         * lib/quotearg.h (set_char_quoting): Document that digits and
40899         letters that are special after backslash are not permitted.
40900         (quotearg_char): Cross-reference set_char_quoting documentation.
40901
40902 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40903
40904         quotearg: implement custom_quoting_style
40905         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40906         right_quote fields.
40907         (set_custom_quoting): New public function.
40908         (quotearg_buffer_restyled): Add left_quote and right_quote
40909         arguments, handle them very much like locale quoting, and update
40910         all uses.
40911         (quotearg_n_custom): New public function.
40912         (quotearg_n_custom_mem): New public function.
40913         (quotearg_custom): New public function.
40914         (quotearg_custom_mem): New public function.
40915         * lib/quotearg.h: Prototype and document new public functions.
40916         (enum quoting_style): For escape_quoting_style and
40917         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40918         ignored even though they're otherwise like c_quoting_style.
40919         Add custom_quoting_style member and document with comparison to
40920         clocale_quoting_style.
40921         * tests/test-quotearg.c (custom_quotes): New array.
40922         (custom_results): New array.
40923         (main): Extend to test custom quoting.
40924
40925 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40926
40927         quotearg: fix right quote escaping when it's in quote_these_too
40928         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40929         quote, be sure to prepend only one backslash.
40930         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40931         (main): Test it.
40932
40933 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40934
40935         quotearg-tests: test escaping of embedded locale quotes
40936         * tests/test-quotearg.c (struct result_strings): Add member for
40937         new input.
40938         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40939         (inputs): Add new input.
40940         (results_g): Add expected results.
40941         (flag_results): Likewise.
40942         (locale_results): Likewise.
40943         (compare_strings): Check those.
40944
40945 2009-08-23  Bruno Haible  <bruno@clisp.org>
40946
40947         Tests for module 'dup3'.
40948         * modules/dup3-tests: New file.
40949         * tests/test-dup3.c: New file.
40950
40951         New module 'dup3'.
40952         * lib/unistd.in.h (dup3): New declaration.
40953         * lib/dup3.c: New file.
40954         * m4/dup3.m4: New file.
40955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40956         HAVE_DUP3.
40957         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40958         * modules/dup3: New file.
40959         * doc/glibc-functions/dup3.texi: Mention the new module.
40960
40961 2009-08-23  Bruno Haible  <bruno@clisp.org>
40962
40963         Tweak the dup2 test.
40964         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40965         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40966         the test file is still empty. Fix argument order of lseek.
40967
40968 2009-08-23  Bruno Haible  <bruno@clisp.org>
40969
40970         Avoid test link errors when the modules getopt-gnu, gettext are used.
40971         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40972         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40973
40974 2009-08-23  Bruno Haible  <bruno@clisp.org>
40975
40976         Fix getdtablesize() on mingw.
40977         * lib/getdtablesize.c (getdtablesize): Implement differently.
40978         * lib/unistd.in.h (getdtablesize): Improve comment.
40979
40980 2009-08-23  Bruno Haible  <bruno@clisp.org>
40981
40982         New module 'mkostemp'.
40983         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40984         * lib/stdlib.in.h (mksotemp): New declaration.
40985         * lib/mkostemp.c: New file, from glibc with modifications.
40986         * lib/tempname.h (GT_FILE): Remove outdated comment.
40987         (gen_tempname): Add flags argument.
40988         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40989         (__GT_FILE): Map to 1.
40990         (small_open, large_open): Remove macros.
40991         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40992         * lib/mkstemp.c (mkstemp): Update.
40993         * lib/mkdtemp.c (mkdtemp): Likewise.
40994         * m4/mkostemp.m4: New file.
40995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40996         HAVE_MKOSTEMP.
40997         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40998         HAVE_MKOSTEMP.
40999         * modules/mkostemp: New file, based on modules/mkstemp.
41000         * doc/glibc-functions/mkostemp.texi: Mention the new module.
41001         * NEWS: Mention the change.
41002
41003 2009-08-23  Bruno Haible  <bruno@clisp.org>
41004
41005         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
41006         Reported by Eric Blake.
41007
41008 2009-08-23  Bruno Haible  <bruno@clisp.org>
41009
41010         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
41011         Reported by Eric Blake.
41012
41013 2009-08-23  Bruno Haible  <bruno@clisp.org>
41014
41015         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
41016         * modules/pipe2 (Depends-on): Likewise.
41017
41018 2009-08-23  Eric Blake  <ebb9@byu.net>
41019
41020         fcntl-h: add O_TTY_INIT support
41021         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
41022         * tests/test-fcntl-h.c (o): Test it.
41023         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41024
41025         fcntl-h: rename from fcntl, in preparation for fcntl(2)
41026         * modules/fcntl: Move <fcntl.h> header replacement...
41027         * modules/fcntl-h: ...to new name, so as not to collide with
41028         like-named function.
41029         * tests/test-fcntl.c: Rename...
41030         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
41031         * modules/fcntl-tests: Rename...
41032         * modules/fcntl-h-tests: ...to this.  Update test file name.
41033         * modules/chdir-long (Depends-on): Update clients.
41034         * modules/chdir-safer (Depends-on): Likewise.
41035         * modules/fcntl-safer (Depends-on): Likewise.
41036         * modules/fts (Depends-on): Likewise.
41037         * modules/mkancesdirs (Depends-on): Likewise.
41038         * modules/mkdir-p (Depends-on): Likewise.
41039         * modules/open (Depends-on): Likewise.
41040         * modules/savewd (Depends-on): Likewise.
41041         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
41042         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41043
41044 2009-08-22  Bruno Haible  <bruno@clisp.org>
41045
41046         * modules/binary-io (License): Relicense under LGPL.
41047         * modules/pipe2 (License): Likewise.
41048
41049 2009-08-22  Bruno Haible  <bruno@clisp.org>
41050
41051         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
41052         return value.
41053         * lib/pipe-filter-gi.c (filter_init): Likewise.
41054         Reported by Eric Blake.
41055
41056 2009-08-22  Bruno Haible  <bruno@clisp.org>
41057
41058         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
41059         * modules/pipe (Depends-on): Add pipe2.
41060
41061 2009-08-22  Bruno Haible  <bruno@clisp.org>
41062
41063         Tests for module 'pipe2'.
41064         * modules/pipe2-tests: New file.
41065         * tests/test-pipe2.c: New file.
41066
41067         New module 'pipe2'.
41068         * lib/unistd.in.h (pipe2): New declaration.
41069         * lib/pipe2.c: New file.
41070         * m4/pipe2.m4: New file.
41071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
41072         HAVE_PIPE2.
41073         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
41074         * modules/pipe2: New file.
41075         * doc/glibc-functions/pipe2.texi: Mention the new module.
41076
41077 2009-08-22  Bruno Haible  <bruno@clisp.org>
41078
41079         Reference some new glibc functions.
41080         * doc/glibc-functions/accept4.texi: New file.
41081         * doc/glibc-functions/dup3.texi: New file.
41082         * doc/glibc-functions/mkostemp.texi: New file.
41083         * doc/glibc-functions/pipe2.texi: New file.
41084         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
41085         (Glibc sys/socket.h): Refer to accept4.
41086         (Glibc unistd.h): Refer to dup3, pipe2.
41087         Reported by Eric Blake.
41088
41089 2009-08-22  Jim Meyering  <meyering@redhat.com>
41090             Bruno Haible  <bruno@clisp.org>
41091
41092         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
41093         This makes it so packages using automake-1.11's silent-rules option
41094         can print e.g., a single "GEN    configmake.h" line, rather than
41095         the 30+ statements that perform the job.  If you want to see the
41096         actual commands, you can still run "make V=1".
41097         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
41098         so that make output is abbreviated when those variables are defined
41099         appropriately.
41100         * modules/argz: Likewise.
41101         * modules/arpa_inet: Likewise.
41102         * modules/byteswap: Likewise.
41103         * modules/configmake: Likewise.
41104         * modules/dirent: Likewise.
41105         * modules/errno: Likewise.
41106         * modules/fcntl: Likewise.
41107         * modules/float: Likewise.
41108         * modules/fnmatch: Likewise.
41109         * modules/getopt-posix: Likewise.
41110         * modules/glob: Likewise.
41111         * modules/iconv_open: Likewise.
41112         * modules/inttypes: Likewise.
41113         * modules/localcharset: Likewise.
41114         * modules/locale: Likewise.
41115         * modules/math: Likewise.
41116         * modules/netdb: Likewise.
41117         * modules/netinet_in: Likewise.
41118         * modules/poll: Likewise.
41119         * modules/posix_spawnp-tests: Likewise.
41120         * modules/sched: Likewise.
41121         * modules/search: Likewise.
41122         * modules/selinux-h: Likewise.
41123         * modules/signal: Likewise.
41124         * modules/spawn: Likewise.
41125         * modules/stdarg: Likewise.
41126         * modules/stdbool: Likewise.
41127         * modules/stddef: Likewise.
41128         * modules/stdint: Likewise.
41129         * modules/stdio: Likewise.
41130         * modules/stdlib: Likewise.
41131         * modules/string: Likewise.
41132         * modules/strings: Likewise.
41133         * modules/sys_file: Likewise.
41134         * modules/sys_ioctl: Likewise.
41135         * modules/sys_select: Likewise.
41136         * modules/sys_socket: Likewise.
41137         * modules/sys_stat: Likewise.
41138         * modules/sys_time: Likewise.
41139         * modules/sys_times: Likewise.
41140         * modules/sys_utsname: Likewise.
41141         * modules/sys_wait: Likewise.
41142         * modules/sysexits: Likewise.
41143         * modules/time: Likewise.
41144         * modules/unistd: Likewise.
41145         * modules/wchar: Likewise.
41146         * modules/wctype: Likewise.
41147
41148 2009-08-22  Jim Meyering  <meyering@redhat.com>
41149
41150         announce-gen: detect write failure
41151         * build-aux/announce-gen: Add Coda at end.
41152         Remove equivalent-but-more-verbose block at top.
41153
41154 2009-08-19  Akim Demaille  <demaille@gostai.com>
41155
41156         bootstrap: --help to stdout.
41157         * bootstrap (usage): Don't send --help to stderr.
41158         Use a here doc instead of a long string.
41159
41160 2009-08-21  Eric Blake  <ebb9@byu.net>
41161
41162         test-popen-safer: split from test-popen
41163         * tests/test-popen.c (main): Move...
41164         * tests/test-popen.h: ...into new file.
41165         * tests/test-popen-safer2.c: New file.
41166         * modules/popen-tests (Files): Add test-popen.h.
41167         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
41168         Suggested by Bruno Haible.
41169
41170         test-fcntl-safer: split from test-open
41171         * tests/test-open.c (main): Move...
41172         * tests/test-open.h: ...into new file.
41173         * tests/test-fcntl-safer.c: New file.
41174         * modules/open-tests (Files): Add test-open.h.
41175         * modules/fcntl-safer-tests: New file.
41176         Suggested by Bruno Haible.
41177
41178         test-fopen-safer: split from test-fopen
41179         * tests/test-fopen.c (main): Move...
41180         * tests/test-fopen.h: ...into new file.
41181         * tests/test-fopen-safer.c: New file.
41182         * modules/fopen-tests (Files): Add test-fopen.h.
41183         * modules/fopen-safer-tests: New file.
41184         Suggested by Bruno Haible.
41185
41186 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41187
41188         popen-safer: test O_CLOEXEC at run-time.
41189         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
41190
41191 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41192
41193         fcntl: move more flags to the header
41194         * lib/cloexec.c: Do not define FD_CLOEXEC here.
41195         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
41196         * lib/fcntl.in.h: Do both things here.
41197
41198 2009-08-21  Jim Meyering  <meyering@redhat.com>
41199
41200         consistently remove $@-t before redirecting to it
41201         * modules/argz: Remove $@-t and $@ before redirecting to the former.
41202         * modules/alloca-opt: Likewise.
41203         * modules/byteswap: Likewise.
41204         * modules/fnmatch: Likewise.
41205         * modules/getopt-posix: Likewise.
41206         * modules/glob: Likewise.
41207         * modules/poll: Likewise.
41208         * modules/posix_spawnp-tests: Likewise.
41209         * modules/sys_socket: Likewise.
41210         * modules/sysexits: Likewise.
41211
41212 2009-08-21  Eric Blake  <ebb9@byu.net>
41213
41214         popen: simplify access to original popen
41215         * lib/popen.c (rpl_popen): No need to worry about popen being a
41216         macro.
41217         Reported by Bruno Haible.
41218
41219 2009-08-20  Eric Blake  <ebb9@byu.net>
41220
41221         build: avoid some compiler warnings
41222         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
41223         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
41224         type.
41225         (new_exclude_segment, excluded_file_pattern_p)
41226         (excluded_file_name_p): Reduce scope.
41227         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
41228         old-style declaration.
41229
41230 2009-08-20  Simon Josefsson  <simon@josefsson.org>
41231
41232         * tests/test-exclude1.sh: Handle Windows EOL.
41233         * tests/test-exclude2.sh: Likewise.
41234         * tests/test-exclude3.sh: Likewise.
41235         * tests/test-exclude4.sh: Likewise.
41236         * tests/test-exclude5.sh: Likewise.
41237         * tests/test-exclude6.sh: Likewise.
41238         * tests/test-exclude7.sh: Likewise.
41239
41240 2009-08-19  Akim Demaille  <demaille@gostai.com>
41241
41242         bootstrap: find sha1sum when named gsha1sum.
41243         * bootstrap (find_tool): New.
41244         ($SHA1SUM): New.
41245         Use it.
41246
41247 2009-08-20  Jim Meyering  <meyering@redhat.com>
41248
41249         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41250         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41251         expression that converts "." in a file name to "\." in the resulting
41252         regexp.  Start with a dummy statement, so that prior shell variable
41253         definitions are expanded portably.  Reported by Simon Josefsson.
41254
41255 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41256
41257         Fix polling for writeability of a screen buffer.
41258         * lib/poll.c: Distinguish input and screen buffers for the
41259         Win32 implementation.
41260         * lib/select.c: Likewise.
41261
41262 2009-08-19  Eric Blake  <ebb9@byu.net>
41263
41264         popen-safer: prevent popen from clobbering std descriptors
41265         * modules/popen-safer: New file.
41266         * lib/popen-safer.c: Likewise.
41267         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41268         * lib/stdio--.h (popen): Provide override.
41269         * lib/stdio-safer.h (popen_safer): Provide declaration.
41270         * tests/test-popen.c (includes): Partially test this.
41271         * modules/popen-safer-tests: New file, for more tests.
41272         * tests/test-popen-safer.c: Likewise.
41273         * MODULES.html.sh (file stream based Input/Output): Mention it.
41274
41275         tests: test some of the *-safer modules
41276         * modules/fopen-safer (Depends-on): Add fopen.
41277         * modules/fcntl-safer (Depends-on): Add fcntl.
41278         * modules/stdlib-safer (Depends-on): Add stdlib.
41279         (configure.ac): Set indicator.
41280         * modules/unistd-safer (configure.ac): Likewise.
41281         * modules/tmpfile-safer (configure.ac): Likewise.
41282         (Depends-on): Add tmpfile.
41283         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41284         active.
41285         * tests/test-fopen.c (includes): Test safer versions when they are
41286         in use.
41287         * tests/test-open.c (includes): Likewise.
41288
41289         popen: fix cygwin 1.5 bug when stdin closed
41290         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41291         * modules/popen: New file.
41292         * modules/popen-tests: Likewise.
41293         * tests/test-popen.c: Likewise.
41294         * m4/popen.m4: Likewise.
41295         * lib/popen.c: Likewise.
41296         * lib/stdio.in.h (popen): New declaration.
41297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41298         * modules/stdio (Makefile.am): Likewise.
41299         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41300
41301 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41302
41303         maint.mk: give full control over update-copyright exclusions
41304         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41305         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41306         (update-copyright): Don't force inclusion of top-level
41307         ChangeLog.  Don't force exclusion of all COPYING files, but make
41308         them the default exclusion instead.
41309
41310 2009-08-16  Bruno Haible  <bruno@clisp.org>
41311
41312         Fix test failures on Solaris 10.
41313         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41314         tests when Solaris iconv() is used.
41315         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41316         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41317         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41318         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41319         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41320
41321 2009-08-16  Bruno Haible  <bruno@clisp.org>
41322
41323         Fix test failures on Solaris 10.
41324         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41325         'tr' program and pass it as first argument.
41326         * tests/test-pipe-filter-gi1.sh: Likewise.
41327         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41328         program as first argument.
41329         * tests/test-pipe-filter-gi1.c (main): Likewise.
41330
41331 2009-08-16  Eric Blake  <ebb9@byu.net>
41332
41333         fpurge: fix previous commits
41334         * modules/fpurge (Makefile.am): Make replacement conditional,
41335         partially reverting 2007-04-29 change; missed in previous
41336         attempt.
41337         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
41338         is missing.
41339
41340 2009-08-16  Bruno Haible  <bruno@clisp.org>
41341
41342         Clarify fpurge's effect on the file position.
41343         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
41344         * tests/test-fpurge.c (main): Make a second pass for checking the file
41345         position.
41346
41347 2009-08-16  Bruno Haible  <bruno@clisp.org>
41348
41349         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
41350         declaration of fpurge is missing.
41351         * tests/test-fpurge.c (main): Check that the file has not more contents
41352         than expected. Close the file before removing it.
41353
41354 2009-08-15  Eric Blake  <ebb9@byu.net>
41355
41356         fpurge: don't wrap working cygwin implementation
41357         * lib/fpurge.c (fpurge): Fix comment typo.
41358         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41359         1.7 to avoid replacement.
41360         * tests/test-fpurge.c (main): Enhance test.
41361
41362 2009-08-15  Eric Blake  <ebb9@byu.net>
41363         and Jim Meyering  <meyering@redhat.com>
41364
41365         test-update-copyright: skip if perl is insufficient
41366         * tests/test-update-copyright.sh: Failure to run maintainer tool
41367         should not cause testsuite failure on cygwin 1.5.
41368
41369 2009-08-14  Eric Blake  <ebb9@byu.net>
41370
41371         doc: mention more functions added in cygwin 1.7.0
41372         * doc/posix-headers/limits.texi (limits.h): Update for recent
41373         cygwin additions.
41374         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41375         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41376         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41377         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41378         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41379
41380 2009-08-14  Eric Blake  <ebb9@byu.net>
41381
41382         maint.mk: simplify update-copyright rule
41383         * top/maint.mk (update-copyright-local): Delete, and document how
41384         to do it in cfg.mk instead.
41385         (update-copyright-exclude-regexp): Delete, and document how to do
41386         it in .x-update-copyright instead.
41387         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41388         exclude ChangeLog.
41389
41390 2009-08-14  Bruno Haible  <bruno@clisp.org>
41391
41392         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41393
41394 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41395
41396         maint.mk: support update-copyright-env
41397         * top/maint.mk (update-copyright-env): Define place-holder.
41398         (update-copyright): Expand $(update-copyright-env) before
41399         invoking update-copyright.
41400
41401 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41402
41403         update-copyright: implement forced reformatting
41404         * build-aux/update-copyright: Implement and document
41405         UPDATE_COPYRIGHT_FORCE.
41406         * tests/test-update-copyright.sh: Test it.
41407
41408 2009-08-14  Eric Blake  <ebb9@byu.net>
41409         and Bruno Haible  <bruno@clisp.org>
41410
41411         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41412         * tests/test-locale.c: Revert previous patch related to NULL.
41413         * tests/test-stdio.c: Likewise.
41414         * tests/test-stdlib.c: Likewise.
41415         * tests/test-string.c: Likewise.
41416         * tests/test-unistd.c: Likewise.
41417         * modules/time-tests (Depends-on): Add verify.
41418         * modules/wchar-tests (Depends-on): Likewise.
41419         * tests/test-time.c: Test for NULL compliance.
41420         * tests/test-wchar.c: Likewise.
41421         * modules/locale (Depends-on): Add stddef.
41422         * modules/stdio (Depends-on): Likewise.
41423         * modules/stdlib (Depends-on): Likewise.
41424         * modules/string (Depends-on): Likewise.
41425         * modules/time (Depends-on): Likewise.
41426         * modules/unistd (Depends-on): Likewise.
41427         * modules/wchar (Depends-on): Likewise.
41428         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41429         * lib/stdlib.in.h (includes): Likewise.
41430         * lib/string.in.h (includes): Likewise.
41431         * lib/time.in.h (includes): Likewise.
41432         * lib/unistd.in.h (includes): Likewise.
41433         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41434         replaced.
41435         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41436         * m4/stddef_h.m4: New file.
41437         * modules/stddef: Likewise.
41438         * lib/stddef.in.h: Likewise.
41439         * modules/stddef-tests: Likewise.
41440         * tests/test-stddef.c: Likewise.
41441         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41442         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41443         * doc/posix-headers/locale.texi (locale.h): Likewise.
41444         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41445         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41446         * doc/posix-headers/string.texi (string.h): Likewise.
41447         * doc/posix-headers/time.texi (time.h): Likewise.
41448         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41449         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41450
41451 2009-08-14  Eric Blake  <ebb9@byu.net>
41452
41453         doc: improve git diff of texinfo files
41454         * .gitattributes: Add rule for *.texi files, with hint on how to
41455         use it.
41456         Copied from m4, and based on a report by Bruno Haible.
41457
41458 2009-08-14  Bruno Haible  <bruno@clisp.org>
41459
41460         Disable multithread support by default on Cygwin 1.5.x for real.
41461         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41462
41463 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41464
41465         update-copyright: much ado about intervals
41466         * build-aux/update-copyright: Implement and document
41467         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41468         of copyright year intervals.
41469         Also, document UPDATE_COPYRIGHT_YEAR.
41470         * tests/test-update-copyright.sh: Test it.
41471
41472         update-copyright: convert 2-digit to 4-digit years
41473         * build-aux/update-copyright: Implement and document.
41474         * tests/test-update-copyright.sh: Update.
41475
41476 2009-08-14  Jim Meyering  <meyering@redhat.com>
41477
41478         test-exclude: avoid coreutils "make check" failure
41479         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41480         just as in test-argmatch.c.
41481
41482 2009-08-13  Eric Blake  <ebb9@byu.net>
41483
41484         test-dup2: fix bad assumption
41485         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41486         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41487
41488         test-version-etc: fix CRLF portability issue
41489         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41490         recognize \r.
41491         * tests/test-argp-version-etc-1.sh: Likewise.
41492
41493         getopt: update client modules
41494         * modules/argp (Depends-on): Use getopt-gnu.
41495         * modules/git-merge-changelog (Depends-on): Likewise.
41496         * modules/long-options (Depends-on): Likewise.
41497         * modules/xstrtol (Depends-on): Likewise.
41498
41499 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41500
41501         * tests/test-version-etc.sh: Don't fail on different
41502         project/version.  Don't fail on CRLF differences.  Rewrite to use
41503         multiple -e instead of multiple sed forks, suggested by Eric Blake
41504         <ebb9@byu.net>.
41505         * tests/test-argp-version-etc-1.sh: Likewise.
41506
41507 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41508
41509         * tests/test-version-etc.sh: Don't fail on different
41510         project/version.
41511
41512 2009-08-12  Bruno Haible  <bruno@clisp.org>
41513
41514         Tests for modules 'getopt-posix', 'getopt-gnu'.
41515         * modules/getopt-posix-tests: New file.
41516         * tests/test-getopt.c: New file.
41517         * tests/test-getopt.h: New file.
41518         * tests/test-getopt_long.h: New file.
41519
41520         New modules 'getopt-posix', 'getopt-gnu'.
41521         * modules/getopt-gnu: New file, renamed from modules/getopt.
41522         * modules/getopt-posix: New file.
41523         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41524         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41525         (gl_GETOPT): Remove macro.
41526         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41527         Disable the test against BSD systems that declare optreset. Test
41528         against mingw bug. Test against lack of support of optional arguments
41529         on many platforms.
41530         * doc/glibc-headers/getopt.texi: Update module name and list of
41531         relevant platforms.
41532         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41533         'getopt-gnu' and more portability problems.
41534         * NEWS: Mention the changes.
41535
41536 2009-08-12  Bruno Haible  <bruno@clisp.org>
41537
41538         Ensure that optarg etc. get declared by <unistd.h>.
41539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41540         AC_USE_SYSTEM_EXTENSIONS.
41541         * modules/getopt (Depends-on): Add 'extensions'.
41542
41543 2009-08-12  Bruno Haible  <bruno@clisp.org>
41544
41545         Avoid test link errors.
41546         * modules/pipe-filter-ii-tests (Makefile.am): Define
41547         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41548         * modules/pipe-filter-gi-tests (Makefile.am): Define
41549         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41550         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41551
41552 2009-08-12  Bruno Haible  <bruno@clisp.org>
41553
41554         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41555         gl_GETOPT_SUBSTITUTE before.
41556         (gl_GETOPT): Use it.
41557         * m4/argp.m4 (gl_ARGP): Update.
41558         Reported by Sergey Poznyakoff.
41559
41560         * m4/getopt.m4: Reorder macros.
41561         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41562         (gl_GETOPT_SUBSTITUTE): Remove macro.
41563
41564 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41565
41566         Minor improvement in gitlog-to-changelog
41567
41568         * build-aux/gitlog-to-changelog: New option `--format' makes
41569         output format string configurable.
41570
41571 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41572
41573         Optimize exclude: use hash tables for non-wildcard patterns.
41574
41575         * lib/exclude.c: Include hash.h and mbuiter.h
41576         (struct exclude_pattern, exclude_segment): New data types.
41577         (struct exclude): Rewrite.
41578         (fnmatch_pattern_has_wildcards): New function.
41579         (new_exclude_segment, free_exclude_segment): New functions.
41580         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41581         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41582         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41583         * modules/exclude: Depend on hash and mbuiter.
41584
41585         * modules/exclude-tests: New file.
41586         * tests/test-exclude.c: New file.
41587         * tests/test-exclude1.sh: New file.
41588         * tests/test-exclude2.sh: New file.
41589         * tests/test-exclude3.sh: New file.
41590         * tests/test-exclude4.sh: New file.
41591         * tests/test-exclude5.sh: New file.
41592         * tests/test-exclude6.sh: New file.
41593         * tests/test-exclude7.sh: New file.
41594
41595 2009-08-12  Bruno Haible  <bruno@clisp.org>
41596
41597         Ensure that getopt() gets declared by <unistd.h>.
41598         * lib/unistd.in.h: Conditionally include getopt.h.
41599         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41600         Set GNULIB_UNISTD_H_GETOPT.
41601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41602         GNULIB_UNISTD_H_GETOPT.
41603         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41604
41605 2009-08-12  Bruno Haible  <bruno@clisp.org>
41606
41607         Clarify logic.
41608         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41609         gl_replace_getopt instead of GETOPT_H.
41610
41611 2009-08-12  Bruno Haible  <bruno@clisp.org>
41612
41613         * m4/getopt.m4: Add comments.
41614
41615 2009-08-12  Bruno Haible  <bruno@clisp.org>
41616
41617         Disable multithread support by default on Cygwin 1.5.x.
41618         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41619         set gl_use_threads=no if not specified otherwise.
41620
41621 2009-08-11  Bruno Haible  <bruno@clisp.org>
41622
41623         Avoid compilation error on NetBSD 5.0.
41624         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41625         * tests/test-stdio.c: Likewise.
41626         * tests/test-stdlib.c: Likewise.
41627         * tests/test-string.c: Likewise.
41628         * tests/test-unistd.c: Likewise.
41629         Reported by Greg Troxel <gdt@ir.bbn.com>
41630         at <https://savannah.gnu.org/support/?106973>.
41631
41632 2009-08-11  Bruno Haible  <bruno@clisp.org>
41633
41634         * modules/dup2-tests (Depends-on): Remove close.
41635
41636         Undo 2009-07-19 commit.
41637         * modules/acl-tests (Depends-on): Remove close.
41638         * modules/binary-io-tests (Depends-on): Likewise.
41639         * modules/closein-tests (Depends-on): Likewise.
41640         * modules/flock-tests (Depends-on): Likewise.
41641         * modules/fsync-tests (Depends-on): Likewise.
41642         * modules/lseek-tests (Depends-on): Likewise.
41643         * modules/pipe-tests (Depends-on): Likewise.
41644         * modules/posix_spawn-tests (Depends-on): Likewise.
41645         * modules/posix_spawnp-tests (Depends-on): Likewise.
41646         * modules/stat-time-tests (Depends-on): Likewise.
41647         * modules/yesno-tests (Depends-on): Likewise.
41648
41649 2009-08-10  Bruno Haible  <bruno@clisp.org>
41650
41651         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41652
41653 2009-08-10  Bruno Haible  <bruno@clisp.org>
41654
41655         Fix a gcc warning.
41656         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41657
41658 2009-08-10  Bruno Haible  <bruno@clisp.org>
41659
41660         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41661         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41662         not only the first time.
41663         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41664         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41665         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41666         is 1, not only the the first time.
41667
41668 2009-08-10  Bruno Haible  <bruno@clisp.org>
41669
41670         Make it possible to use module 'gethostname' without module 'close'.
41671         * lib/unistd.in.h (close): Evoke a link error only if
41672         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41674         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41675         * modules/unistd (Makefile.am): Substitute
41676         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41677         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41678         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41679         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41680         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41681         * modules/sys_ioctl (Makefile.am): Substitute
41682         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41683         * modules/socket (configure.ac): On native Windows, set
41684         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41685         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41686         Reported by Sam Steingold <sds@gnu.org>.
41687
41688 2009-08-10  Bruno Haible  <bruno@clisp.org>
41689
41690         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41691         * modules/ioctl (configure.ac): Likewise.
41692
41693 2009-08-10  Bruno Haible  <bruno@clisp.org>
41694
41695         Avoid collision between gnulib wrapper and libintl wrapper.
41696         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41697         already defined in intl/printf.c.
41698         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41699         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41700
41701 2009-08-09  Bruno Haible  <bruno@clisp.org>
41702
41703         Make <sys/select.h> really self-contained, also on Solaris 10.
41704         * lib/sys_select.in.h: Include <string.h>.
41705         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41706         Solaris 10 problem.
41707         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41708         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41709         Reported by Jim Meyering.
41710
41711 2009-08-09  Bruno Haible  <bruno@clisp.org>
41712
41713         Avoid warnings from 'aclocal' that are due to a use of macro name
41714         AM_XGETTEXT_OPTION that is not defined in automake.
41715         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41716         automake.
41717         * modules/error (configure.ac): Likewise.
41718         * modules/propername (configure.ac): Likewise.
41719         * modules/vasprintf (configure.ac): Likewise.
41720         * modules/verror (configure.ac): Likewise.
41721         * modules/xprintf (configure.ac): Likewise.
41722         * modules/xvasprintf (configure.ac): Likewise.
41723
41724 2009-08-08  Bruno Haible  <bruno@clisp.org>
41725
41726         Avoid compilation error in C++ mode.
41727         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41728         Reported by Sam Steingold <sds@gnu.org>.
41729
41730 2009-08-08  Bruno Haible  <bruno@clisp.org>
41731
41732         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41733         for the various Unix platforms.
41734         * doc/posix-headers/limits.texi: Update platforms list regarding
41735         HOST_NAME_MAX.
41736         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41737
41738 2009-08-07  Jim Meyering  <meyering@redhat.com>
41739
41740         selinux-at: fix typo in a comment
41741         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41742         Spotted by Paolo Bonzini.
41743
41744         selinux-at: remove redundant m4 code, add documentation
41745         * modules/selinux-at (configure.ac): Remove redundant code.
41746         LIB_SELINUX is already set via the dependent module, selinux-h.
41747         (Include): Add quotes around selinux-at.h.
41748         * lib/selinux-at.h: Add documentation.
41749         Reported by Bruno Haible in
41750         http://marc.info/?l=gnulib-bug&m=124958988300749
41751
41752 2009-08-07  Bruno Haible  <bruno@clisp.org>
41753
41754         Avoid link error on MacOS X 10.3 and 10.4.
41755         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41756         on non-ELF systems.
41757         * lib/argp-pv.c (argp_program_version): Likewise.
41758         Reported by Simon Josefsson.
41759
41760 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41761
41762         * tests/test-version-etc.sh: Use $EXEEXT.
41763
41764 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41765
41766         update-copyright: update documentation to point to maint.mk
41767         * build-aux/update-copyright: Here.
41768
41769 2009-08-06  Jim Meyering  <meyering@redhat.com>
41770
41771         maint.mk: support update-copyright-local
41772         * top/maint.mk (update-copyright-local): Define place-holder.
41773         (update-copyright): Depend on $(update-copyright-local).
41774
41775 2009-08-06  Jim Meyering  <meyering@redhat.com>
41776
41777         selinux-at: new module
41778         Initially written for coreutils, this module will soon be
41779         used by findutils, too.
41780         * MODULES.html.sh [Misc]: Add selinux-at.
41781         * lib/selinux-at.h: New file, from coreutils.
41782         * lib/selinux-at.c: Likewise.
41783         * modules/selinux-at: Likewise.
41784         (License): Change from LGPL to GPL, since it depends
41785         on the GPL'd openat module.
41786
41787         doc: update README
41788         * README: Remove references to cogito.
41789         Remove cvs-repo-updating instructions from 2007.
41790         Don't imply that CVS is better if you have limited disk space.
41791
41792 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41793
41794         update-copyright: support C-style comments
41795         * build-aux/update-copyright: Implement and document.
41796         * tests/test-update-copyright.sh: Test.
41797
41798 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41799
41800         update-copyright: support omitted "(C)"
41801         * build-aux/update-copyright: Implement and document.  Also,
41802         allow variable whitespace before "(C)".
41803         * tests/test-update-copyright.sh: Test.
41804
41805 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41806
41807         update-copyright: don't trip on non-FSF copyright statements
41808         * build-aux/update-copyright: Fix so that the first correctly
41809         formatted FSF copyright statement is recognized no matter what
41810         appears before it.  Update documentation.
41811         * tests/test-update-copyright.sh: Test that.
41812
41813 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41814
41815         update-copyright: clean up code a little
41816         * build-aux/update-copyright: Append "_re" to the name of any
41817         variable holding a regular expression.
41818         Replace "old" and "new" with "stmt" in variable names.
41819         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41820         handled correctly.
41821         Format code more consistently.
41822
41823 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41824
41825         update-copyright-tests: improve portability
41826         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41827         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41828
41829 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41830
41831         update-copyright: support @copyright{} and &copy;
41832         * build-aux/update-copyright: Implement and document.
41833         * tests/test-update-copyright.sh: Test.
41834
41835 2009-08-04  Jim Meyering  <meyering@redhat.com>
41836
41837         update-copyright-tests: correctly test EOL=\r\n handling
41838         * tests/test-update-copyright.sh: Put \r at the end of some lines
41839         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41840
41841         maint.mk: make update-copyright exclusion list more configurable
41842         * top/maint.mk (update-copyright): Default to excluding COPYING,
41843         but allow an override, in case someone does want to update that file.
41844
41845         maint.mk: don't update copyright date in COPYING
41846         * top/maint.mk (update-copyright): Exclude COPYING.
41847
41848         maint.mk: add a copyright-updating rule
41849         * top/maint.mk (update-copyright): New rule.
41850         Derived from coreutils/Makefile.am.
41851
41852         update-copyright: rename some variables
41853         * build-aux/update-copyright: Rename a few variables for clarity.
41854         Tweak syntax.  List Joel E. Denny as coauthor.
41855
41856 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41857
41858         update-copyright: fix bug for 2-digit last year and add tests
41859         * build-aux/update-copyright: Fix bug.
41860         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41861         specified.
41862         * modules/update-copyright-tests: New
41863         * tests/test-update-copyright.sh: New.
41864
41865 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41866
41867         update-copyright: handle leading tabs in line prefix
41868         * build-aux/update-copyright: Count leading tabs as 8 spaces
41869         when computing margin.  This helps with the formatting of
41870         ChangeLogs, for example.
41871         Fix documentation a little.
41872
41873 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41874
41875         update-copyright: support EOL=\r\n
41876         * build-aux/update-copyright: Implement that.
41877
41878 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41879
41880         update-copyright: automatically format copyright statements
41881         * build-aux/update-copyright: Implement that.
41882         Also, be a little more predictable and safer by always failing
41883         when the full copyright format is not perfectly recognized as an
41884         unbroken whole.  Discussed at
41885         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41886         Rewrite documentation.
41887
41888 2009-08-03  Bruno Haible  <bruno@clisp.org>
41889
41890         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41891
41892 2009-08-02  Bruno Haible  <bruno@clisp.org>
41893
41894         Tests for module 'uname'.
41895         * modules/uname-tests: New file.
41896         * tests/test-uname.c: New file.
41897
41898         New module 'uname'.
41899         * lib/uname.c: New file.
41900         * m4/uname.m4: New file.
41901         * modules/uname: New file.
41902         * doc/posix-functions/uname.texi: Mention the new module.
41903
41904 2009-08-02  Bruno Haible  <bruno@clisp.org>
41905
41906         Tests for module 'sys_utsname'.
41907         * modules/sys_utsname-tests: New file.
41908         * tests/test-sys_utsname.c: New file.
41909
41910         New module 'sys_utsname'.
41911         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41912         * m4/sys_utsname_h.m4: New file.
41913         * modules/sys_utsname: New file.
41914         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41915
41916 2009-08-02  Bruno Haible  <bruno@clisp.org>
41917
41918         Implicitly initialize the sockets library.
41919         * lib/gethostname.c: Include sockets.h.
41920         (rpl_gethostname): Invoke gl_sockets_startup.
41921         * lib/socket.c: Include sockets.h.
41922         (rpl_socket): Invoke gl_sockets_startup.
41923         * modules/gethostname (Depends-on): Add sockets.
41924         * modules/socket (Depends-on): Likewise.
41925         * tests/test-poll.c: Don't include sockets.h.
41926         (main): Don't invoke gl_sockets_startup.
41927         * tests/test-select.c: Don't include sockets.h.
41928         (main): Don't invoke gl_sockets_startup.
41929
41930 2009-08-02  Bruno Haible  <bruno@clisp.org>
41931
41932         Allow multiple calls to gl_sockets_startup.
41933         * lib/sockets.c (initialized_sockets_version): New variable.
41934         (gl_sockets_startup): Do nothing if already called for this or a higher
41935         version.
41936         (gl_sockets_cleanup): Reset initialized_sockets_version.
41937
41938 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41939
41940         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41941         different project/version.
41942
41943 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41944             Bruno Haible  <bruno@clisp.org>
41945
41946         Tests for module 'pipe-filter-gi'.
41947         * modules/pipe-filter-gi-tests: New file.
41948         * tests/test-pipe-filter-gi1.sh: New file.
41949         * tests/test-pipe-filter-gi1.c: New file.
41950         * tests/test-pipe-filter-gi2.sh: New file.
41951         * tests/test-pipe-filter-gi2-main.c: New file.
41952         * tests/test-pipe-filter-gi2-child.c: New file.
41953
41954         New module 'pipe-filter-gi'.
41955         * lib/pipe-filter-gi.c: New file.
41956         * modules/pipe-filter-gi: New file.
41957
41958 2009-08-02  Bruno Haible  <bruno@clisp.org>
41959             Paolo Bonzini  <bonzini@gnu.org>
41960
41961         Tests for module 'pipe-filter-ii'.
41962         * modules/pipe-filter-ii-tests: New file.
41963         * tests/test-pipe-filter-ii1.sh: New file.
41964         * tests/test-pipe-filter-ii1.c: New file.
41965         * tests/test-pipe-filter-ii2.sh: New file.
41966         * tests/test-pipe-filter-ii2-main.c: New file.
41967         * tests/test-pipe-filter-ii2-child.c: New file.
41968
41969         New module 'pipe-filter-ii'.
41970         * lib/pipe-filter.h: New file.
41971         * lib/pipe-filter-ii.c: New file.
41972         * lib/pipe-filter-aux.h: New file.
41973         * modules/pipe-filter-ii: New file.
41974
41975 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41976
41977         * lib/gc-libgcrypt.c: Change copyright to FSF.
41978         * lib/gc-gnulib.c: Likewise.
41979
41980 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41981
41982         * lib/gethostname.c: Include limits.h.
41983
41984 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41985             Bruno Haible  <bruno@clisp.org>
41986
41987         Ensure HOST_NAME_MAX as part of the gethostname module.
41988         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41989         define also HOST_NAME_MAX.
41990         * tests/test-gethostname.c: Include <limits.h>.
41991         (main): Check also HOST_NAME_MAX.
41992         * doc/posix-headers/limits.texi: Document the mingw problem.
41993
41994 2009-08-02  Bruno Haible  <bruno@clisp.org>
41995
41996         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41997         Add comments.
41998
41999 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42000
42001         * lib/gethostname.c: Add Windows wrapper.
42002         * m4/gethostname.m4: Look for gethostname in -lws2_32.
42003         * modules/gethostname: Depend on sys_socket & errno, for also
42004         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
42005         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
42006
42007 2009-07-31  Jim Meyering  <meyering@redhat.com>
42008
42009         getloadavg: fix symbol name in comment
42010         * lib/getloadavg.c: Correct a typo I introduced when adding
42011         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
42012         Matt Kraai spotted the problem.
42013
42014 2009-07-29  Matt Kraai  <mkraai@beckman.com>
42015
42016         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
42017         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
42018         code also if ! defined N_NAME_POINTER.
42019         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
42020         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
42021         but the n_name member is a 12-byte array.
42022
42023 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
42024
42025         update-copyright: generalize comment handling
42026         * build-aux/update-copyright: Handle copyright statements
42027         within more comment styles.
42028         Document usage.
42029         Report any file with an external copyright holder or parse failure.
42030
42031 2009-07-29  Jim Meyering  <meyering@redhat.com>
42032
42033         mktime: correct setting of REPLACE_MKTIME
42034         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
42035
42036         update-copyright: new module
42037         * modules/update-copyright: New file.
42038         * build-aux/update-copyright: New file.
42039         * MODULES.html.sh (maint+release support): Add update-copyright.
42040
42041 2009-07-27  Bruno Haible  <bruno@clisp.org>
42042
42043         Fix compilation error when <ctime> is used and mktime is replaced.
42044         * lib/time.in.h (mktime): New declaration.
42045         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
42046         REPLACE_MKTIME instead of defining mktime in config.h.
42047         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
42048         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
42049         Reported by Ross McFarland <rwmcfa1@neces.com>.
42050
42051 2009-07-27  Bruno Haible  <bruno@clisp.org>
42052
42053         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
42054         Reported by Matt Kraai <mkraai@beckman.com>.
42055
42056 2009-07-25  Jim Meyering  <meyering@redhat.com>
42057
42058         maint.mk: avoid warnings about missing files
42059         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
42060         diagnostic when .prev-version does not exist.
42061         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
42062         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
42063         nonexistent cfg.mk.
42064         Suggestions from Simon Josefsson.
42065
42066 2009-07-25  Bruno Haible  <bruno@clisp.org>
42067
42068         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
42069         defined as macros. Needed on QNX 6.4.1.
42070         Reported by Matt Kraai <mkraai@beckman.com>.
42071
42072 2009-07-23  Jim Meyering  <meyering@redhat.com>
42073
42074         maint.mk: invoke "make dist" with a working value of XZ_OPT
42075         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
42076
42077 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
42078
42079         Make fseeko.c compile on QNX.
42080         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
42081
42082 2009-07-22  Peter Simons  <simons@cryp.to>
42083
42084         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
42085         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
42086         * lib/md4.h: Likewise.
42087         * lib/md5.h: Likewise.
42088         * lib/sha1.h: Likewise.
42089         * lib/sha256.h: Likewise.
42090         * lib/sha512.h: Likewise.
42091
42092         tests-sha1: don't assign literal string to 'char *' variable
42093         * tests/test-sha1.c (main): Declare locals with "const" to match
42094         attributes of the right hand side.
42095
42096 2009-07-21  Eric Blake  <ebb9@byu.net>
42097
42098         dup2: fix more mingw problems
42099         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
42100         fd to itself.
42101         * doc/posix-functions/dup2.texi (dup2): Document the bug.
42102         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
42103         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
42104         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
42105         care of mingw bugs.
42106
42107 2009-07-21  Jim Meyering  <meyering@redhat.com>
42108
42109         vc-list-files: avoid failure when /bin/sh is dash
42110         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
42111         On some Debian based systems, /bin/sh is a symlink to dash, and running
42112         this command would omit the "/" following each 'tests' prefix:
42113           dash -x build-aux/vc-list-files -C . tests
42114         That is because bash and dash work differently:
42115           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
42116           bash ok
42117           dash odd
42118
42119 2009-07-21  Eric Blake  <ebb9@byu.net>
42120
42121         dup2-tests: test previous patch
42122         * modules/dup2-tests: New file.
42123         * tests/test-dup2.c: Likewise.
42124         * tests/test-open.c (main): Avoid unspecified behavior.
42125         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
42126         test.
42127
42128         dup2: work around mingw and cygwin 1.5 bug
42129         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
42130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42131         * modules/unistd (Makefile.am): Substitute it.
42132         * lib/unistd.in.h (dup2): Declare the replacement.
42133         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
42134         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
42135         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
42136         * modules/execute (Depends-on): Add dup2.
42137         * modules/fseterr (Depends-on): Likewise.
42138         * modules/pipe (Depends-on): Likewise.
42139         * modules/posix_spawn-internal (Depends-on): Likewise.
42140
42141 2009-07-21  Bruno Haible  <bruno@clisp.org>
42142
42143         * modules/.gitattributes: New file.
42144
42145 2009-07-20  Bruno Haible  <bruno@clisp.org>
42146
42147         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
42148         (main): Use it.
42149
42150 2009-07-20  Eric Blake  <ebb9@byu.net>
42151
42152         test-pipe: make a bit more robust.
42153         * tests/test-pipe.c (myerr): Allow error messages regardless of
42154         what we do to stderr.
42155         (test_pipe): Rearrange to avoid deadlock.
42156         (child_main): Try a larger read, to ensure we avoided deadlock.
42157         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
42158         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
42159         if misused.
42160
42161 2009-07-19  Jim Meyering  <meyering@redhat.com>
42162
42163         fts: avoid false-positive cycle-detection
42164         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
42165         for each new command line argument.
42166
42167 2009-07-19  Bruno Haible  <bruno@clisp.org>
42168
42169         Fix build error on mingw with the modules sys_select and unistd.
42170         * modules/acl-tests (Depends-on): Add close.
42171         * modules/binary-io-tests (Depends-on): Likewise.
42172         * modules/closein-tests (Depends-on): Likewise.
42173         * modules/flock-tests (Depends-on): Likewise.
42174         * modules/fsync-tests (Depends-on): Likewise.
42175         * modules/lseek-tests (Depends-on): Likewise.
42176         * modules/pipe-tests (Depends-on): Likewise.
42177         * modules/posix_spawn-tests (Depends-on): Likewise.
42178         * modules/posix_spawnp-tests (Depends-on): Likewise.
42179         * modules/stat-time-tests (Depends-on): Likewise.
42180         * modules/yesno-tests (Depends-on): Likewise.
42181
42182 2009-07-19  Bruno Haible  <bruno@clisp.org>
42183
42184         Unify conditionals.
42185         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
42186         macros, not at the compiler macros.
42187         * lib/pipe.c: Likewise.
42188         * lib/execute.c: Likewise.
42189         * lib/spawni.c: Likewise.
42190
42191 2009-07-19  Bruno Haible  <bruno@clisp.org>
42192
42193         Fix handling of closed stdin/stdout/stderr on mingw.
42194         * lib/w32spawn.h: Include unistd.h.
42195         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
42196         file descriptor with O_NOINHERIT flag.
42197         (fd_safer_noinherit): New function, based on fd-safer.c.
42198         (dup_safer_noinherit): New function, based on dup-safer.c.
42199         (undup_safer_noinherit): New function.
42200         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
42201         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
42202         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
42203         instead of fd_safer.
42204         * tests/test-pipe.c: Include <windows.h>.
42205         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
42206         result.
42207
42208         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
42209         from main.
42210         (test_pipe): Pass an extra argument for disambiguation.
42211         (main): Invoke parent_main or child_main.
42212
42213         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
42214         consistently.
42215
42216 2009-07-18  Eric Blake  <ebb9@byu.net>
42217
42218         test-pipe: fix mingw build
42219         * tests/test-pipe.c (main): Avoid fcntl on mingw.
42220
42221 2009-07-18  Bruno Haible  <bruno@clisp.org>
42222
42223         * modules/pipe-tests (Makefile.am): Fix typo.
42224
42225 2009-07-18  Eric Blake  <ebb9@byu.net>
42226
42227         error: fix mingw build
42228         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
42229         Reported by Bruno Haible.
42230
42231         error: avoid undefined use of stdout
42232         * lib/error.c (error, error_at_line): Check that fd 1 is open
42233         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
42234         is handling faults and the close_stdout module wants to report the
42235         detection of closed stdout as an error.
42236
42237 2009-07-17  Eric Blake  <ebb9@byu.net>
42238
42239         pipe: be robust in face of closed fds
42240         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42241         should cause child to misbehave.
42242         * modules/pipe-tests: New module.
42243         * tests/test-pipe.c: New file.
42244         * tests/test-pipe.sh: New file.
42245         Reported by Akim Demaille.
42246
42247 2009-07-14  Bruno Haible  <bruno@clisp.org>
42248
42249         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42250         Reported by anonymous kc.
42251
42252 2009-07-07  Jim Meyering  <meyering@redhat.com>
42253
42254         maint.mk: don't look for translatable strings in *.m4 or *.mk
42255         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42256         when searching for translatable strings.
42257
42258 2009-07-05  Jim Meyering  <meyering@redhat.com>
42259
42260         remove superfluous parentheses in STREQ definition
42261         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42262         * lib/getugroups.c (STREQ): Likewise.
42263         * lib/fnmatch.c (STREQ): Likewise.
42264         Spotted by Bruno Haible.
42265
42266 2009-07-04  Jim Meyering  <meyering@redhat.com>
42267
42268         argv-iter: new module
42269         * MODULES.html.sh: Add argv-iter.
42270         * lib/argv-iter.c, lib/argv-iter.h: New files.
42271         * modules/argv-iter: New file.
42272         * modules/argv-iter-tests: New file.
42273         * tests/test-argv-iter.c: Test it.
42274
42275 2009-07-04  Bruno Haible  <bruno@clisp.org>
42276
42277         Fix assertion.
42278         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42279         contains more exact copies of a given entry than file2, leave the extra
42280         copies unpaired rather than aborting.
42281         Reported by Eric Blake.
42282
42283 2009-07-02  Bruno Haible  <bruno@clisp.org>
42284
42285         Speedup git-merge-changelog for git cherry-pick.
42286         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42287         (entries_mapping_get): New function, extracted from compute_mapping.
42288         (entries_mapping_reverse_get): New function.
42289         (compute_mapping): Add a 'full' argument. Return the result in a
42290         'struct entries_mapping'.
42291         (main): Update. Access the mappings through entries_mapping_get.
42292         Reported by Eric Blake.
42293
42294 2009-07-02  Bruno Haible  <bruno@clisp.org>
42295
42296         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42297         best_i.
42298
42299 2009-07-02  Bruno Haible  <bruno@clisp.org>
42300
42301         Speed up approximate search for matching ChangeLog entries.
42302         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42303         argument. Call fstrcmp_bounded instead of fstrcmp.
42304         (compute_mapping, try_split_merged_entry, main): Update callers.
42305
42306 2009-07-02  Bruno Haible  <bruno@clisp.org>
42307
42308         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42309
42310 2009-06-30  Bruno Haible  <bruno@clisp.org>
42311
42312         Reduce the number of uc_is_cased calls.
42313         * lib/unicase.h (casing_suffix_context_t): Add
42314         'first_char_except_ignorable' field.
42315         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42316         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42317         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42318         Update initializer.
42319         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42320         case-ignorable characters.
42321         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42322         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42323         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42324         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42325         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42326
42327 2009-06-30  Bruno Haible  <bruno@clisp.org>
42328
42329         Tests for module 'unicase/ignorable'.
42330         * modules/unicase/ignorable-tests: New file.
42331         * tests/unicase/test-ignorable.c: New file, generated by
42332         gen-uni-tables.
42333
42334         Tests for module 'unicase/cased'.
42335         * modules/unicase/cased-tests: New file.
42336         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
42337         * tests/unicase/test-predicate-part1.h: New file, derived from
42338         tests/unictype/test-predicate-part1.h.
42339         * tests/unicase/test-predicate-part2.h: New file, same as
42340         tests/unictype/test-predicate-part2.h.
42341
42342         Fix evaluation of "Before C" condition of FINAL_SIGMA.
42343         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
42344         (output_casing_properties): New function.
42345         (main): Call it.
42346         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
42347         * lib/unicase/cased.c: Include unictype/bitmap.h.
42348         (uc_is_cased): Define through a bitmap lookup.
42349         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
42350         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
42351         (uc_is_case_ignorable): Define through a bitmap lookup.
42352         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42353         lib/unictype/bitmap.h.
42354         (Depends-on): Add inline. Clean up.
42355         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42356         lib/unictype/bitmap.h.
42357         (Depends-on): Add inline. Clean up.
42358         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42359         recognition.
42360         * tests/unicase/test-u16-tolower.c (main): Likewise.
42361         * tests/unicase/test-u32-tolower.c (main): Likewise.
42362
42363 2009-06-30  Bruno Haible  <bruno@clisp.org>
42364
42365         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42366         * lib/unicase/u16-casemap.c: Likewise.
42367         * lib/unicase/u32-casemap.c: Likewise.
42368
42369 2009-06-29  Bruno Haible  <bruno@clisp.org>
42370
42371         Define u32_casefold as a wrapper around u32_ct_casefold.
42372         * lib/unicase/u32-casefold.c: Update.
42373         * modules/unicase/u32-casefold (Depends-on): Add
42374         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42375         unicase/empty-suffix-context. Clean up.
42376
42377         Define u16_casefold as a wrapper around u16_ct_casefold.
42378         * lib/unicase/u16-casefold.c: Update.
42379         * modules/unicase/u16-casefold (Depends-on): Add
42380         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42381         unicase/empty-suffix-context. Clean up.
42382
42383         Define u8_casefold as a wrapper around u8_ct_casefold.
42384         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42385         * lib/unicase/u8-casefold.c: Update.
42386         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42387         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42388
42389         Define u32_totitle as a wrapper around u32_ct_totitle.
42390         * lib/unicase/u32-totitle.c: Update.
42391         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42392         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42393
42394         Define u16_totitle as a wrapper around u16_ct_totitle.
42395         * lib/unicase/u16-totitle.c: Update.
42396         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42397         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42398
42399         Define u8_totitle as a wrapper around u8_ct_totitle.
42400         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42401         functions.
42402         (FUNC): Delegate to U_CT_TOTITLE.
42403         * lib/unicase/u8-totitle.c: Update.
42404         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42405         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42406
42407         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42408         invocation.
42409         * modules/unicase/u32-tolower (Depends-on): Add
42410         unicase/empty-prefix-context, unicase/empty-suffix-context.
42411
42412         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42413         invocation.
42414         * modules/unicase/u16-tolower (Depends-on): Add
42415         unicase/empty-prefix-context, unicase/empty-suffix-context.
42416
42417         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42418         * modules/unicase/u8-tolower (Depends-on): Add
42419         unicase/empty-prefix-context, unicase/empty-suffix-context.
42420
42421         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42422         invocation.
42423         * modules/unicase/u32-toupper (Depends-on): Add
42424         unicase/empty-prefix-context, unicase/empty-suffix-context.
42425
42426         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42427         invocation.
42428         * modules/unicase/u16-toupper (Depends-on): Add
42429         unicase/empty-prefix-context, unicase/empty-suffix-context.
42430
42431         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42432         * modules/unicase/u8-toupper (Depends-on): Add
42433         unicase/empty-prefix-context, unicase/empty-suffix-context.
42434
42435         New module 'unicase/u32-ct-casefold'.
42436         * lib/unicase/u32-ct-casefold.c: New file.
42437         * modules/unicase/u32-ct-casefold: New file.
42438
42439         New module 'unicase/u16-ct-casefold'.
42440         * lib/unicase/u16-ct-casefold.c: New file.
42441         * modules/unicase/u16-ct-casefold: New file.
42442
42443         New module 'unicase/u8-ct-casefold'.
42444         * lib/unicase/u8-ct-casefold.c: New file.
42445         * lib/unicase/u-ct-casefold.h: New file, derived from
42446         lib/unicase/u-casefold.h.
42447         * modules/unicase/u8-ct-casefold: New file.
42448
42449         New module 'unicase/u32-ct-totitle'.
42450         * lib/unicase/u32-ct-totitle.c: New file.
42451         * modules/unicase/u32-ct-totitle: New file.
42452
42453         New module 'unicase/u16-ct-totitle'.
42454         * lib/unicase/u16-ct-totitle.c: New file.
42455         * modules/unicase/u16-ct-totitle: New file.
42456
42457         New module 'unicase/u8-ct-totitle'.
42458         * lib/unicase/u8-ct-totitle.c: New file.
42459         * lib/unicase/u-ct-totitle.h: New file, derived from
42460         lib/unicase/u-totitle.h.
42461         * modules/unicase/u8-ct-totitle: New file.
42462
42463         New module 'unicase/u32-ct-tolower'.
42464         * lib/unicase/u32-ct-tolower.c: New file.
42465         * modules/unicase/u32-ct-tolower: New file.
42466
42467         New module 'unicase/u16-ct-tolower'.
42468         * lib/unicase/u16-ct-tolower.c: New file.
42469         * modules/unicase/u16-ct-tolower: New file.
42470
42471         New module 'unicase/u8-ct-tolower'.
42472         * lib/unicase/u8-ct-tolower.c: New file.
42473         * modules/unicase/u8-ct-tolower: New file.
42474
42475         New module 'unicase/u32-ct-toupper'.
42476         * lib/unicase/u32-ct-toupper.c: New file.
42477         * modules/unicase/u32-ct-toupper: New file.
42478
42479         New module 'unicase/u16-ct-toupper'.
42480         * lib/unicase/u16-ct-toupper.c: New file.
42481         * modules/unicase/u16-ct-toupper: New file.
42482
42483         New module 'unicase/u8-ct-toupper'.
42484         * lib/unicase/u8-ct-toupper.c: New file.
42485         * modules/unicase/u8-ct-toupper: New file.
42486
42487         Add context arguments to u*_casemap functions.
42488         * lib/unicase/unicasemap.h: Include unicase.h.
42489         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42490         suffix_context arguments.
42491         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42492         functions.
42493         (FUNC): Add prefix_context and suffix_context arguments. Use
42494         uc_is_cased and uc_is_case_ignorable.
42495         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42496         * lib/unicase/u16-casemap.c: Likewise.
42497         * lib/unicase/u32-casemap.c: Likewise.
42498         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42499         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42500         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42501         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42502         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42503         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42504
42505         New module 'unicase/u32-suffix-context'.
42506         * lib/unicase/u32-suffix-context.c: New file.
42507         * modules/unicase/u32-suffix-context: New file.
42508
42509         New module 'unicase/u16-suffix-context'.
42510         * lib/unicase/u16-suffix-context.c: New file.
42511         * modules/unicase/u16-suffix-context: New file.
42512
42513         New module 'unicase/u8-suffix-context'.
42514         * lib/unicase/u8-suffix-context.c: New file.
42515         * lib/unicase/u-suffix-context.h: New file.
42516         * modules/unicase/u8-suffix-context: New file.
42517
42518         New module 'unicase/empty-suffix-context'.
42519         * lib/unicase/empty-suffix-context.c: New file.
42520         * modules/unicase/empty-suffix-context: New file.
42521
42522         New module 'unicase/u32-prefix-context'.
42523         * lib/unicase/u32-prefix-context.c: New file.
42524         * modules/unicase/u32-prefix-context: New file.
42525
42526         New module 'unicase/u16-prefix-context'.
42527         * lib/unicase/u16-prefix-context.c: New file.
42528         * modules/unicase/u16-prefix-context: New file.
42529
42530         New module 'unicase/u8-prefix-context'.
42531         * lib/unicase/u8-prefix-context.c: New file.
42532         * lib/unicase/u-prefix-context.h: New file.
42533         * lib/unicase/context.h: New file.
42534         * modules/unicase/u8-prefix-context: New file.
42535
42536         New module 'unicase/empty-prefix-context'.
42537         * lib/unicase/empty-prefix-context.c: New file.
42538         * modules/unicase/empty-prefix-context: New file.
42539
42540         New module 'unicase/ignorable'.
42541         * lib/unicase/ignorable.c: New file.
42542         * modules/unicase/ignorable: New file.
42543
42544         New module 'unicase/cased'.
42545         * lib/unicase/caseprop.h: New file.
42546         * lib/unicase/cased.c: New file.
42547         * modules/unicase/cased: New file.
42548
42549         New functions for case mapping of substrings.
42550         * lib/unicase.h (casing_prefix_context_t): New type.
42551         (unicase_empty_prefix_context): New variable.
42552         (u8_casing_prefix_context, u16_casing_prefix_context,
42553         u32_casing_prefix_context, u8_casing_prefixes_context,
42554         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42555         declarations.
42556         (casing_suffix_context_t): New type.
42557         (unicase_empty_suffix_context): New variable.
42558         (u8_casing_suffix_context, u16_casing_suffix_context,
42559         u32_casing_suffix_context, u8_casing_suffixes_context,
42560         u16_casing_suffixes_context, u32_casing_suffixes_context,
42561         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42562         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42563         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42564         declarations.
42565
42566 2009-06-28  Jim Meyering  <meyering@redhat.com>
42567
42568         boostrap: indent only with spaces
42569         * build-aux/bootstrap: Indent only with spaces, never TABs.
42570
42571         bootstrap: split long lines
42572         * build-aux/bootstrap: Keep line length < 80.
42573
42574         bootstrap: sync from coreutils
42575         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42576         just as autoreconf does.  Verify a list of prerequisite
42577         package-name,version-number pairs if defined in bootstrap.conf.
42578         Refer to README-prereq, if prerequisites are not satisfied.
42579
42580 2009-06-27  Eric Blake  <ebb9@byu.net>
42581
42582         tests: add test for bogus NULL definition
42583         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42584         * tests/test-stdlib.c: Likewise.
42585         * tests/test-string.c: Likewise.
42586         * tests/test-locale.c: Likewise.
42587         * tests/test-unistd.c: Likewise.
42588         * modules/stdio-tests (Depends-on): Add verify.
42589         * modules/stdlib-tests (Depends-on): Likewise.
42590         * modules/string-tests (Depends-on): Likewise.
42591         * modules/locale-tests (Depends-on): Likewise.
42592         * modules/unistd-tests (Depends-on): Likewise.
42593
42594 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42595
42596         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42597         self-explaining comment.
42598         * m4/selinux-selinux-h: Update serial.
42599         (gl_LIBSELINUX): New macro, adding a warning for missing development
42600         packages to code extracted from...
42601         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42602         Add warning for missing development packages here, too.
42603
42604 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42605
42606         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42607
42608 2009-06-25  Eric Blake  <ebb9@byu.net>
42609
42610         version-etc: fix regression
42611         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42612         gcc.
42613         (version_etc): Use it, to catch bugs with trailing NULL.
42614         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42615         (version_etc_va): Fix logic bug.
42616         * modules/version-etc-tests: Add test.
42617         * tests/test-version-etc.c: New file.
42618         * tests/test-version-etc.sh: Likewise.
42619
42620 2009-06-25  Sam Steingold  <sds@gnu.org>
42621
42622         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42623         mbtowc declaration.
42624
42625 2009-06-25  Eric Blake  <ebb9@byu.net>
42626
42627         fpurge: migrate into <stdio.h>
42628         * lib/fpurge.h: Delete...
42629         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42630         * lib/fpurge.c (fpurge): Change declaring header.
42631         * modules/fpurge (Files): Drop deleted file.
42632         (Depends-on): Add stdio.
42633         (configure.ac): Set witness.
42634         * modules/stdio (Makefile.am): Support fpurge macros.
42635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42636         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42637         * lib/fflush.c: Update client.
42638         * tests/test-fpurge.c: Likewise.
42639         * NEWS: Mention the change.
42640
42641 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42642
42643         * lib/argp-version-etc.c (program_authors): Add const
42644         qualifier.
42645         * lib/version-etc.c: Fix typos in the comments.
42646         * modules/argp-version-etc: Depends on version-etc.
42647
42648 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42649
42650         argp-version-etc: new module.
42651
42652         * lib/argp-version-etc.c: New file.
42653         * lib/argp-version-etc.h: New file.
42654         * modules/argp-version-etc: New file.
42655         * modules/argp-version-etc-tests: New file.
42656         * tests/test-argp-version-etc.c: New test.
42657         * tests/test-argp-version-etc-1.sh: New test.
42658
42659 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42660
42661         Provide additional interfaces and documentation for version-etc
42662         module.
42663
42664         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42665         interfaces.
42666         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42667         prototypes.
42668
42669 2009-06-24  Bruno Haible  <bruno@clisp.org>
42670
42671         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42672         HAVE_LIB${NAME} macro.
42673         Reported by Sam Steingold <sds@gnu.org>.
42674
42675 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42676
42677         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42678         needed.
42679
42680 2009-06-21  Bruno Haible  <bruno@clisp.org>
42681
42682         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42683         work.
42684         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42685         together with LIB${NAME}, LTLIB${NAME}.
42686         Reported by Sam Steingold <sds@gnu.org>.
42687
42688 2009-06-20  Jim Meyering  <meyering@redhat.com>
42689
42690         tests: make sc_require_test_exit_idiom more generic
42691         * top/maint.mk (Exit_witness_file): New overridable variable.
42692         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42693         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42694
42695 2009-06-19  Jim Meyering  <meyering@redhat.com>
42696
42697         hash: reverse order of src/dst parameters in an internal interface
42698         * lib/hash.c (transfer_entries): Reverse order of parameters to
42699         put DST before SRC.  Adjust callers.
42700
42701         tests: test-hash: avoid wholesale duplication
42702         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42703         Instead, use a loop and add a single conditional.
42704
42705         tests: test-hash: allow seed selection via a command line argument
42706         * tests/test-hash.c (get_seed): New function.
42707         (main): Use it.
42708
42709 2009-06-19  Eric Blake  <ebb9@byu.net>
42710
42711         hash: avoid memory leak on allocation failure
42712         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42713         failure.  Factor repeated algorithm...
42714         (transfer_entries): ...into new helper routine.
42715         (hash_delete): React to hash_rehash return value.
42716
42717         hash: reduce memory pressure in hash_rehash no-op case
42718         * lib/hash.c (next_prime): Avoid overflow.
42719         (hash_initialize): Factor bucket size computation...
42720         (compute_bucket_size): ...into new helper function.
42721         (hash_rehash): Use new function and open coding to reduce memory
42722         pressure, and avoid a memory leak in USE_OBSTACK code.
42723         Reported by Jim Meyering.
42724
42725 2009-06-18  Eric Blake  <ebb9@byu.net>
42726
42727         hash: make rotation more obvious
42728         * modules/hash (Depends-on): Add bitrotate and stdint.
42729         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42730         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42731         (SIZE_MAX): Rely on headers for definition.
42732         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42733         (raw_hasher): Use rotr_sz.
42734         Suggested by Jim Meyering.
42735
42736         hash: fix memory leak in last patch
42737         * lib/hash.c (hash_rehash): Avoid memory leak.
42738
42739         hash: avoid no-op rehashing
42740         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42741
42742         hash: provide default callback functions
42743         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42744         (hash_initialize): Use them as defaults.
42745         * tests/test-hash.c (main): Test this.
42746
42747         hash: minor optimization
42748         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42749         when possible.
42750         (hash_initialize): Document this promise.
42751         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42752         * tests/test-hash.c (hash_compare_strings): Test this.
42753
42754 2009-06-18  Bruno Haible  <bruno@clisp.org>
42755
42756         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42757         going to be replaced anyway.
42758
42759 2009-06-18  Bruno Haible  <bruno@clisp.org>
42760
42761         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42762         in one place.
42763         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42764         be replaced anyway.
42765
42766 2009-06-18  Eric Blake  <ebb9@byu.net>
42767
42768         hash: check for resize before insertion
42769         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42770         threshold before insertion, so that a pathological hash_rehash
42771         that fills every bucket can still trigger another rehash.
42772
42773 2009-06-18  Jim Meyering  <meyering@redhat.com>
42774
42775         hash-tests: add a loop around the small tests
42776         * tests/test-hash.c (main): Repeat small tests with selected
42777         small initial table sizes.
42778
42779 2009-06-17  Eric Blake  <ebb9@byu.net>
42780
42781         hash: minor cleanups
42782         * lib/hash.h (hash_entry): Make opaque, by moving...
42783         * lib/hash.c (hash_entry): ...here.
42784         (hash_insert): Clarify restrictions on what can be inserted.
42785         (hash_get_next): Clarify when it is safe to remove an element
42786         during traversal.
42787         (check_tuning): Skip verification when tuning is known safe.
42788         (hash_initialize): Clarify restrictions on tuning.
42789
42790 2009-06-17  Jim Meyering  <jim@meyering.net>
42791         and Eric Blake  <ebb9@byu.net>
42792
42793         hash-tests: new module
42794         * modules/hash-tests: New file.
42795         * tests/test-hash.c: New file.
42796
42797 2009-06-17  Eric Blake  <ebb9@byu.net>
42798
42799         strstr-simple: document new module
42800         * MODULES.html.sh: Document new module.
42801
42802         strstr, strcasestr: replace on platforms with broken memchr
42803         * modules/strstr: Split into...
42804         * modules/strstr-simple: ...new module that does not care about
42805         performance, but does care about glibc bug.
42806         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42807         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42808         if platform memchr is broken, per Debian bug 521737.
42809         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42810         memchr.
42811         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42812         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42813         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42814         * modules/mountlist (Depends-on): Add strstr-simple.
42815         * modules/gen-uni-tables (Depends-on): Likewise.
42816         * modules/argz (Depends-on): Add strstr.
42817
42818 2009-06-17  Bruno Haible  <bruno@clisp.org>
42819
42820         * modules/posix_spawn-internal (Depends-on): Add errno.
42821
42822 2009-06-17  Bruno Haible  <bruno@clisp.org>
42823
42824         Define missing ESTALE on Interix 3.5.
42825         * lib/errno.in.h (ESTALE): Assign a value if missing.
42826         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42827         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42828         missing.
42829         * doc/posix-headers/errno.texi: Mention the Interix bug.
42830         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42831
42832 2009-06-15  Eric Blake  <ebb9@byu.net>
42833
42834         memchr, memchr2: add valgrind exception
42835         * lib/memchr.valgrind: New file.
42836         * lib/memchr2.valgrind: New file.
42837         * modules/memchr (Files): Distribute valgrind file.
42838         * modules/memchr2 (Files): Likewise.
42839
42840         docs: memchr is no longer obsolete
42841         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42842         * lib/string.in.h (memchr): Simplify logic.
42843
42844 2009-06-14  Jim Meyering  <meyering@redhat.com>
42845
42846         link-follow: fix the "checking..." message to not mention trailing slash
42847         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42848         never considered trailing slashes.
42849
42850 2009-06-14  Bruno Haible  <bruno@clisp.org>
42851
42852         * m4/memchr.m4: Mention also the bug on IA-64.
42853         * doc/posix-functions/memchr.texi: Likewise.
42854
42855 2009-06-12  Eric Blake  <ebb9@byu.net>
42856
42857         memchr: detect broken x86_64 and alpha implementations
42858         * modules/memchr-tests (Depends-on): Move mmap detection...
42859         * modules/memchr (Depends-on): ...here.
42860         (configure.ac): Set indicator.
42861         * lib/string.in.h (memchr): Declare replacement.
42862         * modules/string (Makefile.am): Trigger replacement.
42863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42864         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42865         bugs.
42866         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42867         * modules/getpagesize (License): Relax license.
42868
42869 2009-06-11  Bruno Haible  <bruno@clisp.org>
42870
42871         * lib/idpriv.h: Add more references.
42872
42873 2009-06-08  Bruno Haible  <bruno@clisp.org>
42874
42875         Tests for module 'idpriv-droptemp'.
42876         * modules/idpriv-droptemp-tests: New file.
42877         * tests/test-idpriv-droptemp.sh: New file.
42878         * tests/test-idpriv-droptemp.su.sh: New file.
42879         * tests/test-idpriv-droptemp.c: New file.
42880
42881         New module 'idpriv-droptemp'.
42882         * lib/idpriv-droptemp.c: New file.
42883         * modules/idpriv-droptemp: New file.
42884
42885 2009-06-08  Bruno Haible  <bruno@clisp.org>
42886
42887         Tests for module 'idpriv-drop'.
42888         * modules/idpriv-drop-tests: New file.
42889         * tests/test-idpriv-drop.sh: New file.
42890         * tests/test-idpriv-drop.su.sh: New file.
42891         * tests/test-idpriv-drop.c: New file.
42892
42893         New module 'idpriv-drop'.
42894         * lib/idpriv.h: New file.
42895         * lib-idpriv-drop.c: New file.
42896         * m4/idpriv.m4: New file.
42897         * modules/idpriv-drop: New file.
42898
42899 2009-06-08  Bruno Haible  <bruno@clisp.org>
42900
42901         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42902         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42903         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42904         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42905         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42906         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42907         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42908
42909 2009-06-08  Eric Blake  <ebb9@byu.net>
42910
42911         test-strstr: use memory fence, when possible
42912         * tests/test-strstr.c (main): Use memory fence, in order to be
42913         more likely to trigger Debian bug 521737.
42914         * modules/strstr-tests (Files): Pull in additional files.
42915
42916         memchr: no longer obsolete, for wider field testing
42917         * modules/memchr (Status, Notice): Delete, this module is no
42918         longer obsolete.
42919         * modules/vasnprintf (Depends-on): Add memchr.
42920
42921 2009-06-07  Jim Meyering  <meyering@redhat.com>
42922
42923         hash: declare some functions with the warn_unused_result attribute
42924         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42925
42926 2009-06-07  Bruno Haible  <bruno@clisp.org>
42927
42928         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42929         Reported by Eric Blake.
42930
42931 2009-06-06  Eric Blake  <ebb9@byu.net>
42932
42933         test-alignof: fix typo with long double
42934         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42935         compiler error.
42936
42937 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42938
42939         Escape non-texinfo { and }s.
42940         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42941         markup error.
42942
42943 2009-06-04  Jim Meyering  <meyering@redhat.com>
42944
42945         gitlog-to-changelog: don't infloop on an empty commit log
42946         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42947         Reported by Boris Petersen <transacid@centerim.org>.
42948
42949 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42950
42951         version-etc: extend for packagers
42952         Add three new configure options, intended for packagers:
42953           --with-packager="packager name"
42954           --with-packager-version="packager-specific version"
42955           --with-packager-bug-reports="packager bug reporting"
42956         An example with coreutils:
42957           $ ./configure \
42958             --with-packager=Gentoo \
42959             --with-packager-bug-report=http://bugs.gentoo.org/ \
42960             --with-packager-version="patchset 1.6"
42961           $ ./src/ls --version | head -n2
42962           ls (GNU coreutils) 7.1-dirty
42963           Packaged by Gentoo (patchset 1.6)
42964         Note that the bug reporting info via --help doesn't show up because
42965         coreutils uses its own custom emit_bug_reporting_address() implementation
42966         in src/system.h.  If it didn't, it'd look like:
42967           $ ./src/ls --help | tail -n4
42968           Report bugs to <bug-coreutils@gnu.org>.
42969           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42970           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42971           General help using GNU software: <http://www.gnu.org/gethelp/>.
42972         * lib/version-etc.c: Print new information, if provided.
42973         * m4/version-etc.m4: New file.
42974         * modules/version-etc (Files): Add m4/version-etc.m4.
42975         (configure.ac): Add gl_VERSION_ETC.
42976
42977 2009-05-31  Bruno Haible  <bruno@clisp.org>
42978
42979         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42980         and 'int64_t'.
42981         * modules/alignof-tests (Dependencies): Add stdint.
42982         Reported by Eric Blake.
42983
42984 2009-05-31  Bruno Haible  <bruno@clisp.org>
42985
42986         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42987         restriction due to compiler bugs.
42988         Reported by Eric Blake.
42989
42990 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42991             Bruno Haible  <bruno@clisp.org>
42992
42993         Fix test-alignof failure.
42994         * lib/alignof.h (alignof_slot): New macro.
42995         (alignof_type): New macro, with the same semantics as the previous
42996         'alignof'.
42997         (alignof): Alias to alignof_slot.
42998         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42999         check that the results are usable as constant expressions.
43000
43001 2009-05-31  Bruno Haible  <bruno@clisp.org>
43002
43003         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
43004         * tests/test-memchr.c (main): Check that memchr does not read past the
43005         first occurrence of the byte.
43006         * tests/test-strstr.c (main): Update comment.
43007         Suggested by Eric Blake.
43008
43009 2009-05-30  Bruno Haible  <bruno@clisp.org>
43010
43011         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
43012         detail how to use dumpbin.
43013         Reported by David Byron <dbyron@dbyron.com>.
43014
43015 2009-06-02  Simon Josefsson  <simon@josefsson.org>
43016
43017         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
43018
43019 2009-06-02  Simon Josefsson  <simon@josefsson.org>
43020
43021         * m4/manywarnings.m4: Add GCC 4.4 warnings.
43022
43023 2009-05-28  Bruno Haible  <bruno@clisp.org>
43024
43025         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
43026         build-aux/ files.
43027
43028 2009-05-28  Simon Josefsson  <simon@josefsson.org>
43029
43030         * gnulib-tool (func_import): Transform license on build-aux/ files too.
43031
43032 2009-05-27  Simon Josefsson  <simon@josefsson.org>
43033
43034         * gnulib-tool (sed_transform_main_lib_file)
43035         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
43036         regexps.
43037
43038 2009-05-26  Simon Josefsson  <simon@josefsson.org>
43039
43040         * tests/test-strstr.c: Add another self-test.
43041         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
43042         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
43043
43044 2009-05-23  Bruno Haible  <bruno@clisp.org>
43045
43046         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
43047         change.
43048
43049 2009-05-21  Bruno Haible  <bruno@clisp.org>
43050
43051         Simplify use of mode_t varargs.
43052         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
43053         uses 'mode_t' or 'int'.
43054         * lib/openat.c (openat): Likewise.
43055         * lib/open-safer.c (open_safer): Likewise.
43056         * m4/mode_t.m4: New file.
43057         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
43058         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
43059         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
43060         * modules/open (Files): Add m4/mode_t.m4.
43061         * modules/openat (Files): Likewise.
43062         * modules/fcntl-safer (Files): Likewise.
43063         Suggested by Eric Blake.
43064
43065 2009-05-21  Pádraig Brady  <P@draigbrady.com>
43066
43067         * doc/glibc-functions/fallocate.texi: New file.
43068         * doc/gnulib.texi: Include it.
43069
43070 2009-05-21  Eric Blake  <ebb9@byu.net>
43071             Bruno Haible  <bruno@clisp.org>
43072
43073         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
43074         invocations.
43075         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
43076
43077 2009-05-21  Eric Blake  <ebb9@byu.net>
43078             Bruno Haible  <bruno@clisp.org>
43079
43080         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
43081         include_next. Fix of 2008-11-20 commit.
43082         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
43083         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
43084         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
43085         NEXT_MATH_H.
43086         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
43087         instead of NEXT_MATH_H.
43088
43089 2009-05-21  Bruno Haible  <bruno@clisp.org>
43090
43091         Avoid redefinition warnings for SIZE_MAX.
43092         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
43093         Reported by Simon Josefsson.
43094
43095 2009-05-21  Bruno Haible  <bruno@clisp.org>
43096
43097         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
43098         AC_CACHE_VAL.
43099
43100 2009-05-20  Bruno Haible  <bruno@clisp.org>
43101
43102         Make zeroptr.h work on mingw.
43103         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
43104         mprotect.
43105         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
43106         * modules/memchr2-tests (configure.ac): Likewise.
43107         * modules/memcmp-tests (configure.ac): Likewise.
43108         * modules/memmem-tests (configure.ac): Likewise.
43109         * modules/memrchr-tests (configure.ac): Likewise.
43110         Reported by Simon Josefsson.
43111
43112 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43113
43114         * tests/test-glob.c: Include string.h for strcmp prototype.
43115
43116 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43117
43118         * modules/getdelim (Depends-on): Add explicit stdint, although it
43119         was implicitly already pulled in via realloc-posix.
43120         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
43121
43122 2009-05-20  Simon Josefsson  <simon@josefsson.org>
43123
43124         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
43125         G. Christensen" <tgc@jupiterrise.com>.
43126         * m4/sys_socket_h.m4: Check for sa_family_t.
43127         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
43128         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
43129         * tests/test-sys_socket.c: Check that sa_family_t works.
43130
43131 2009-05-18  Eric Blake  <ebb9@byu.net>
43132
43133         maint.mk: allow gnulib_dir in VPATH build
43134         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
43135
43136 2009-05-15  Jim Meyering  <meyering@redhat.com>
43137
43138         maint.mk: Give gnulib_dir a default definition.
43139         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
43140         Thus, most packages no longer need to specify this variable in cfg.mk
43141
43142 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
43143
43144         rename.m4: fix typos that would make non-mingw cross-configure fail
43145         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
43146
43147 2009-05-13  Eric Blake  <ebb9@byu.net>
43148
43149         mmap-anon: avoid out-of-order autoconf expansion
43150         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
43151         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
43152         * modules/memchr-tests (Depends-on): Add extensions.
43153         * modules/memchr2-tests (Depends-on): Add extensions.
43154         * modules/memcmp-tests (Depends-on): Add extensions.
43155         * modules/memmem-tests (Depends-on): Add extensions.
43156         * modules/memrchr-tests (Depends-on): Add extensions.
43157
43158 2009-05-13  Bruno Haible  <bruno@clisp.org>
43159
43160         Make some tests ISO C 99 compliant.
43161         * tests/zerosize-ptr.h: New file.
43162         * tests/test-memchr.c: Include zerosize-ptr.h.
43163         (main): Use a zero-size object pointer instead of NULL.
43164         * tests/test-memchr2.c: Include zerosize-ptr.h.
43165         (main): Use a zero-size object pointer instead of NULL.
43166         * tests/test-memcmp.c: Include zerosize-ptr.h.
43167         (main): Use a zero-size object pointer instead of NULL.
43168         * tests/test-memmem.c: Include zerosize-ptr.h.
43169         (main): Use a zero-size object pointer instead of NULL.
43170         * tests/test-memrchr.c: Include zerosize-ptr.h.
43171         (main): Use a zero-size object pointer instead of NULL.
43172         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
43173         m4/mmap-anon.m4.
43174         (Depends-on): Add getpagesize.
43175         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43176         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
43177         m4/mmap-anon.m4.
43178         (Depends-on): Add getpagesize.
43179         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43180         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
43181         m4/mmap-anon.m4.
43182         (Depends-on): Add getpagesize.
43183         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43184         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
43185         m4/mmap-anon.m4.
43186         (Depends-on): Add getpagesize.
43187         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43188         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
43189         m4/mmap-anon.m4.
43190         (Depends-on): Add getpagesize.
43191         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43192
43193 2009-05-12  Bruno Haible  <bruno@clisp.org>
43194
43195         Tests for module 'alignof'.
43196         * modules/alignof-tests: New file.
43197         * tests/test-alignof.c: New file.
43198
43199 2009-05-12  Bruno Haible  <bruno@clisp.org>
43200
43201         Fix alignof macro.
43202         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
43203         vendor compilers that are always correct.
43204
43205 2009-05-12  Bruno Haible  <bruno@clisp.org>
43206
43207         Make the MAP_ANONYMOUS detection work on HP-UX 11.
43208         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
43209         not whether its fully works.
43210
43211 2009-05-12  Bruno Haible  <bruno@clisp.org>
43212
43213         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
43214
43215 2009-05-12  Jim Meyering  <meyering@redhat.com>
43216
43217         * top/maint.mk: Adjust backslash alignment.
43218
43219 2009-05-11  Simon Josefsson  <simon@josefsson.org>
43220
43221         * top/maint.mk: Make $(srcdir)/build-aux configurable.
43222
43223 2009-05-11  Eric Blake  <ebb9@byu.net>
43224
43225         argp: avoid undefined behavior
43226         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
43227         macros.
43228
43229 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43230
43231         * tests/test-vc-list-files-git.sh: Do git config of user.email and
43232         user.name to prevent git commit from complaining.
43233
43234 2009-05-10  Bruno Haible  <bruno@clisp.org>
43235
43236         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43237         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43238         it rewrites every file name only once.
43239         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43240
43241 2009-05-08  Bruno Haible  <bruno@clisp.org>
43242
43243         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43244         instead of 'max'.
43245
43246 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43247
43248         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43249         sockaddr_storage test.
43250
43251 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43252
43253         * modules/sys_socket (Makefile.am): Substitute
43254         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43255         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43256         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43257         * tests/test-sys_socket.c: Check sockaddr_storage.
43258
43259 2009-05-08  Bruno Haible  <bruno@clisp.org>
43260
43261         New module 'alignof'.
43262         * lib/alignof.h: New file.
43263         * modules/alignof: New file.
43264
43265 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43266             Bruno Haible  <bruno@clisp.org>
43267
43268         Fix test-file-has-acl on FreeBSD.
43269         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43270         mask is implicitly added.
43271         * tests/test-file-has-acl.c: Include <signal.h>.
43272         (main): Terminate the test after 5 seconds.
43273         * modules/acl-tests (configure.ac): Check for alarm function.
43274
43275 2009-05-04  Bruno Haible  <bruno@clisp.org>
43276
43277         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43278         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43279         * modules/errno (configure.ac): Drop AC_REQUIRE.
43280         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43281         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43282
43283 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43284
43285         * modules/glob-tests: New module.
43286         * tests/test-glob.c: Add.
43287
43288 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43289
43290         * modules/fnmatch-tests: New module.
43291         * tests/test-fnmatch.c: Add.
43292
43293 2009-05-04  Eric Blake  <ebb9@byu.net>
43294
43295         maint: make the new no-submodule-changes rule VPATH-safe
43296         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43297
43298 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43299             Bruno Haible  <bruno@clisp.org>
43300
43301         acl: Fix infinite loop on FreeBSD.
43302         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43303         of return value from acl_get_entry.
43304         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43305         Likewise.
43306
43307 2009-05-03  Bruno Haible  <bruno@clisp.org>
43308
43309         * lib/acl-internal.h (acl_entries): Clarify return value.
43310         * lib/acl_entries.c (acl_entries): Likewise.
43311
43312 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43313
43314         Bug fix in acl module.
43315         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43316
43317 2009-05-03  Bruno Haible  <bruno@clisp.org>
43318
43319         Create gperf-generated file in the source dir, not in the build dir.
43320         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43321         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43322         * modules/unicase/locale-language (unicase/locale-languages.h):
43323         Likewise.
43324         * modules/unicase/special-casing (unicase/special-casing-table.h):
43325         Likewise.
43326         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43327         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43328         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43329         Reported by Ralf Wildenhues.
43330
43331 2009-05-03  Bruno Haible  <bruno@clisp.org>
43332
43333         * modules/fnmatch (Description, configure.ac): Taken from
43334         fnmatch-posix.
43335         * modules/fnmatch-posix: Turn into a symbolic reference to the
43336         'fnmatch' module, and deprecate.
43337         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
43338
43339 2009-05-03  Bruno Haible  <bruno@clisp.org>
43340
43341         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
43342         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
43343         Reported by Ralf Wildenhues.
43344
43345 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43346
43347         * m4/fnmatch.m4: Fix fnmatch re-define.
43348
43349 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43350
43351         priv-set: new module and tests; adapt write-any-file
43352         * lib/priv-set.c: New file.
43353         * lib/priv-set.h: New file.
43354         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43355         * lib/write-any-file.c: Simplify by using priv-set module.
43356         * m4/priv-set.m4: New file.
43357         * modules/priv-set: New file.
43358         * modules/unlinkdir: Add dependency on priv-set module.
43359         * modules/write-any-file: Likewise.
43360
43361         Tests for module 'priv-set'.
43362         * modules/priv-set-tests: New file.
43363         * tests/test-priv-set.c: New file.
43364
43365 2009-05-03  Jim Meyering  <meyering@redhat.com>
43366             Bruno Haible  <bruno@clisp.org>
43367
43368         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43369         use the converted UTF-8 variant of the name instead.
43370
43371 2009-05-03  Jim Meyering  <meyering@redhat.com>
43372
43373         tests: tighten some getdate tests
43374         * tests/test-getdate.c (main): Tighten tests: require equality,
43375         not just greater than.  Set TZ envvar to UTC0.
43376
43377 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43378
43379         getdate: correctly interpret "next monday" when run on a Monday
43380         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43381         that e.g., "next tues" (when run on a tuesday) results in a date
43382         that is one week in the future, and not today's date.
43383         I.e., add a week when the wday is the same as the current one.
43384         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43385         and earlier by Martin Bernreuther and Jan Minář.
43386         * tests/test-getdate.c (main): Check that "next DAY" is always in
43387         the future and that "last DAY" is always in the past.
43388
43389 2009-05-02  Jim Meyering  <meyering@redhat.com>
43390
43391         build: ensure that a release build fails when a submodule is unclean
43392         * top/maint.mk (no-submodule-changes): New rule.
43393         (alpha beta major): Depend on it.
43394
43395 2009-05-02  Bruno Haible  <bruno@clisp.org>
43396
43397         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43398         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43399         shell variable gl_fnmatch_required to detect which variant is
43400         requested.
43401         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43402         gl_FUNC_FNMATCH_POSIX.
43403         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43404         exclude fnmatch-posix.
43405
43406 2009-05-02  Bruno Haible  <bruno@clisp.org>
43407
43408         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43409         * modules/mbsrtowcs (License): Change to LGPLv2+.
43410         * modules/strnlen1 (License): Likewise.
43411         Reported by Simon Josefsson.
43412
43413 2009-05-02  Bruno Haible  <bruno@clisp.org>
43414
43415         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43416         "cross".
43417         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43418         gnulib-tool was called with option --source-base=lib.
43419
43420 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43421
43422         Use automake *-local hooks without commands, for extensibility.
43423         * modules/localcharset (Makefile.am): Rename install-exec-local
43424         rule to install-exec-localcharset, and make it a prerequisite of
43425         install-exec-local.  Likewise, rename the uninstall-local rule to
43426         uninstall-localcharset, and make it a prerequisite of the former.
43427
43428 2009-05-01  Bruno Haible  <bruno@clisp.org>
43429
43430         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43431         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43432         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43433         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43434         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43435         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43436         m4/locale-zh.m4, m4/codeset.m4.
43437
43438         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43439         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43440         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43441         m4/locale-zh.m4.
43442
43443         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43444         REPLACE_WCRTOMB if mbstate_t must be replaced.
43445         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43446         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43447
43448 2009-05-01  Bruno Haible  <bruno@clisp.org>
43449
43450         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43451         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43452         dngettext, dcngettext, textdomain, bindtextdomain,
43453         bind_textdomain_codeset): Undefine before redefining.
43454
43455 2009-04-30  Bruno Haible  <bruno@clisp.org>
43456
43457         Fix bug introduced on 2009-04-25.
43458         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43459         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43460         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43461         is defined.
43462         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43463         is defined.
43464         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43465         is defined.
43466         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43467
43468 2009-04-28  Bruno Haible  <bruno@clisp.org>
43469
43470         Comment tweaks.
43471         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43472         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43473         * lib/unicase.h (u*_casexfrm): Likewise.
43474         Reported by Paolo Bonzini.
43475
43476 2009-04-28  Bruno Haible  <bruno@clisp.org>
43477
43478         Fix a compilation error.
43479         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43480         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43481         Reported by Jim Meyering.
43482
43483 2009-04-27  Bruno Haible  <bruno@clisp.org>
43484
43485         New module 'libunistring'.
43486         * modules/libunistring: New file.
43487         * m4/libunistring.m4: New file.
43488         * MODULES.html.sh (Unicode string functions): Add it.
43489
43490 2009-04-27  Eric Blake  <ebb9@byu.net>
43491
43492         maint.mk: allow package-specific header to provide <config.h>
43493         * top/maint.mk (sc_require_config_h): New variable.
43494         (sc_require_config_h, sc_require_config_h_first): Use it.
43495
43496 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43497
43498         * top/maint.mk (sc_avoid_if_before_free): Except
43499         useless-if-before-free script.
43500
43501 2009-04-27  Eric Blake  <ebb9@byu.net>
43502
43503         maintainer-makefile: depend on all required helper scripts
43504         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43505         useless-if-before-free.
43506         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43507         version, rather than assuming gnulib checkout is available.
43508         Reported by Simen Josefsson.
43509
43510 2009-04-26  Bruno Haible  <bruno@clisp.org>
43511
43512         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43513         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43514         "../" or "..".
43515
43516 2009-04-26  Bruno Haible  <bruno@clisp.org>
43517
43518         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43519         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43520         AC_LIB_HAVE_LINKFLAGS.
43521
43522 2009-04-26  Bruno Haible  <bruno@clisp.org>
43523
43524         Simplify calling convention of u*_conv_from_encoding.
43525         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43526         u32_conv_from_encoding): Expect a resultbuf argument and return the
43527         result directly as a pointer.
43528         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43529         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43530         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43531         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43532         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43533         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43534         Update.
43535         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43536         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43537         * lib/vasnprintf.c (VASNPRINTF): Update.
43538         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43539         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43540         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43541         * NEWS: Mention the change.
43542
43543 2009-04-26  Bruno Haible  <bruno@clisp.org>
43544
43545         Simplify calling convention of u*_conv_to_encoding.
43546         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43547         u32_conv_to_encoding): Expect a resultbuf argument and return the
43548         result directly as a pointer.
43549         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43550         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43551         freeing scaled_offsets if mem_iconveha failed.
43552         * lib/unicase/u-casexfrm.h (FUNC): Update.
43553         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43554         * lib/vasnprintf.c (VASNPRINTF): Update.
43555         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43556         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43557         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43558         * NEWS: Mention the change.
43559
43560 2009-04-26  Bruno Haible  <bruno@clisp.org>
43561
43562         Avoid test failures on AIX and OSF/1.
43563         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43564         malloc(0).
43565         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43566         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43567         Likewise.
43568         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43569         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43570         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43571         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43572         * doc/posix-functions/malloc.texi: Document the portability problem
43573         related to malloc(0).
43574
43575 2009-04-26  Bruno Haible  <bruno@clisp.org>
43576
43577         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43578         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43579         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43580
43581 2009-04-25  Bruno Haible  <bruno@clisp.org>
43582
43583         Avoid link error when creating a namespace clean library.
43584         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43585         as macro with arguments if already defined as an alias.
43586         * lib/signbitf.c (gl_signbitf): Don't undefine.
43587         * lib/signbitd.c (gl_signbitd): Don't undefine.
43588         * lib/signbitl.c (gl_signbitl): Don't undefine.
43589
43590 2009-04-25  Jim Meyering  <meyering@redhat.com>
43591
43592         vc-list-files: fix another quoting bug
43593         * build-aux/vc-list-files: Avoid sed backslash expansion
43594         of pathological directory names.
43595
43596 2009-04-25  Eric Blake  <ebb9@byu.net>
43597
43598         vc-list-files: fix shell quoting error
43599         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43600         timestamp.
43601
43602 2009-04-25  Jim Meyering  <meyering@redhat.com>
43603
43604         vc-list-files: restore lost functionality with subdir argument
43605         * build-aux/vc-list-files: When given a non-"." sub-directory
43606         argument, substitute the $dir/ prefix back onto each resulting name.
43607         Otherwise, coreutils' root_tests check would fail.
43608
43609 2009-04-24  Eric Blake  <ebb9@byu.net>
43610
43611         vc-list-files: ignore git symlinks
43612         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43613         than ls-files, to ignore git symlinks.
43614
43615         maint.mk: import improvements from m4
43616         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43617         (move_if_change): Delete unused macro.
43618         (news-date-check, vc-diff-check): Support VPATH builds.
43619         (announcement): Likewise.  Split --bootstrap-tools list...
43620         (boostrap-tools): ...into separate list, which can be overridden
43621         in cfg.mk.
43622         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43623         requiring dependency on useless-if-before-free module.
43624         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43625         Support VPATH builds.
43626
43627 2009-04-24  Jim Meyering  <meyering@redhat.com>
43628
43629         maint.mk: remove coreutils-specific rules and variables
43630         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43631         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43632         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43633
43634         maint.mk: remove obsolete rule
43635         * top/maint.mk (rel-check): Remove rule.
43636         (WGET, WGETFLAGS): Remove now-unused variables.
43637
43638 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43639
43640         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43641         consistency.
43642
43643         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43644         '$(PATH_SEPARATOR)' instead of ':'.
43645
43646 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43647
43648         * lib/getopt1.c (main): Use 'const' for static array.
43649
43650 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43651
43652         * top/maint.mk: Sync with coreutils.
43653         * NEWS: Explain incompatibilities.
43654
43655 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43656             Bruno Haible  <bruno@clisp.org>
43657
43658         Fix cross-compilation results.
43659         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43660         statement, as third argument of AC_TRY_RUN.
43661         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43662         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43663         Likewise.
43664         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43665         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43666         Likewise.
43667         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43668         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43669         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43670
43671 2009-04-20  Bruno Haible  <bruno@clisp.org>
43672
43673         Avoid test failure on mingw.
43674         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43675
43676 2009-04-20  Bruno Haible  <bruno@clisp.org>
43677
43678         Avoid compilation error on mingw.
43679         * modules/localename-tests (Depends-on): Add locale.
43680
43681 2009-04-19  Bruno Haible  <bruno@clisp.org>
43682
43683         Support for building a shared library on Windows platforms.
43684         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43685         (main): Test the presence of UNINORM_NFC here.
43686         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43687         (main): Test the presence of UNINORM_NFD here.
43688         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43689         (main): Test the presence of UNINORM_NFKC here.
43690         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43691         (main): Test the presence of UNINORM_NFKD here.
43692
43693 2009-04-19  Bruno Haible  <bruno@clisp.org>
43694
43695         Avoid a compiler warning.
43696         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43697         Change type of variable 'sequence'.
43698
43699 2009-04-19  Bruno Haible  <bruno@clisp.org>
43700
43701         * modules/configmake (Makefile.am): When the contents of configmake.h
43702         does not change, arrange to preserve its modification time.
43703
43704 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43705
43706         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43707         gettext domain.
43708
43709 2009-04-16  Jim Meyering  <meyering@redhat.com>
43710
43711         useless-if-before-free: improve conversion code
43712         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43713         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43714
43715 2009-04-14  Bruno Haible  <bruno@clisp.org>
43716
43717         * modules/fcntl (Depends-on): Add extensions.
43718         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43719
43720 2009-04-12  Ben Pfaff  <blp@gnu.org>
43721
43722         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43723         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43724
43725 2009-03-20  Ben Pfaff  <blp@gnu.org>
43726
43727         Make rename replace existing destinations on Windows.
43728         * m4/rename.m4: Add test for Mingw.
43729         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43730         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43731         * doc/posix-functions/rename.texi: Document.
43732
43733 2009-04-10  Bruno Haible  <bruno@clisp.org>
43734
43735         New include file "iconveh.h".
43736         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43737         * lib/striconveh.h: Include it.
43738         (enum iconv_ilseq_handler): Remove definition.
43739         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43740         striconveh.h.
43741         * lib/striconveha.c: Include striconveh.h.
43742         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43743         * modules/striconveh (Files): Add lib/iconveh.h.
43744         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43745         lib/striconveh.h.
43746
43747 2009-04-10  Bruno Haible  <bruno@clisp.org>
43748
43749         * lib/uniconv.h: Update comment.
43750
43751 2009-04-10  Bruno Haible  <bruno@clisp.org>
43752
43753         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43754         always.
43755         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43756         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43757         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43758         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43759         "unistring-notinline.h", so that the function gets defined always.
43760         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43761         * lib/unistr/u8-uctomb.c: Likewise.
43762         * lib/unistr/u16-mbtouc.c: Likewise.
43763         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43764         * lib/unistr/u16-uctomb.c: Likewise.
43765         * lib/unistr/u32-mbtouc.c: Likewise.
43766         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43767         * lib/unistr/u32-uctomb.c: Likewise.
43768
43769 2009-04-10  Bruno Haible  <bruno@clisp.org>
43770
43771         Mark 'utime' obsolete.
43772         * modules/utime (Status, Notice): New sections.
43773         Suggested by Jim Meyering.
43774
43775         Fix cross-compile guess for utime test.
43776         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43777         autoconf.
43778         * doc/posix-functions/utime.texi: Give more precisions.
43779         Reported by Jan <ipif@ymail.com>.
43780
43781 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43782
43783         filevercmp: correct today's change
43784         * lib/filevercmp.c: Also handle coreutils' test inputs.
43785         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43786
43787         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43788         for reporting it.
43789         * lib/filevercmp.c: Special handle for "", "." and "..".
43790         * tests/test-filevercmp.c: Enlarge the set suite.
43791
43792 2009-04-07  Jim Meyering  <meyering@redhat.com>
43793
43794         useless-if-before-free: show how to remove braced useless free, too
43795         * build-aux/useless-if-before-free: still only in a comment, though.
43796
43797 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43798
43799         maint.mk: import changes to syntax-check macros from coreutils
43800         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43801         Use them in the relevant macros.
43802
43803 2009-04-06  Bruno Haible  <bruno@clisp.org>
43804
43805         Fix unportable use of bit-fields.
43806         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43807         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43808         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43809
43810 2009-04-06  Bruno Haible  <bruno@clisp.org>
43811
43812         Avoid test failures on AIX and OSF/1.
43813         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43814         that malloc(0) = NULL.
43815         * tests/unicase/test-u8-tolower.c (check): Likewise.
43816         * tests/unicase/test-u8-totitle.c (check): Likewise.
43817         * tests/unicase/test-u8-toupper.c (check): Likewise.
43818         * tests/unicase/test-u16-casefold.c (check): Likewise.
43819         * tests/unicase/test-u16-tolower.c (check): Likewise.
43820         * tests/unicase/test-u16-totitle.c (check): Likewise.
43821         * tests/unicase/test-u16-toupper.c (check): Likewise.
43822         * tests/unicase/test-u32-casefold.c (check): Likewise.
43823         * tests/unicase/test-u32-tolower.c (check): Likewise.
43824         * tests/unicase/test-u32-totitle.c (check): Likewise.
43825         * tests/unicase/test-u32-toupper.c (check): Likewise.
43826         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43827         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43828         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43829         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43830         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43831         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43832         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43833         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43834         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43835         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43836         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43837         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43838
43839 2009-04-05  Bruno Haible  <bruno@clisp.org>
43840
43841         Work around an autoconf limitation.
43842         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43843         comment line if it would be longer than 3 KB.
43844
43845 2009-04-05  Bruno Haible  <bruno@clisp.org>
43846
43847         Avoid test failure with libiconv-1.13.
43848         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43849         of the expected test results.
43850
43851 2009-04-05  Bruno Haible  <bruno@clisp.org>
43852
43853         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43854         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43855         that it should be installed.
43856
43857 2009-04-05  Bruno Haible  <bruno@clisp.org>
43858
43859         * gnulib-tool: New option --copy-file.
43860         (func_usage): Document it.
43861         (func_dest_tmpfilename): Moved out of func_import.
43862         (func_add_file, func_update_file): New functions, extracted from
43863         func_import.
43864         (func_import): Update.
43865
43866 2009-04-05  Karl Berry  <karl@gnu.org>
43867
43868         * README: prominently mention gnulib-tool.
43869         Rearrange sections so getting the code is near the top.
43870
43871 2009-04-05  Bruno Haible  <bruno@clisp.org>
43872
43873         * lib/unicase.h: Mention u*_cmp2.
43874         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43875         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43876         * lib/unicase/ulc-casecmp.c: Likewise.
43877         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43878         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43879         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43880         unistr/u8-cmp.
43881         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43882         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43883         unistr/u16-cmp.
43884         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43885         unistr/u32-cmp.
43886
43887         * lib/uninorm.h: Mention u*_cmp2.
43888         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43889         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43890         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43891         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43892         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43893         unistr/u8-cmp.
43894         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43895         unistr/u16-cmp.
43896         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43897         unistr/u32-cmp.
43898
43899         New module 'unistr/u32-cmp2'.
43900         * lib/unistr/u32-cmp2.c: New file.
43901         * modules/unistr/u32-cmp2: New file.
43902
43903         New module 'unistr/u16-cmp2'.
43904         * lib/unistr/u16-cmp2.c: New file.
43905         * modules/unistr/u16-cmp2: New file.
43906
43907         New module 'unistr/u8-cmp2'.
43908         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43909         * lib/unistr/u8-cmp2.c: New file.
43910         * lib/unistr/u-cmp2.h: New file.
43911         * modules/unistr/u8-cmp2: New file.
43912
43913 2009-04-05  Bruno Haible  <bruno@clisp.org>
43914
43915         * lib/unictype.h (uc_property_is_valid): New macro.
43916         * tests/unictype/test-pr_byname.c (main): Use it.
43917
43918         * lib/unistr.h: Doc fixes.
43919         * lib/uniconv.h: Doc fixes.
43920         * lib/unictype.h: Doc fixes.
43921
43922 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43923
43924         Port coreutils 7.2 to Solaris 8.
43925
43926         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43927         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43928         for Solaris 8.  This is a bit of a hack, as it means it's the
43929         caller's responsibility to add -lnsl if needed, but most likely it
43930         won't be needed since only getaddrinfo uses this and getaddrinfo
43931         isn't needed on Solaris 8.
43932
43933         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43934         problem to Solaris 8 encountered with coreutils 7.2, which
43935         resulted in a message "fnmatch.c:292: warning: passing argument 4
43936         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43937         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43938
43939 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43940
43941         * m4/ld-version-script.m4: Add FIXME comment.
43942
43943 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43944
43945         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43946         SOVERSION variable.
43947
43948 2009-04-02  Bruno Haible  <bruno@clisp.org>
43949
43950         * Makefile (info, html, dvi, pdf): Combine the rules.
43951         Suggested by Jim Meyering.
43952
43953 2009-04-01  Bruno Haible  <bruno@clisp.org>
43954
43955         * Makefile (info, html, dvi, pdf): New targets.
43956         Reported by Reuben Thomas <rrt@sc3d.org>.
43957
43958 2009-04-01  Bruno Haible  <bruno@clisp.org>
43959
43960         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43961         can be put into PATH.
43962         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43963
43964 2009-04-01  Bruno Haible  <bruno@clisp.org>
43965
43966         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43967
43968 2009-04-01  Bruno Haible  <bruno@clisp.org>
43969
43970         Rename module 'visibility'.
43971         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43972         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43973         * doc/gnulib.texi: Update.
43974         * MODULES.html.sh (Misc): Update.
43975         * NEWS: Mention the change.
43976
43977 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43978
43979         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43980         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43981         Eric Blake <ebb9@byu.net> for review.
43982         * MODULES.html.sh: Add lib-msvc-compat.
43983         * doc/gnulib.texi: Link to new section.
43984         * m4/ld-output-def.m4: New file.
43985         * doc/ld-output-def.texi: New file.
43986
43987 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43988
43989         Rename ld-version-script to lib-symbol-versions.  Suggested by
43990         Bruno Haible <bruno@clisp.org>.
43991         * modules/ld-version-script: Renamed to lib-symbol-versions.
43992         * doc/ld-version-script.texi: Fix module name.
43993         * MODULES.html.sh: Add lib-symbol-versions.
43994
43995 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43996
43997         * modules/u64-tests: New file.
43998         * tests/test-u64.c: New file.
43999
44000 2009-03-04  Simon Josefsson  <simon@josefsson.org>
44001
44002         * MODULES.html.sh: Mention u64.
44003         * modules/u64: New module.
44004         * modules/crypto/sha512: Depend on u64 module instead of providing
44005         u64.h.
44006
44007 2009-03-27  Eric Blake  <ebb9@byu.net>
44008
44009         test-strerror: make debugging EAI_SYSTEM easier
44010         * modules/getaddrinfo-tests (Depends-on): Add strerror.
44011         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
44012         failure was EAI_SYSTEM.
44013
44014 2009-03-25  Bruno Haible  <bruno@clisp.org>
44015
44016         Fix a problem with --enable-relocatable on Solaris 7.
44017         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
44018         since 2008-02-24.
44019
44020 2009-03-25  Eric Blake  <ebb9@byu.net>
44021
44022         test-sockets: avoid gcc warning
44023         * tests/test-sockets.c (main): Silence compiler warning.
44024
44025 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
44026
44027         New modules nproc, pthread, contributed by Glen Lenker.
44028
44029         * MODULES.html.sh: Add pthread, nproc.
44030         * lib/nproc.c: New file.
44031         * lib/nproc.h: New file.
44032         * lib/pthread.in.h: New file.
44033         * m4/pthread.m4: New file.
44034         * modules/nproc: New file.
44035         * modules/pthread: New file.
44036
44037 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44038
44039         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
44040         New variable.
44041
44042 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
44043
44044         filevercmp: handle simple~ and numbered.~3~ backup suffixes
44045         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
44046         * tests/test-filevercmp.c: Add tests for backup suffixes.
44047
44048 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44049
44050         * modules/stdlib (Depends-on): Add stdint, needed when defining
44051         struct random_data on, for example, HP-UX 10.20.  Reported by
44052         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44053
44054 2009-03-24  Simon Josefsson  <simon@josefsson.org>
44055
44056         * lib/readline.c (readline): Call fflush on stdout after printing
44057         prompt.
44058
44059 2009-03-20  Bruno Haible  <bruno@clisp.org>
44060
44061         Remove dependency from 'close' module to -lws2_32 on native Windows.
44062         * lib/close-hook.h: New file.
44063         * lib/close-hook.c: New file.
44064         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
44065         w32sock.h.
44066         (_gl_close_fd_maybe_socket): Remove function.
44067         (rpl_close): Invoke execute_all_close_hooks instead of
44068         _gl_close_fd_maybe_socket.
44069         * lib/sockets.c: Include close-hook.h, w32sock.h.
44070         (close_fd_maybe_socket): New function, essentially from lib/close.c.
44071         (close_sockets_hook): New variable.
44072         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
44073         (gl_sockets_cleanup): Unregister it.
44074         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
44075         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
44076         * modules/close-hook: New file.
44077         * modules/close (Files): Remove lib/w32sock.h.
44078         (Depends-on): Add close-hook.
44079         (Link): Remove section.
44080         * modules/sockets (Files): Add lib/w32sock.h.
44081         (Depends-on): Add close-hook.
44082         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
44083         invocation.
44084         * NEWS: Mention that LIB_CLOSE is gone.
44085
44086 2009-03-23  Eric Blake  <ebb9@byu.net>
44087
44088         signal-tests: test previous patch
44089         * tests/test-signal.c: New file.
44090         * modules/signal-tests: Likewise.
44091
44092         signal.h: always support 'volatile sig_atomic_t'
44093         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
44094         (gl_SIGNAL_H_DEFAULTS): Add a default.
44095         * modules/signal (Makefile.am): Substitute if needed.
44096         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
44097         users can blindly add volatile.
44098         * doc/posix-headers/signal.texi (signal.h): Document it.
44099         Reported by Matthew Woehlke.
44100
44101 2009-03-23  Jim Meyering  <meyering@redhat.com>
44102
44103         pathmax: PATH_MAX: use pathconf only when available
44104         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
44105         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
44106         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
44107         This avoids a link failure in a PSP cross-compilation environment
44108         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
44109
44110         * lib/vasnprintf.c (divide): Fix typo in comment.
44111
44112 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44113
44114         * gnulib-tool (func_filter_filelist): Fix comment.
44115
44116 2009-03-20  Bruno Haible  <bruno@clisp.org>
44117
44118         Make sockets.h self-contained.
44119         * lib/sockets.c: Include sockets.h first.
44120         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
44121
44122 2009-03-19  Eric Blake  <ebb9@byu.net>
44123
44124         doc: mention more functions added in cygwin 1.7.0
44125         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
44126         addition.
44127         * doc/posix-functions/log2f.texi: Likewise.
44128
44129 2009-03-19  Jim Meyering  <meyering@redhat.com>
44130
44131         fsusage: avoid syntax error due to statement-before-declaration
44132         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
44133         after all declarations.  Reported by Matthew Woehlke in
44134         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
44135
44136 2009-03-18  Eric Blake  <ebb9@byu.net>
44137
44138         build-aux/compile: sync from automake
44139         * build-aux/compile: New file, from automake.
44140         * config/srclist.txt: Mention build-aux/compile.
44141
44142 2009-03-17  Bruno Haible  <bruno@clisp.org>
44143
44144         * lib/git-merge-changelog.c: Fix typo in comment.
44145         Reported by Reuben Thomas <rrt@sc3d.org>.
44146
44147 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
44148
44149         * m4/regex.m4: update and improve help for
44150         --without-included-regex.
44151
44152 2009-03-17  Simon Josefsson  <simon@josefsson.org>
44153
44154         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
44155         failure on missing include files.
44156
44157 2009-03-17  Eric Blake  <ebb9@byu.net>
44158
44159         doc: mention more functions added in cygwin 1.7.0
44160         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
44161         addition.
44162         * doc/posix-functions/fwscanf.texi: Likewise.
44163         * doc/posix-functions/swprintf.texi: Likewise.
44164         * doc/posix-functions/swscanf.texi: Likewise.
44165         * doc/posix-functions/vfwprintf.texi: Likewise.
44166         * doc/posix-functions/vfwscanf.texi: Likewise.
44167         * doc/posix-functions/vswprintf.texi: Likewise.
44168         * doc/posix-functions/vswscanf.texi: Likewise.
44169         * doc/posix-functions/vwprintf.texi: Likewise.
44170         * doc/posix-functions/vwscanf.texi: Likewise.
44171         * doc/posix-functions/wcscasecmp.texi: Likewise.
44172         * doc/posix-functions/wcsdup.texi: Likewise.
44173         * doc/posix-functions/wcsftime.texi: Likewise.
44174         * doc/posix-functions/wcsncasecmp.texi: Likewise.
44175         * doc/posix-functions/wprintf.texi: Likewise.
44176         * doc/posix-functions/wscanf.texi: Likewise.
44177         * doc/glibc-functions/gethostbyname2.texi: Likewise.
44178
44179 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44180
44181         maint.mk: really add $(AM_MAKEFLAGS)
44182         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
44183         was inadvertently omitted in the last commit.
44184         Spotted by Bruno Haible.
44185
44186         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
44187         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
44188         $(AM_MAKEFLAGS)' rather than plain `make'.
44189
44190         gnulib-tool: execute $MAKE not make
44191         * gnulib-tool: Default $MAKE to 'make'.
44192         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
44193         than make.  Initialize $MAKE in the do-autobuild script.
44194
44195         gnulib-tool: use $MAKE not make in generated files
44196         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
44197         make, in generated files.  Initialize $MAKE in the do-autobuild
44198         script.
44199
44200         * top/GNUmakefile (_have-git-version-gen): Fix typo.
44201
44202         GNUmakefile: disable parallelism only for multiple, recursive targets
44203         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
44204         additions in the Makefile.
44205         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
44206         by Automake.
44207         (.NOTPARALLEL): Only disable parallel builds if multiple targets
44208         are listed on the command line and at least one of them is
44209         listed in $(ALL_RECURSIVE_TARGETS).
44210
44211 2009-03-14  Bruno Haible  <bruno@clisp.org>
44212
44213         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
44214         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
44215         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
44216         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
44217         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
44218         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
44219         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
44220         unistr/u8-uctomb.
44221         * modules/unistr/u8-strchr (Depends-on): Likewise.
44222         * modules/unistr/u8-strrchr (Depends-on): Likewise.
44223         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
44224         unistr/u16-uctomb.
44225         * modules/unistr/u16-strchr (Depends-on): Likewise.
44226         * modules/unistr/u16-strrchr (Depends-on): Likewise.
44227
44228 2009-03-12  Bruno Haible  <bruno@clisp.org>
44229
44230         Work around select() bug on Interix 3.5.
44231         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
44232         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
44233         * m4/select.m4: New file.
44234         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44235         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44236         * modules/select (Files): Add m4/select.m4.
44237         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44238         * modules/nanosleep (Depends-on): Add select.
44239         * modules/poll (Depends-on): Likewise.
44240         * doc/posix-functions/select.texi: Mention the Interix bug.
44241         Reported by Markus Duft <mduft@gentoo.org>.
44242
44243         * lib/select.c: Renamed from lib/winsock-select.c.
44244         * modules/select (Files): Add lib/select.c, remove
44245         lib/winsock-select.c.
44246         (configure.ac): Update.
44247
44248 2009-03-12  Jim Meyering  <meyering@redhat.com>
44249
44250         avoid gcc warnings about unused macro definitions
44251         * lib/readtokens.c (STREQ): Remove unused definition.
44252         * lib/xmalloc.c (SIZE_MAX): Likewise.
44253         * lib/openat-die.c (N_): Likewise.
44254         * lib/mountlist.c (SIZE_MAX): Remove definition.
44255         Instead, include <stdint.h>.
44256         * lib/readutmp.c: Likewise.
44257         * modules/readutmp (Depends-on): Add stdint.
44258         * modules/mountlist (Depends-on): Add stdint.
44259         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44260
44261 2009-03-10  Bruno Haible  <bruno@clisp.org>
44262
44263         Tests for module 'mbmemcasecoll'.
44264         * modules/mbmemcasecoll-tests: New file.
44265         * tests/test-mbmemcasecoll1.sh: New file.
44266         * tests/test-mbmemcasecoll2.sh: New file.
44267         * tests/test-mbmemcasecoll3.sh: New file.
44268         * tests/test-mbmemcasecoll.c: New file.
44269
44270         New module 'mbmemcasecoll'.
44271         * lib/mbmemcasecoll.h: New file.
44272         * lib/mbmemcasecoll.c: New file.
44273         * modules/mbmemcasecoll: New file.
44274
44275         * tests/test-mbmemcasecmp.h: New file, extracted from
44276         tests/test-mbmemcasecmp.c.
44277         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44278         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44279         (main): Update.
44280         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44281
44282 2009-03-09  Bruno Haible  <bruno@clisp.org>
44283
44284         Tests for module 'mbmemcasecmp'.
44285         * modules/mbmemcasecmp-tests: New file.
44286         * tests/test-mbmemcasecmp1.sh: New file.
44287         * tests/test-mbmemcasecmp2.sh: New file.
44288         * tests/test-mbmemcasecmp3.sh: New file.
44289         * tests/test-mbmemcasecmp.c: New file.
44290
44291         New module 'mbmemcasecmp'.
44292         * lib/mbmemcasecmp.h: New file.
44293         * lib/mbmemcasecmp.c: New file.
44294         * modules/mbmemcasecmp: New file.
44295
44296 2009-03-09  Bruno Haible  <bruno@clisp.org>
44297
44298         Tests for module 'unicase/ulc-casecoll'.
44299         * modules/unicase/ulc-casecoll-tests: New file.
44300         * tests/unicase/test-ulc-casecoll1.sh: New file.
44301         * tests/unicase/test-ulc-casecoll2.sh: New file.
44302         * tests/unicase/test-ulc-casecoll.c: New file.
44303
44304         New module 'unicase/ulc-casecoll'.
44305         * lib/unicase.h (ulc_casecoll): New declaration.
44306         * lib/unicase/ulc-casecoll.c: New file.
44307         * modules/unicase/ulc-casecoll: New file.
44308
44309         New module 'unicase/ulc-casexfrm'.
44310         * lib/unicase.h (ulc_casexfrm): New declaration.
44311         * lib/unicase/ulc-casexfrm.c: New file.
44312         * modules/unicase/ulc-casexfrm: New file.
44313
44314 2009-03-09  Bruno Haible  <bruno@clisp.org>
44315
44316         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44317         invocations.
44318
44319         * m4/mbscasecmp.m4: Remove file.
44320         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44321         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44322
44323         * m4/mbscasestr.m4: Remove file.
44324         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44325         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44326
44327         * m4/mbschr.m4: Remove file.
44328         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44329         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44330
44331         * m4/mbscspn.m4: Remove file.
44332         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
44333         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
44334
44335         * m4/mbslen.m4: Remove file.
44336         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
44337         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
44338
44339         * m4/mbsncasecmp.m4: Remove file.
44340         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
44341         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
44342
44343         * m4/mbsnlen.m4: Remove file.
44344         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
44345         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
44346
44347         * m4/mbspbrk.m4: Remove file.
44348         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
44349         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
44350
44351         * m4/mbspcasecmp.m4: Remove file.
44352         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44353         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44354
44355         * m4/mbsrchr.m4: Remove file.
44356         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44357         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44358
44359         * m4/mbssep.m4: Remove file.
44360         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44361         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44362
44363         * m4/mbsspn.m4: Remove file.
44364         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44365         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44366
44367         * m4/mbsstr.m4: Remove file.
44368         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44369         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44370
44371         * m4/mbstok_r.m4: Remove file.
44372         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44373         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44374
44375         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44376
44377         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44378         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44379
44380         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44381
44382 2009-03-08  Bruno Haible  <bruno@clisp.org>
44383
44384         Tests for module 'unicase/ulc-casecmp'.
44385         * modules/unicase/ulc-casecmp-tests: New file.
44386         * tests/unicase/test-ulc-casecmp1.sh: New file.
44387         * tests/unicase/test-ulc-casecmp2.sh: New file.
44388         * tests/unicase/test-ulc-casecmp.c: New file.
44389
44390         New module 'unicase/ulc-casecmp'.
44391         * lib/unicase.h (ulc_casecmp): New declaration.
44392         * lib/unicase/ulc-casecmp.c: New file.
44393         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44394         'const SRC_UNIT *'.
44395         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44396         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44397         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44398         * modules/unicase/ulc-casecmp: New file.
44399
44400         Tests for module 'unicase/u32-is-cased'.
44401         * modules/unicase/u32-is-cased-tests: New file.
44402         * tests/unicase/test-u32-is-cased.c: New file.
44403
44404         Tests for module 'unicase/u16-is-cased'.
44405         * modules/unicase/u16-is-cased-tests: New file.
44406         * tests/unicase/test-u16-is-cased.c: New file.
44407
44408         Tests for module 'unicase/u8-is-cased'.
44409         * modules/unicase/u8-is-cased-tests: New file.
44410         * tests/unicase/test-u8-is-cased.c: New file.
44411         * tests/unicase/test-is-cased.h: New file.
44412
44413         New module 'unicase/u32-is-cased'.
44414         * lib/unicase/u32-is-cased.c: New file.
44415         * modules/unicase/u32-is-cased: New file.
44416
44417         New module 'unicase/u16-is-cased'.
44418         * lib/unicase/u16-is-cased.c: New file.
44419         * modules/unicase/u16-is-cased: New file.
44420
44421         New module 'unicase/u8-is-cased'.
44422         * lib/unicase/u8-is-cased.c: New file.
44423         * lib/unicase/u-is-cased.h: New file.
44424         * modules/unicase/u8-is-cased: New file.
44425
44426         Tests for module 'unicase/u32-is-casefolded'.
44427         * modules/unicase/u32-is-casefolded-tests: New file.
44428         * tests/unicase/test-u32-is-casefolded.c: New file.
44429
44430         Tests for module 'unicase/u16-is-casefolded'.
44431         * modules/unicase/u16-is-casefolded-tests: New file.
44432         * tests/unicase/test-u16-is-casefolded.c: New file.
44433
44434         Tests for module 'unicase/u8-is-casefolded'.
44435         * modules/unicase/u8-is-casefolded-tests: New file.
44436         * tests/unicase/test-u8-is-casefolded.c: New file.
44437         * tests/unicase/test-is-casefolded.h: New file.
44438
44439         New module 'unicase/u32-is-casefolded'.
44440         * lib/unicase/u32-is-casefolded.c: New file.
44441         * modules/unicase/u32-is-casefolded: New file.
44442
44443         New module 'unicase/u16-is-casefolded'.
44444         * lib/unicase/u16-is-casefolded.c: New file.
44445         * modules/unicase/u16-is-casefolded: New file.
44446
44447         New module 'unicase/u8-is-casefolded'.
44448         * lib/unicase/u8-is-casefolded.c: New file.
44449         * modules/unicase/u8-is-casefolded: New file.
44450
44451         Tests for module 'unicase/u32-is-titlecase'.
44452         * modules/unicase/u32-is-titlecase-tests: New file.
44453         * tests/unicase/test-u32-is-titlecase.c: New file.
44454
44455         Tests for module 'unicase/u16-is-titlecase'.
44456         * modules/unicase/u16-is-titlecase-tests: New file.
44457         * tests/unicase/test-u16-is-titlecase.c: New file.
44458
44459         Tests for module 'unicase/u8-is-titlecase'.
44460         * modules/unicase/u8-is-titlecase-tests: New file.
44461         * tests/unicase/test-u8-is-titlecase.c: New file.
44462         * tests/unicase/test-is-titlecase.h: New file.
44463
44464         New module 'unicase/u32-is-titlecase'.
44465         * lib/unicase/u32-is-titlecase.c: New file.
44466         * modules/unicase/u32-is-titlecase: New file.
44467
44468         New module 'unicase/u16-is-titlecase'.
44469         * lib/unicase/u16-is-titlecase.c: New file.
44470         * modules/unicase/u16-is-titlecase: New file.
44471
44472         New module 'unicase/u8-is-titlecase'.
44473         * lib/unicase/u8-is-titlecase.c: New file.
44474         * modules/unicase/u8-is-titlecase: New file.
44475
44476         Tests for module 'unicase/u32-is-lowercase'.
44477         * modules/unicase/u32-is-lowercase-tests: New file.
44478         * tests/unicase/test-u32-is-lowercase.c: New file.
44479
44480         Tests for module 'unicase/u16-is-lowercase'.
44481         * modules/unicase/u16-is-lowercase-tests: New file.
44482         * tests/unicase/test-u16-is-lowercase.c: New file.
44483
44484         Tests for module 'unicase/u8-is-lowercase'.
44485         * modules/unicase/u8-is-lowercase-tests: New file.
44486         * tests/unicase/test-u8-is-lowercase.c: New file.
44487         * tests/unicase/test-is-lowercase.h: New file.
44488
44489         New module 'unicase/u32-is-lowercase'.
44490         * lib/unicase/u32-is-lowercase.c: New file.
44491         * modules/unicase/u32-is-lowercase: New file.
44492
44493         New module 'unicase/u16-is-lowercase'.
44494         * lib/unicase/u16-is-lowercase.c: New file.
44495         * modules/unicase/u16-is-lowercase: New file.
44496
44497         New module 'unicase/u8-is-lowercase'.
44498         * lib/unicase/u8-is-lowercase.c: New file.
44499         * modules/unicase/u8-is-lowercase: New file.
44500
44501         Tests for module 'unicase/u32-is-uppercase'.
44502         * modules/unicase/u32-is-uppercase-tests: New file.
44503         * tests/unicase/test-u32-is-uppercase.c: New file.
44504
44505         Tests for module 'unicase/u16-is-uppercase'.
44506         * modules/unicase/u16-is-uppercase-tests: New file.
44507         * tests/unicase/test-u16-is-uppercase.c: New file.
44508
44509         Tests for module 'unicase/u8-is-uppercase'.
44510         * modules/unicase/u8-is-uppercase-tests: New file.
44511         * tests/unicase/test-u8-is-uppercase.c: New file.
44512         * tests/unicase/test-is-uppercase.h: New file.
44513
44514         New module 'unicase/u32-is-uppercase'.
44515         * lib/unicase/u32-is-uppercase.c: New file.
44516         * modules/unicase/u32-is-uppercase: New file.
44517
44518         New module 'unicase/u16-is-uppercase'.
44519         * lib/unicase/u16-is-uppercase.c: New file.
44520         * modules/unicase/u16-is-uppercase: New file.
44521
44522         New module 'unicase/u8-is-uppercase'.
44523         * lib/unicase/u8-is-uppercase.c: New file.
44524         * modules/unicase/u8-is-uppercase: New file.
44525
44526         New module 'unicase/u32-is-invariant'.
44527         * lib/unicase/u32-is-invariant.c: New file.
44528         * modules/unicase/u32-is-invariant: New file.
44529
44530         New module 'unicase/u16-is-invariant'.
44531         * lib/unicase/u16-is-invariant.c: New file.
44532         * modules/unicase/u16-is-invariant: New file.
44533
44534         New module 'unicase/u8-is-invariant'.
44535         * lib/unicase/u8-is-invariant.c: New file.
44536         * lib/unicase/invariant.h: New file.
44537         * lib/unicase/u-is-invariant.h: New file.
44538         * modules/unicase/u8-is-invariant: New file.
44539
44540         Tests for module 'unicase/u32-casecoll'.
44541         * modules/unicase/u32-casecoll-tests: New file.
44542         * tests/unicase/test-u32-casecoll.c: New file.
44543
44544         Tests for module 'unicase/u16-casecoll'.
44545         * modules/unicase/u16-casecoll-tests: New file.
44546         * tests/unicase/test-u16-casecoll.c: New file.
44547
44548         Tests for module 'unicase/u8-casecoll'.
44549         * modules/unicase/u8-casecoll-tests: New file.
44550         * tests/unicase/test-u8-casecoll.c: New file.
44551
44552         New module 'unicase/u32-casecoll'.
44553         * lib/unicase/u32-casecoll.c: New file.
44554         * modules/unicase/u32-casecoll: New file.
44555
44556         New module 'unicase/u16-casecoll'.
44557         * lib/unicase/u16-casecoll.c: New file.
44558         * modules/unicase/u16-casecoll: New file.
44559
44560         New module 'unicase/u8-casecoll'.
44561         * lib/unicase/u8-casecoll.c: New file.
44562         * lib/unicase/u-casecoll.h: New file.
44563         * modules/unicase/u8-casecoll: New file.
44564
44565         New module 'unicase/u32-casexfrm'.
44566         * lib/unicase/u32-casexfrm.c: New file.
44567         * modules/unicase/u32-casexfrm: New file.
44568
44569         New module 'unicase/u16-casexfrm'.
44570         * lib/unicase/u16-casexfrm.c: New file.
44571         * modules/unicase/u16-casexfrm: New file.
44572
44573         New module 'unicase/u8-casexfrm'.
44574         * lib/unicase/u8-casexfrm.c: New file.
44575         * lib/unicase/u-casexfrm.h: New file.
44576         * modules/unicase/u8-casexfrm: New file.
44577
44578         Tests for module 'unicase/u32-casecmp'.
44579         * modules/unicase/u32-casecmp-tests: New file.
44580         * tests/unicase/test-u32-casecmp.c: New file.
44581
44582         Tests for module 'unicase/u16-casecmp'.
44583         * modules/unicase/u16-casecmp-tests: New file.
44584         * tests/unicase/test-u16-casecmp.c: New file.
44585
44586         Tests for module 'unicase/u8-casecmp'.
44587         * modules/unicase/u8-casecmp-tests: New file.
44588         * tests/unicase/test-u8-casecmp.c: New file.
44589         * tests/unicase/test-casecmp.h: New file.
44590
44591         New module 'unicase/u32-casecmp'.
44592         * lib/unicase/u32-casecmp.c: New file.
44593         * modules/unicase/u32-casecmp: New file.
44594
44595         New module 'unicase/u16-casecmp'.
44596         * lib/unicase/u16-casecmp.c: New file.
44597         * modules/unicase/u16-casecmp: New file.
44598
44599         New module 'unicase/u8-casecmp'.
44600         * lib/unicase/u8-casecmp.c: New file.
44601         * lib/unicase/u-casecmp.h: New file.
44602         * modules/unicase/u8-casecmp: New file.
44603
44604         Tests for module 'unicase/u32-casefold'.
44605         * modules/unicase/u32-casefold-tests: New file.
44606         * tests/unicase/test-u32-casefold.c: New file.
44607
44608         Tests for module 'unicase/u16-casefold'.
44609         * modules/unicase/u16-casefold-tests: New file.
44610         * tests/unicase/test-u16-casefold.c: New file.
44611
44612         Tests for module 'unicase/u8-casefold'.
44613         * modules/unicase/u8-casefold-tests: New file.
44614         * tests/unicase/test-u8-casefold.c: New file.
44615
44616         New module 'unicase/u32-casefold'.
44617         * lib/unicase/u32-casefold.c: New file.
44618         * modules/unicase/u32-casefold: New file.
44619
44620         New module 'unicase/u16-casefold'.
44621         * lib/unicase/u16-casefold.c: New file.
44622         * modules/unicase/u16-casefold: New file.
44623
44624         New module 'unicase/u8-casefold'.
44625         * lib/unicase/u8-casefold.c: New file.
44626         * lib/unicase/u-casefold.h: New file.
44627         * modules/unicase/u8-casefold: New file.
44628
44629         New module 'unicase/tocasefold'.
44630         * lib/unicase/casefold.h: New file.
44631         * lib/unicase/tocasefold.c: New file.
44632         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44633         * modules/unicase/tocasefold: New file.
44634
44635         Tests for module 'unicase/u32-totitle'.
44636         * modules/unicase/u32-totitle-tests: New file.
44637         * tests/unicase/test-u32-totitle.c: New file.
44638
44639         Tests for module 'unicase/u16-totitle'.
44640         * modules/unicase/u16-totitle-tests: New file.
44641         * tests/unicase/test-u16-totitle.c: New file.
44642
44643         Tests for module 'unicase/u8-totitle'.
44644         * modules/unicase/u8-totitle-tests: New file.
44645         * tests/unicase/test-u8-totitle.c: New file.
44646
44647         New module 'unicase/u32-totitle'.
44648         * lib/unicase/u32-totitle.c: New file.
44649         * modules/unicase/u32-totitle: New file.
44650
44651         New module 'unicase/u16-totitle'.
44652         * lib/unicase/u16-totitle.c: New file.
44653         * modules/unicase/u16-totitle: New file.
44654
44655         New module 'unicase/u8-totitle'.
44656         * lib/unicase/u8-totitle.c: New file.
44657         * lib/unicase/u-totitle.h: New file.
44658         * modules/unicase/u8-totitle: New file.
44659
44660         Tests for module 'unicase/u32-tolower'.
44661         * modules/unicase/u32-tolower-tests: New file.
44662         * tests/unicase/test-u32-tolower.c: New file.
44663
44664         Tests for module 'unicase/u16-tolower'.
44665         * modules/unicase/u16-tolower-tests: New file.
44666         * tests/unicase/test-u16-tolower.c: New file.
44667
44668         Tests for module 'unicase/u8-tolower'.
44669         * modules/unicase/u8-tolower-tests: New file.
44670         * tests/unicase/test-u8-tolower.c: New file.
44671
44672         New module 'unicase/u32-tolower'.
44673         * lib/unicase/u32-tolower.c: New file.
44674         * modules/unicase/u32-tolower: New file.
44675
44676         New module 'unicase/u16-tolower'.
44677         * lib/unicase/u16-tolower.c: New file.
44678         * modules/unicase/u16-tolower: New file.
44679
44680         New module 'unicase/u8-tolower'.
44681         * lib/unicase/u8-tolower.c: New file.
44682         * modules/unicase/u8-tolower: New file.
44683
44684         Tests for module 'unicase/u32-toupper'.
44685         * modules/unicase/u32-toupper-tests: New file.
44686         * tests/unicase/test-u32-toupper.c: New file.
44687
44688         Tests for module 'unicase/u16-toupper'.
44689         * modules/unicase/u16-toupper-tests: New file.
44690         * tests/unicase/test-u16-toupper.c: New file.
44691
44692         Tests for module 'unicase/u8-toupper'.
44693         * modules/unicase/u8-toupper-tests: New file.
44694         * tests/unicase/test-u8-toupper.c: New file.
44695
44696         New module 'unicase/u32-toupper'.
44697         * lib/unicase/u32-toupper.c: New file.
44698         * modules/unicase/u32-toupper: New file.
44699
44700         New module 'unicase/u16-toupper'.
44701         * lib/unicase/u16-toupper.c: New file.
44702         * modules/unicase/u16-toupper: New file.
44703
44704         New module 'unicase/u8-toupper'.
44705         * lib/unicase/u8-toupper.c: New file.
44706         * modules/unicase/u8-toupper: New file.
44707
44708         New module 'unicase/u32-casemap'.
44709         * lib/unicase/u32-casemap.c: New file.
44710         * modules/unicase/u32-casemap: New file.
44711
44712         New module 'unicase/u16-casemap'.
44713         * lib/unicase/u16-casemap.c: New file.
44714         * modules/unicase/u16-casemap: New file.
44715
44716         New module 'unicase/u8-casemap'.
44717         * lib/unicase/unicasemap.h: New file.
44718         * lib/unicase/u8-casemap.c: New file.
44719         * lib/unicase/u-casemap.h: New file.
44720         * modules/unicase/u8-casemap: New file.
44721
44722         New module 'unicase/special-casing'.
44723         * lib/unicase/special-casing.h: New file.
44724         * lib/unicase/special-casing.c: New file.
44725         * lib/unicase/special-casing-table.gperf: New file, generated by
44726         gen-uni-tables.c.
44727         * modules/unicase/special-casing: New file.
44728
44729         Tests for module 'unicase/locale-language'.
44730         * modules/unicase/locale-language-tests: New file.
44731         * tests/unicase/test-locale-language.sh: New file.
44732         * tests/unicase/test-locale-language.c: New file.
44733
44734         New module 'unicase/locale-language'.
44735         * lib/unicase/locale-language.c: New file.
44736         * lib/unicase/locale-languages.gperf: New file.
44737         * modules/unicase/locale-language: New file.
44738
44739         Generate more tables for case conversion and case folding.
44740         * lib/gen-uni-tables.c (SCC_*): New enum items.
44741         (struct special_casing_rule): New type.
44742         (casing_rules, num_casing_rules, allocated_casing_rules): New
44743         variables.
44744         (add_casing_rule, fill_casing_rules): New functions.
44745         (struct casefold_rule): New type.
44746         (casefolding_rules, num_casefolding_rules,
44747         allocated_casefolding_rules): New variables.
44748         (fill_casefolding_rules): New function.
44749         (unicode_casefold): New variable.
44750         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44751         sort_casing_rules, output_casing_rules): New functions.
44752         (main): Accept to more arguments: SpecialCasing.txt and
44753         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44754         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44755         Output mapping for casefolding.
44756
44757         * lib/unicase.h: Include stdbool.h, uninorm.h.
44758         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44759         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44760         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44761         arguments.
44762         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44763         resultp arguments.
44764         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44765         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44766         resultp arguments.
44767         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44768         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44769         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44770         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44771         declarations.
44772         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44773
44774 2009-03-08  Bruno Haible  <bruno@clisp.org>
44775
44776         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44777         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44778         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44779         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44780
44781 2009-03-07  Bruno Haible  <bruno@clisp.org>
44782
44783         Adjust u*_normcmp, u*_normcoll API.
44784         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44785         u16_normcoll, u32_normcoll): Change failure conventions.
44786         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44787         errno and return -1.
44788         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44789
44790 2009-03-07  Bruno Haible  <bruno@clisp.org>
44791
44792         Tests for module 'uninorm/u32-normcoll'.
44793         * modules/uninorm/u32-normcoll-tests: New file.
44794         * tests/uninorm/test-u32-normcoll.c: New file.
44795
44796         Tests for module 'uninorm/u16-normcoll'.
44797         * modules/uninorm/u16-normcoll-tests: New file.
44798         * tests/uninorm/test-u16-normcoll.c: New file.
44799
44800         Tests for module 'uninorm/u8-normcoll'.
44801         * modules/uninorm/u8-normcoll-tests: New file.
44802         * tests/uninorm/test-u8-normcoll.c: New file.
44803
44804 2009-03-07  Bruno Haible  <bruno@clisp.org>
44805
44806         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44807         tests/uninorm/test-u32-normcmp.c.
44808         * tests/uninorm/test-u32-normcmp.c: Include it.
44809         (test_nonascii): New function, extracted from main. Add some more
44810         tests.
44811         (main): Invoke test_ascii and test_nonascii.
44812         * modules/uninorm/u32-normcmp-tests (Files): Add
44813         tests/uninorm/test-u32-normcmp.h.
44814         (Depends-on): Remove uninorm/u32-normcmp.
44815
44816         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44817         tests/uninorm/test-u16-normcmp.c.
44818         * tests/uninorm/test-u16-normcmp.c: Include it.
44819         (test_nonascii): New function, extracted from main. Add some more
44820         tests.
44821         (main): Invoke test_ascii and test_nonascii.
44822         * modules/uninorm/u16-normcmp-tests (Files): Add
44823         tests/uninorm/test-u16-normcmp.h.
44824         (Depends-on): Remove uninorm/u16-normcmp.
44825
44826         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44827         tests/uninorm/test-u8-normcmp.c.
44828         * tests/uninorm/test-u8-normcmp.c: Include it.
44829         (test_nonascii): New function, extracted from main. Add some more
44830         tests.
44831         (main): Invoke test_ascii and test_nonascii.
44832         * modules/uninorm/u8-normcmp-tests (Files): Add
44833         tests/uninorm/test-u8-normcmp.h.
44834         (Depends-on): Remove uninorm/u8-normcmp.
44835
44836 2009-03-07  Bruno Haible  <bruno@clisp.org>
44837
44838         New module 'uninorm/u32-normcoll'.
44839         * lib/uninorm/u32-normcoll.c: New file.
44840         * modules/uninorm/u32-normcoll: New file.
44841
44842         New module 'uninorm/u16-normcoll'.
44843         * lib/uninorm/u16-normcoll.c: New file.
44844         * modules/uninorm/u16-normcoll: New file.
44845
44846         New module 'uninorm/u8-normcoll'.
44847         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44848         declarations.
44849         * lib/uninorm/u8-normcoll.c: New file.
44850         * lib/uninorm/u-normcoll.h: New file.
44851         * modules/uninorm/u8-normcoll: New file.
44852
44853         New module 'uninorm/u32-normxfrm'.
44854         * lib/uninorm/u32-normxfrm.c: New file.
44855         * modules/uninorm/u32-normxfrm: New file.
44856
44857         New module 'uninorm/u16-normxfrm'.
44858         * lib/uninorm/u16-normxfrm.c: New file.
44859         * modules/uninorm/u16-normxfrm: New file.
44860
44861         New module 'uninorm/u8-normxfrm'.
44862         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44863         declarations.
44864         * lib/uninorm/u8-normxfrm.c: New file.
44865         * lib/uninorm/u-normxfrm.h: New file.
44866         * modules/uninorm/u8-normxfrm: New file.
44867
44868 2009-03-07  Bruno Haible  <bruno@clisp.org>
44869
44870         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44871         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44872         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44873
44874 2009-03-07  Bruno Haible  <bruno@clisp.org>
44875
44876         New module 'memxfrm'.
44877         * lib/memxfrm.h: New file.
44878         * lib/memxfrm.c: New file.
44879         * modules/memxfrm: New file.
44880
44881 2009-03-07  Bruno Haible  <bruno@clisp.org>
44882
44883         New module 'memcmp2'.
44884         * lib/memcmp2.h: New file.
44885         * lib/memcmp2.c: New file.
44886         * modules/memcmp2: New file.
44887
44888 2009-03-07  Bruno Haible  <bruno@clisp.org>
44889
44890         Tests for module 'uninorm/decomposing-form'.
44891         * modules/uninorm/decomposing-form-tests: New file.
44892         * tests/uninorm/test-decomposing-form.c: New file.
44893
44894         New module 'uninorm/decomposing-form'.
44895         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44896         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44897         Add 'decomposing_variant' field.
44898         * lib/uninorm/decomposing-form.c: New file.
44899         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44900         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44901         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44902         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44903         * modules/uninorm/decomposing-form: New file.
44904         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44905         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44906
44907 2009-03-07  Bruno Haible  <bruno@clisp.org>
44908
44909         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44910         strings.
44911
44912 2009-03-06  Bruno Haible  <bruno@clisp.org>
44913
44914         Tests for module 'uninorm/u32-normcmp'.
44915         * tests/uninorm/test-u32-normcmp.c: New file.
44916         * modules/uninorm/u32-normcmp-tests: New file.
44917
44918         Tests for module 'uninorm/u16-normcmp'.
44919         * tests/uninorm/test-u16-normcmp.c: New file.
44920         * modules/uninorm/u16-normcmp-tests: New file.
44921
44922         Tests for module 'uninorm/u8-normcmp'.
44923         * tests/uninorm/test-u8-normcmp.c: New file.
44924         * modules/uninorm/u8-normcmp-tests: New file.
44925
44926         New module 'uninorm/u32-normcmp'.
44927         * lib/uninorm/u32-normcmp.c: New file.
44928         * modules/uninorm/u32-normcmp: New file.
44929
44930         New module 'uninorm/u16-normcmp'.
44931         * lib/uninorm/u16-normcmp.c: New file.
44932         * modules/uninorm/u16-normcmp: New file.
44933
44934         New module 'uninorm/u8-normcmp'.
44935         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44936         declarations.
44937         * lib/uninorm/u8-normcmp.c: New file.
44938         * lib/uninorm/u-normcmp.h: New file.
44939         * modules/uninorm/u8-normcmp: New file.
44940
44941 2009-03-06  Bruno Haible  <bruno@clisp.org>
44942
44943         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44944         Reported by Eric Blake.
44945
44946 2009-03-06  Eric Blake  <ebb9@byu.net>
44947             Bruno Haible  <bruno@clisp.org>
44948
44949         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44950         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44951         condition.
44952         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44953         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44954         condition.
44955         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44956
44957 2009-03-06  Eric Blake  <ebb9@byu.net>
44958
44959         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44960         to avoid compiler warnings.
44961         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44962
44963 2009-03-05  Bruno Haible  <bruno@clisp.org>
44964
44965         * tests/test-ftell.c (main): Disable test beyond end of file on
44966         FreeMiNT.
44967         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44968
44969 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44970
44971         * lib/filevercmp.c: Move hidden files up in ordering.
44972         * tests/test-filevercmp.c: Add tests for hidden files.
44973
44974 2009-03-04  Bruno Haible  <bruno@clisp.org>
44975
44976         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44977         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44978         AM_CFLAGS.
44979         Reported by Simon Josefsson.
44980
44981 2009-03-03  Bruno Haible  <bruno@clisp.org>
44982
44983         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44984         Reported by Simon Josefsson.
44985
44986         * doc/ld-version-script.texi: Update node reference.
44987
44988 2009-03-03  Bruno Haible  <bruno@clisp.org>
44989
44990         * modules/visibility (License): Change to 'unlimited'.
44991         Suggested by Simon Josefsson.
44992
44993 2009-03-03  Jim Meyering  <meyering@redhat.com>
44994
44995         unlinkdir: cannot_unlink_dir may modify process state
44996         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44997         it's neither thread-safe nor appropriate for use in a library.
44998
44999 2009-03-03  Eric Blake  <ebb9@byu.net>
45000
45001         test-closein: silence test under Darwin
45002         * tests/test-closein.sh: Ignore stderr from cat, since we don't
45003         care if it dies from EPIPE or EBADF.
45004
45005 2009-03-03  Bruno Haible  <bruno@clisp.org>
45006
45007         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
45008         earlier.
45009         * doc/visibility.texi: Fix @node and @section.
45010
45011 2009-03-03  Simon Josefsson  <simon@josefsson.org>
45012
45013         * doc/gnulib.texi: Link to sections for ld version script and
45014         visibility.
45015         * doc/visibility.texi: Add @node and @section.
45016         * modules/ld-version-script: New module.
45017         * m4/ld-version-script.m4: New file.
45018         * doc/ld-version-script.texi: New file.
45019
45020 2009-03-02  David Lutterkort  <lutter@redhat.com>
45021
45022         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
45023         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45024
45025 2009-03-02  Bruno Haible  <bruno@clisp.org>
45026
45027         * doc/visibility.texi: Mention libtool's -export-symbols option.
45028
45029 2009-03-02  Jim Meyering  <meyering@redhat.com>
45030
45031         announce-gen: new option: --no-print-checksums
45032         * build-aux/announce-gen (usage): Describe it.
45033         (print_checksums): Print a newline here, not in the [*] footnote.
45034         (main): Honor it.
45035
45036 2009-03-01  Bruno Haible  <bruno@clisp.org>
45037
45038         Use socklen_t in the native Windows replacements prototypes.
45039         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
45040         instead of 'int'.
45041         * lib/getsockopt.c (rpl_getsockopt): Likewise.
45042         * lib/setsockopt.c (rpl_setsockopt): Likewise.
45043         * modules/getsockopt (Depends-on): Add socklen.
45044         * modules/setsockopt (Depends-on): Add socklen.
45045
45046 2009-03-01  Bruno Haible  <bruno@clisp.org>
45047
45048         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
45049         least 4.2.
45050
45051 2009-03-01  Eric Blake  <ebb9@byu.net>
45052             Bruno Haible  <bruno@clisp.org>
45053
45054         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
45055         error messages.
45056         * lib/wait-process.c (wait_subprocess): Omit error message about
45057         deadly signal sent to the child of termsigp != NULL.
45058
45059 2009-03-01  Eric Blake  <ebb9@byu.net>
45060
45061         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
45062
45063 2009-03-01  Bruno Haible  <bruno@clisp.org>
45064
45065         Avoid a gcc warning.
45066         * tests/test-sched.c (b): Make global.
45067         Reported by Eric Blake.
45068
45069 2009-01-19  Martin Lambers  <marlam@marlam.de>
45070
45071         Provide POSIX semantics for socket timeout options on W32.
45072         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
45073         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
45074         * modules/setsockopt: Depend on sys_time module for struct timeval.
45075         * modules/getsockopt: Depend on sys_time module for struct timeval.
45076
45077 2009-03-01  Simon Josefsson  <simon@josefsson.org>
45078
45079         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
45080         __USE_GNU, for consistency with netdb.in.h.
45081         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45082
45083 2009-03-01  Bruno Haible  <bruno@clisp.org>
45084
45085         More support for FreeMiNT.
45086         * lib/fseeko.c (rpl_fseeko): Complete last commit.
45087         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45088
45089 2009-03-01  Bruno Haible  <bruno@clisp.org>
45090
45091         More support for FreeMiNT.
45092         * lib/fpurge.c (fpurge): Correct last commit.
45093         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45094
45095 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45096
45097         Fix unportable awk script in vc-list-files.
45098         * build-aux/vc-list-files: In the replacement awk script, use
45099         substr with a second argument of 1, not zero.
45100         Report by Simon Josefsson.
45101
45102 2009-02-28  Bruno Haible  <bruno@clisp.org>
45103
45104         More support for FreeMiNT.
45105         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
45106         to FreeMiNT today.
45107         * lib/fwriting.c (fwriting): Likewise.
45108         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
45109
45110 2009-02-28  Bruno Haible  <bruno@clisp.org>
45111
45112         * tests/test-freadseek.c (main): Disable test beyond end of file on
45113         FreeMiNT.
45114         * tests/test-ftello.c (main): Likewise.
45115         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
45116
45117 2009-02-28  Bruno Haible  <bruno@clisp.org>
45118
45119         Add tentative support for FreeMiNT.
45120         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
45121         * lib/fpurge.c (fpurge): Likewise.
45122         * lib/freadable.c (freadable): Likewise.
45123         * lib/freading.c (freading): Likewise.
45124         * lib/freadptr.c (freadptr): Likewise.
45125         * lib/freadseek.c (freadptrinc): Likewise.
45126         * lib/fseeko.c (rpl_fseeko): Likewise.
45127         * lib/fseterr.c (fseterr): Likewise.
45128         * lib/fwritable.c (fwritable): Likewise.
45129         * lib/fwriting.c (fwriting): Likewise.
45130         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
45131         Hourihane.
45132         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45133
45134 2009-02-28  Bruno Haible  <bruno@clisp.org>
45135
45136         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
45137         SIGCHLD.
45138         Reported by Jim Meyering.
45139
45140 2009-02-28  Bruno Haible  <bruno@clisp.org>
45141
45142         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
45143         Mention the results of these tests on various platforms.
45144         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
45145         order.
45146         * doc/posix-functions/printf.texi: Likewise.
45147         * doc/posix-functions/snprintf.texi: Likewise.
45148         * doc/posix-functions/sprintf.texi: Likewise.
45149         * doc/posix-functions/vfprintf.texi: Likewise.
45150         * doc/posix-functions/vprintf.texi: Likewise.
45151         * doc/posix-functions/vsnprintf.texi: Likewise.
45152         * doc/posix-functions/vsprintf.texi: Likewise.
45153         * doc/glibc-functions/obstack_printf.texi: Likewise.
45154         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45155
45156 2009-02-28  Bruno Haible  <bruno@clisp.org>
45157
45158         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
45159         Reported by Loïc Minier <lool@dooz.org>.
45160
45161 2009-02-27  Bruno Haible  <bruno@clisp.org>
45162
45163         * gnulib-tool (func_import): Make the sed expression used to create the
45164         sed script for updating the .gitignore file POSIX compliant.
45165         Reported by Eric Blake.
45166
45167 2009-02-27  Bruno Haible  <bruno@clisp.org>
45168
45169         * gnulib-tool (sed): Don't alias as "sed --posix".
45170         Reported by Eric Blake.
45171
45172 2009-02-27  Bruno Haible  <bruno@clisp.org>
45173
45174         Avoid test link errors.
45175         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
45176         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
45177         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
45178         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
45179         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45180
45181 2009-02-27  Bruno Haible  <bruno@clisp.org>
45182
45183         Avoid spurious "(cached)" in configure output.
45184         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
45185         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
45186         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45187         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45188         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45189         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
45190         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45191         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
45192         Reported by Eric Blake.
45193
45194 2009-02-27  Eric Blake  <ebb9@byu.net>
45195
45196         printf: fix regression in previous patch
45197         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
45198
45199 2009-02-27  Bruno Haible  <bruno@clisp.org>
45200
45201         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
45202         value.
45203         * lib/stdint.in.h: Likewise.
45204         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
45205
45206 2009-02-27  Eric Blake  <ebb9@byu.net>
45207
45208         doc: mention more functions added in cygwin 1.7.0
45209         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
45210         addition.
45211         * doc/posix-functions/open_wmemstream.texi: Likewise.
45212         * doc/posix-functions/wcsnlen.texi: Likewise.
45213         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45214         * doc/posix-functions/wcstod.texi: Likewise.
45215         * doc/posix-functions/wcstof.texi: Likewise.
45216         * doc/posix-functions/wcstoimax.texi: Likewise.
45217         * doc/posix-functions/wcstok.texi: Likewise.
45218         * doc/posix-functions/wcstoumax.texi: Likewise.
45219
45220         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
45221         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
45222         * doc/posix-functions/fprintf.texi: Update.
45223         * doc/posix-functions/printf.texi: Update.
45224         * doc/posix-functions/snprintf.texi: Update.
45225         * doc/posix-functions/sprintf.texi: Update.
45226         * doc/posix-functions/vfprintf.texi: Update.
45227         * doc/posix-functions/vprintf.texi: Update.
45228         * doc/posix-functions/vsnprintf.texi: Update.
45229         * doc/posix-functions/vsprintf.texi: Update.
45230         * doc/glibc-functions/obstack_printf.texi: Update.
45231         * doc/glibc-functions/obstack_vprintf.texi: Update.
45232
45233 2009-02-26  Eric Blake  <ebb9@byu.net>
45234
45235         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45236         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45237         compilation bug by using runtime conversion.
45238         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45239         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45240         * modules/ceill-tests (Files): Use nan.h.
45241         * modules/floorl-tests (Files): Likewise.
45242         * modules/frexpl-tests (Files): Likewise.
45243         * modules/isnanl-tests (Files): Likewise.
45244         * modules/ldexpl-tests (Files): Likewise.
45245         * modules/roundl-tests (Files): Likewise.
45246         * modules/truncl-tests (Files): Likewise.
45247         * tests/test-ceill.c (main): Use a working NaN.
45248         * tests/test-floorl.c (main): Likewise.
45249         * tests/test-frexpl.c (main): Likewise.
45250         * tests/test-isnan.c (test_long_double): Likewise.
45251         * tests/test-isnanl.h (main): Likewise.
45252         * tests/test-ldexpl.h (main): Likewise.
45253         * tests/test-roundl.h (main): Likewise.
45254         * tests/test-truncl.h (main): Likewise.
45255         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45256
45257 2009-02-26  Eric Blake  <ebb9@byu.net>
45258             Bruno Haible  <bruno@clisp.org>
45259
45260         Work around a *printf bug with %ls on Solaris.
45261         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45262         precision is specified, sprintf stops converting the wide string
45263         argument when the number of bytes that have been produced by this
45264         conversion equals or exceeds the precision.
45265         * doc/posix-functions/fprintf.texi: Update.
45266         * doc/posix-functions/printf.texi: Update.
45267         * doc/posix-functions/snprintf.texi: Update.
45268         * doc/posix-functions/sprintf.texi: Update.
45269         * doc/posix-functions/vfprintf.texi: Update.
45270         * doc/posix-functions/vprintf.texi: Update.
45271         * doc/posix-functions/vsnprintf.texi: Update.
45272         * doc/posix-functions/vsprintf.texi: Update.
45273         * doc/glibc-functions/obstack_printf.texi: Update.
45274         * doc/glibc-functions/obstack_vprintf.texi: Update.
45275
45276 2009-02-26  Eric Blake  <ebb9@byu.net>
45277
45278         stdlib: favor compiler check of random.h
45279         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45280         to avoid an ObjC random.h installed by Swarm.
45281
45282 2009-02-26  Bruno Haible  <bruno@clisp.org>
45283
45284         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45285         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45286         Reported by Gary V. Vaughan <gary@gnu.org>.
45287
45288 2009-02-26  Bruno Haible  <bruno@clisp.org>
45289
45290         Fix *printf behaviour regarding the %ls directive.
45291         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45292         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45293         NEED_PRINTF_DIRECTIVE_LS.
45294         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45295         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45296         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45297         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45298         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45299         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45300         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45301         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45302         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45303         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45304         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45305         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45306         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45307         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45308         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45309         * doc/posix-functions/fprintf.texi: Update.
45310         * doc/posix-functions/printf.texi: Update.
45311         * doc/posix-functions/snprintf.texi: Update.
45312         * doc/posix-functions/sprintf.texi: Update.
45313         * doc/posix-functions/vfprintf.texi: Update.
45314         * doc/posix-functions/vprintf.texi: Update.
45315         * doc/posix-functions/vsnprintf.texi: Update.
45316         * doc/posix-functions/vsprintf.texi: Update.
45317         * doc/glibc-functions/obstack_printf.texi: Update.
45318         * doc/glibc-functions/obstack_vprintf.texi: Update.
45319         Reported by Eric Blake.
45320
45321 2009-02-25  Bruno Haible  <bruno@clisp.org>
45322
45323         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45324         with known value.
45325         Reported by Gary V. Vaughan <gary@gnu.org>.
45326
45327 2009-02-25  Bruno Haible  <bruno@clisp.org>
45328
45329         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45330         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
45331         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
45332         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
45333         Reported by Gary V. Vaughan <gary@gnu.org>.
45334
45335 2009-02-25  Bruno Haible  <bruno@clisp.org>
45336
45337         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
45338         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
45339         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
45340         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
45341         Reported by Gary V. Vaughan <gary@gnu.org>.
45342
45343 2009-02-25  Eric Blake  <ebb9@byu.net>
45344
45345         tests: skip fseek/ftell tests if ungetc is broken
45346         * m4/ungetc.m4: New file.
45347         * modules/fseek-tests: Split test, so ungetc dependency is
45348         separate from rest of test.
45349         * modules/fseeko-tests: Likewise.
45350         * modules/ftell-tests: Likewise.
45351         * modules/ftello-tests: Likewise.
45352         * tests/test-fseek.c (main): Isolate ungetc dependency.
45353         * tests/test-fseeko.c (main): Likewise.
45354         * tests/test-ftell.c (main): Likewise.
45355         * tests/test-ftello.c (main): Likewise.
45356         * tests/test-fseek2.sh: New file.
45357         * tests/test-fseeko2.sh: Likewise.
45358         * tests/test-ftell2.sh: Likewise.
45359         * tests/test-ftello2.sh: Likewise.
45360
45361 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
45362
45363         test-getaddrinfo: fix usage of skip return code 77
45364         * tests/test-gettaddrinfo.c: Return skip code 77 only
45365         for first occurance of skip (4x77 is not 77)
45366
45367 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45368
45369         strtod: avoid C99 decl-after-statement
45370         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45371
45372 2009-02-24  Eric Blake  <ebb9@byu.net>
45373
45374         strtod: detect HP-UX 11.31 bug
45375         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45376         Reported by Gary V. Vaughan.
45377
45378 2009-02-23  Bruno Haible  <bruno@clisp.org>
45379
45380         Fix invalid read past end of memory block.
45381         * lib/vasnprintf.c (DCHAR_SET): Define.
45382         (local_wcslen): Define only when needed.
45383         (local_strnlen, local_wcsnlen): New functions.
45384         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45385         directives that involve a conversion ourselves.
45386         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45387         wcsnlen, mbrtowc, wcrtomb.
45388         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45389         * tests/test-vasprintf-posix.c (test_function): Likewise.
45390         * tests/test-snprintf-posix.h (test_function): Likewise.
45391         * tests/test-sprintf-posix.h (test_function): Likewise.
45392         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45393
45394 2009-02-22  Bruno Haible  <bruno@clisp.org>
45395
45396         Implement new clarified decomposition of Hangul syllables.
45397         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45398         of type LTV, return only a pairwise decomposition.
45399         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45400         Likewise.
45401         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45402         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45403         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45404
45405 2009-02-22  Bruno Haible  <bruno@clisp.org>
45406
45407         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45408         zero-length results and shrink excess allocated memory.
45409         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45410         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45411         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45412         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45413         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45414         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45415         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45416         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45417         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45418         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45419         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45420         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45421
45422 2009-02-21  Bruno Haible  <bruno@clisp.org>
45423
45424         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45425         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45426         spaces after a period. Put a space between a macro name and its
45427         argument list. Trivial rewordings.
45428         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45429         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45430         (main): Return 0 explicitly.
45431
45432 2009-02-21  Bruno Haible  <bruno@clisp.org>
45433
45434         Tests for module 'uninorm/filter'.
45435         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45436         * modules/uninorm/filter-tests: New file.
45437
45438         New module 'uninorm/filter'.
45439         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45440         uninorm_filter_flush, uninorm_filter_free): New declarations.
45441         * lib/uninorm/uninorm-filter.c: New file.
45442         * modules/uninorm/filter: New file.
45443
45444 2009-02-21  Bruno Haible  <bruno@clisp.org>
45445
45446         Tests for module 'uninorm/nfkc'.
45447         * tests/uninorm/test-nfkc.c: New file.
45448         * tests/uninorm/test-u8-nfkc.c: New file.
45449         * tests/uninorm/test-u16-nfkc.c: New file.
45450         * tests/uninorm/test-u32-nfkc.c: New file.
45451         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45452         * tests/uninorm/test-u32-nfkc-big.c: New file.
45453         * modules/uninorm/nfkc-tests: New file.
45454
45455         New module 'uninorm/nfkc'.
45456         * lib/uninorm/nfkc.c: New file.
45457         * modules/uninorm/nfkc: New file.
45458
45459         Tests for module 'uninorm/nfkd'.
45460         * tests/uninorm/test-nfkd.c: New file.
45461         * tests/uninorm/test-u8-nfkd.c: New file.
45462         * tests/uninorm/test-u16-nfkd.c: New file.
45463         * tests/uninorm/test-u32-nfkd.c: New file.
45464         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45465         * tests/uninorm/test-u32-nfkd-big.c: New file.
45466         * modules/uninorm/nfkd-tests: New file.
45467
45468         New module 'uninorm/nfkd'.
45469         * lib/uninorm/nfkd.c: New file.
45470         * modules/uninorm/nfkd: New file.
45471
45472         Tests for module 'uninorm/nfc'.
45473         * tests/uninorm/test-nfc.c: New file.
45474         * tests/uninorm/test-u8-nfc.c: New file.
45475         * tests/uninorm/test-u16-nfc.c: New file.
45476         * tests/uninorm/test-u32-nfc.c: New file.
45477         * tests/uninorm/test-u32-nfc-big.sh: New file.
45478         * tests/uninorm/test-u32-nfc-big.c: New file.
45479         * modules/uninorm/nfc-tests: New file.
45480
45481         New module 'uninorm/nfc'.
45482         * lib/uninorm/nfc.c: New file.
45483         * modules/uninorm/nfc: New file.
45484
45485         Tests for module 'uninorm/nfd'.
45486         * tests/uninorm/test-nfd.c: New file.
45487         * tests/uninorm/test-u8-nfd.c: New file.
45488         * tests/uninorm/test-u16-nfd.c: New file.
45489         * tests/uninorm/test-u32-nfd.c: New file.
45490         * tests/uninorm/test-u32-nfd-big.sh: New file.
45491         * tests/uninorm/test-u32-nfd-big.c: New file.
45492         * tests/uninorm/test-u32-normalize-big.h: New file.
45493         * tests/uninorm/test-u32-normalize-big.c: New file.
45494         * tests/uninorm/NormalizationTest.txt: New file, created from
45495         Unicode 5.1.0 NormalizationTest.txt.
45496         * modules/uninorm/nfd-tests: New file.
45497
45498         New module 'uninorm/nfd'.
45499         * lib/uninorm/nfd.c: New file.
45500         * modules/uninorm/nfd: New file.
45501
45502         New module 'uninorm/u32-normalize'.
45503         * lib/uninorm/u32-normalize.c: New file.
45504         * modules/uninorm/u32-normalize: New file.
45505
45506         New module 'uninorm/u16-normalize'.
45507         * lib/uninorm/u16-normalize.c: New file.
45508         * modules/uninorm/u16-normalize: New file.
45509
45510         New module 'uninorm/u8-normalize'.
45511         * lib/uninorm/u8-normalize.c: New file.
45512         * lib/uninorm/normalize-internal.h: New file.
45513         * lib/uninorm/u-normalize-internal.h: New file.
45514         * modules/uninorm/u8-normalize: New file.
45515
45516         New module 'uninorm/decompose-internal'.
45517         * lib/uninorm/decompose-internal.c: New file.
45518         * modules/uninorm/decompose-internal: New file.
45519
45520         Tests for module 'uninorm/composition'.
45521         * tests/uninorm/test-composition.c: New file.
45522         * modules/uninorm/composition-tests: New file.
45523
45524         New module 'uninorm/composition'.
45525         * lib/uninorm/composition.c: New file.
45526         * lib/uninorm/composition-table.gperf: New file, generated by
45527         gen-uni-tables.
45528         * modules/uninorm/composition: New file.
45529
45530         Tests for module 'uninorm/compat-decomposition'.
45531         * tests/uninorm/test-compat-decomposition.c: New file.
45532         * modules/uninorm/compat-decomposition-tests: New file.
45533
45534         New module 'uninorm/compat-decomposition'.
45535         * lib/uninorm/decompose-internal.h: New file.
45536         * lib/uninorm/compat-decomposition.c: New file.
45537         * modules/uninorm/compat-decomposition: New file.
45538
45539         Tests for module 'uninorm/canonical-decomposition'.
45540         * tests/uninorm/test-canonical-decomposition.c: New file.
45541         * modules/uninorm/canonical-decomposition-tests: New file.
45542
45543         New module 'uninorm/canonical-decomposition'.
45544         * lib/uninorm/canonical-decomposition.c: New file.
45545         * modules/uninorm/canonical-decomposition: New file.
45546
45547         Tests for module 'uninorm/decomposition'.
45548         * tests/uninorm/test-decomposition.c: New file.
45549         * modules/uninorm/decomposition-tests: New file.
45550
45551         New module 'uninorm/decomposition'.
45552         * lib/uninorm/decomposition.c: New file.
45553         * modules/uninorm/decomposition: New file.
45554
45555         New module 'uninorm/decomposition-table'.
45556         * lib/uninorm/decomposition-table.h: New file.
45557         * lib/uninorm/decomposition-table.c: New file.
45558         * lib/uninorm/decomposition-table1.h: New file, generated by
45559         gen-uni-tables.
45560         * lib/uninorm/decomposition-table2.h: New file, generated by
45561         gen-uni-tables.
45562         * modules/uninorm/decomposition-table: New file.
45563
45564         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45565         (UC_DECOMP_*): New enumeration items.
45566         (get_decomposition): New function.
45567         (struct decomp_table): New type.
45568         (output_decomposition, output_decomposition_tables): New functions.
45569         (unicode_composition_exclusions): New variable.
45570         (fill_composition_exclusions, debug_output_composition_tables): New
45571         functions.
45572         (main): Accept one more argument. Invoke fill_composition_exclusions.
45573         Output decomposition and composition tables.
45574
45575         New module 'uninorm/base'.
45576         * lib/uninorm.h: New file.
45577         * lib/unictype.h: Update comment.
45578         * modules/uninorm/base: New file.
45579
45580 2009-02-21  David Lutterkort  <lutter@redhat.com>
45581
45582         Tests for module 'safe-alloc'.
45583         * tests/test-safe-alloc.c: New file.
45584         * modules/safe-alloc-tests: New file.
45585
45586         New module 'safe-alloc'.
45587         * lib/safe-alloc.h: New file.
45588         * lib/safe-alloc.c: New file.
45589         * m4/safe-alloc.m4: New file.
45590         * modules/safe-alloc: New file.
45591         * doc/safe-alloc.texi: New file.
45592         * doc/gnulib.texi: Include it.
45593         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45594         safe-alloc.
45595
45596 2009-02-18  Bruno Haible  <bruno@clisp.org>
45597
45598         Fix link error on non-glibc systems.
45599         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45600         variable.
45601         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45602
45603 2009-02-18  Jim Meyering  <meyering@redhat.com>
45604
45605         fts: avoid used-uninitialized error due to recent change
45606         * lib/fts.c (fts_read): Guard uses of the new member,
45607         parent->fts_n_dirs_remaining, since it's not relevant for
45608         the parent of a directory specified on the command-line.
45609
45610 2009-02-17  James Youngman  <jay@gnu.org>
45611             Bruno Haible  <bruno@clisp.org>
45612
45613         * m4/include_next.m4: Reformulate comment.
45614
45615 2009-02-16  Jim Meyering  <meyering@redhat.com>
45616
45617         fts: add #if guards so that the fts_lgpl module still builds
45618         * lib/fts.c: Guard just-added hash-table-using parts with
45619         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45620         Reported by Simon Josefsson.
45621
45622 2009-02-15  Bruno Haible  <bruno@clisp.org>
45623
45624         * modules/array-mergesort-tests: New file.
45625         * tests/test-array-mergesort.c: New file.
45626
45627         New module 'array-mergesort'.
45628         * modules/array-mergesort: New file.
45629         * lib/array-mergesort.h: New file.
45630
45631 2009-02-15  Bruno Haible  <bruno@clisp.org>
45632
45633         Fix 2009-02-07 commit.
45634         * lib/gen-uni-tables.c (output_predicate, output_category,
45635         output_combclass, output_bidi_category, output_decimal_digit,
45636         output_digit, output_numeric, output_mirror, output_scripts,
45637         output_ident_category, output_simple_mapping): Fix format directives.
45638         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45639
45640 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45641
45642         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45643         fixes are available from IBM.
45644
45645 2009-02-13  Jim Meyering  <meyering@redhat.com>
45646
45647         fts: arrange not to stat non-directories in more cases
45648         This makes GNU find (when it doesn't need to stat each file)
45649         *much* more efficient at traversing reiserfs file systems.
45650         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45651         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45652         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45653         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45654         (leaf_optimization_applies): New function.
45655         (LCO_hash, LCO_compare): New helper functions.
45656         (link_count_optimize_ok): New function.
45657         (fts_stat): Initialize new member (if dir).
45658         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45659         we've just stat'ed a directory.  Skip the stat call when possible.
45660         ---
45661         Note this AFS-related exchange:
45662         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45663         and note find's pioctl call in find/fstype.c.
45664         But that is necessary only if you want to enable the
45665         optimization for AFS, and for now, I don't.
45666
45667         fts: move a function definition "up" (no semantic change)
45668         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45669         "up" to precede upcoming use of a related function.
45670
45671 2009-02-11  Jim Meyering  <meyering@redhat.com>
45672
45673         fts: correct internal computation of nlinks (optimization-related)
45674         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45675         whether the current entry is a directory, so don't test it.
45676
45677 2009-02-10  Bruno Haible  <bruno@clisp.org>
45678
45679         Tests for module 'uniwbrk/ulc-wordbreaks'.
45680         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45681         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45682         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45683
45684         Tests for module 'uniwbrk/u32-wordbreaks'.
45685         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45686         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45687
45688         Tests for module 'uniwbrk/u16-wordbreaks'.
45689         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45690         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45691
45692         Tests for module 'uniwbrk/u8-wordbreaks'.
45693         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45694         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45695
45696 2009-02-10  Bruno Haible  <bruno@clisp.org>
45697
45698         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45699         property.
45700         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45701         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45702         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45703
45704 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45705
45706         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45707         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45708
45709 2009-02-10  Bruno Haible  <bruno@clisp.org>
45710
45711         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45712         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45713         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45714         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45715         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45716         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45717
45718 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45719
45720         * lib/sockets.h (gl_fd_to_handle): New function.
45721
45722         * tests/test-sockets.c: Call gl_fd_to_handle.
45723
45724 2009-02-09  Bruno Haible  <bruno@clisp.org>
45725
45726         * doc/havelib.texi: Document the conventions on bi-arch systems.
45727
45728 2009-02-08  Bruno Haible  <bruno@clisp.org>
45729
45730         Document the AC_LIB_LINKFLAGS macro.
45731         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45732         * doc/gnulib.texi: Include it.
45733
45734 2009-02-08  Bruno Haible  <bruno@clisp.org>
45735
45736         Fix wrong order of sections, compared to TOC.
45737         * doc/gnulib.texi: Include relocatable-maint.texi after the
45738         "Regular expressions" node, not before.
45739
45740 2009-02-08  Bruno Haible  <bruno@clisp.org>
45741
45742         Tests for module 'unicase/totitle'.
45743         * modules/unicase/totitle-tests: New file.
45744
45745         Tests for module 'unicase/tolower'.
45746         * modules/unicase/tolower-tests: New file.
45747
45748         Tests for module 'unicase/toupper'.
45749         * modules/unicase/toupper-tests: New file.
45750         * tests/unicase/test-mapping-part1.h: New file.
45751         * tests/unicase/test-mapping-part2.h: New file.
45752
45753         New module 'unicase/totitle'.
45754         * modules/unicase/totitle: New file.
45755         * lib/unicase/totitle.c: New file.
45756
45757         New module 'unicase/tolower'.
45758         * modules/unicase/tolower: New file.
45759         * lib/unicase/tolower.c: New file.
45760
45761         New module 'unicase/toupper'.
45762         * modules/unicase/toupper: New file.
45763         * lib/unicase/toupper.c: New file.
45764         * lib/unicase/simple-mapping.h: New file.
45765
45766         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45767         (mapping_table): New structure.
45768         (output_simple_mapping): New function.
45769         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45770         * modules/gen-uni-tables (Description): Update.
45771         * lib/unicase/toupper.h: New file, automatically generated by
45772         gen-uni-tables.
45773         * lib/unicase/tolower.h: New file, automatically generated by
45774         gen-uni-tables.
45775         * lib/unicase/totitle.h: New file, automatically generated by
45776         gen-uni-tables.
45777         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45778         gen-uni-tables.
45779         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45780         gen-uni-tables.
45781         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45782         gen-uni-tables.
45783
45784         New module 'unicase/base'.
45785         * modules/unicase/base: New file.
45786         * lib/unicase.h: New file.
45787
45788 2009-02-08  Bruno Haible  <bruno@clisp.org>
45789
45790         New module 'uniwbrk/ulc-wordbreaks'.
45791         * modules/uniwbrk/ulc-wordbreaks: New file.
45792         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45793
45794         New module 'uniwbrk/u32-wordbreaks'.
45795         * modules/uniwbrk/u32-wordbreaks: New file.
45796         * lib/uniwbrk/u32-wordbreaks.c: New file.
45797
45798         New module 'uniwbrk/u16-wordbreaks'.
45799         * modules/uniwbrk/u16-wordbreaks: New file.
45800         * lib/uniwbrk/u16-wordbreaks.c: New file.
45801
45802         New module 'uniwbrk/u8-wordbreaks'.
45803         * modules/uniwbrk/u8-wordbreaks: New file.
45804         * lib/uniwbrk/u8-wordbreaks.c: New file.
45805         * lib/uniwbrk/u-wordbreaks.h: New file.
45806
45807         New module 'uniwbrk/table'.
45808         * modules/uniwbrk/table: New file.
45809         * lib/uniwbrk/wbrktable.h: New file.
45810         * lib/uniwbrk/wbrktable.c: New file.
45811
45812         New module 'uniwbrk/wordbreak-property'.
45813         * modules/uniwbrk/wordbreak-property: New file.
45814         * lib/uniwbrk/wordbreak-property.c: New file.
45815
45816         * lib/gen-uni-tables.c (WBP_*): New enum items.
45817         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45818         (unicode_org_wbp): New variable.
45819         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45820         New functions.
45821         (wbp_table): New structure.
45822         (output_wbp, output_wbrk_tables): New functions.
45823         (main): Accept additional argument. Invoke fill_org_wbp,
45824         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45825         output_wbrk_tables.
45826         * modules/gen-uni-tables (Description): Update.
45827         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45828         gen-uni-tables.
45829
45830         New module 'uniwbrk/base'.
45831         * modules/uniwbrk/base: New file.
45832         * lib/uniwbrk.h: New file.
45833
45834 2009-02-08  Bruno Haible  <bruno@clisp.org>
45835
45836         Update to Unicode 5.1.0.
45837         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45838         U+2185..U+2188.
45839         (is_property_default_ignorable_code_point): Don't include characters
45840         of category Cc or Cs and not-a-characters.
45841         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45842         U+0D79, U+109E, U+109F, U+A60C.
45843         * lib/unictype/bidi_of.h: Regenerated.
45844         * lib/unictype/blocks.h: Regenerated.
45845         * lib/unictype/categ_C.h: Regenerated.
45846         * lib/unictype/categ_Cf.h: Regenerated.
45847         * lib/unictype/categ_Cn.h: Regenerated.
45848         * lib/unictype/categ_L.h: Regenerated.
45849         * lib/unictype/categ_Ll.h: Regenerated.
45850         * lib/unictype/categ_Lm.h: Regenerated.
45851         * lib/unictype/categ_Lo.h: Regenerated.
45852         * lib/unictype/categ_Lu.h: Regenerated.
45853         * lib/unictype/categ_M.h: Regenerated.
45854         * lib/unictype/categ_Mc.h: Regenerated.
45855         * lib/unictype/categ_Me.h: Regenerated.
45856         * lib/unictype/categ_Mn.h: Regenerated.
45857         * lib/unictype/categ_N.h: Regenerated.
45858         * lib/unictype/categ_Nd.h: Regenerated.
45859         * lib/unictype/categ_Nl.h: Regenerated.
45860         * lib/unictype/categ_No.h: Regenerated.
45861         * lib/unictype/categ_P.h: Regenerated.
45862         * lib/unictype/categ_Pd.h: Regenerated.
45863         * lib/unictype/categ_Pe.h: Regenerated.
45864         * lib/unictype/categ_Pf.h: Regenerated.
45865         * lib/unictype/categ_Pi.h: Regenerated.
45866         * lib/unictype/categ_Po.h: Regenerated.
45867         * lib/unictype/categ_Ps.h: Regenerated.
45868         * lib/unictype/categ_S.h: Regenerated.
45869         * lib/unictype/categ_Sk.h: Regenerated.
45870         * lib/unictype/categ_Sm.h: Regenerated.
45871         * lib/unictype/categ_So.h: Regenerated.
45872         * lib/unictype/categ_of.h: Regenerated.
45873         * lib/unictype/combining.h: Regenerated.
45874         * lib/unictype/ctype_alnum.h: Regenerated.
45875         * lib/unictype/ctype_alpha.h: Regenerated.
45876         * lib/unictype/ctype_graph.h: Regenerated.
45877         * lib/unictype/ctype_lower.h: Regenerated.
45878         * lib/unictype/ctype_print.h: Regenerated.
45879         * lib/unictype/ctype_punct.h: Regenerated.
45880         * lib/unictype/ctype_upper.h: Regenerated.
45881         * lib/unictype/decdigit.h: Regenerated.
45882         * lib/unictype/digit.h: Regenerated.
45883         * lib/unictype/mirror.h: Regenerated.
45884         * lib/unictype/numeric.h: Regenerated.
45885         * lib/unictype/pr_alphabetic.h: Regenerated.
45886         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45887         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45888         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45889         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45890         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45891         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45892         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45893         * lib/unictype/pr_combining.h: Regenerated.
45894         * lib/unictype/pr_dash.h: Regenerated.
45895         * lib/unictype/pr_decimal_digit.h: Regenerated.
45896         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45897         * lib/unictype/pr_deprecated.h: Regenerated.
45898         * lib/unictype/pr_diacritic.h: Regenerated.
45899         * lib/unictype/pr_extender.h: Regenerated.
45900         * lib/unictype/pr_format_control.h: Regenerated.
45901         * lib/unictype/pr_grapheme_base.h: Regenerated.
45902         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45903         * lib/unictype/pr_grapheme_link.h: Regenerated.
45904         * lib/unictype/pr_id_continue.h: Regenerated.
45905         * lib/unictype/pr_id_start.h: Regenerated.
45906         * lib/unictype/pr_ideographic.h: Regenerated.
45907         * lib/unictype/pr_ignorable_control.h: Regenerated.
45908         * lib/unictype/pr_lowercase.h: Regenerated.
45909         * lib/unictype/pr_math.h: Regenerated.
45910         * lib/unictype/pr_numeric.h: Regenerated.
45911         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45912         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45913         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45914         * lib/unictype/pr_other_id_continue.h: Regenerated.
45915         * lib/unictype/pr_other_lowercase.h: Regenerated.
45916         * lib/unictype/pr_other_math.h: Regenerated.
45917         * lib/unictype/pr_punctuation.h: Regenerated.
45918         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45919         * lib/unictype/pr_soft_dotted.h: Regenerated.
45920         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45921         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45922         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45923         * lib/unictype/pr_uppercase.h: Regenerated.
45924         * lib/unictype/pr_xid_continue.h: Regenerated.
45925         * lib/unictype/pr_xid_start.h: Regenerated.
45926         * lib/unictype/pr_zero_width.h: Regenerated.
45927         * lib/unictype/scripts.h: Regenerated.
45928         * lib/unictype/scripts_byname.gperf: Regenerated.
45929         * lib/unictype/sy_java_ident.h: Regenerated.
45930         * lib/unilbrk/lbrkprop1.h: Regenerated.
45931         * lib/unilbrk/lbrkprop2.h: Regenerated.
45932         * tests/unictype/test-categ_C.c: Regenerated.
45933         * tests/unictype/test-categ_Cf.c: Regenerated.
45934         * tests/unictype/test-categ_Cn.c: Regenerated.
45935         * tests/unictype/test-categ_L.c: Regenerated.
45936         * tests/unictype/test-categ_Ll.c: Regenerated.
45937         * tests/unictype/test-categ_Lm.c: Regenerated.
45938         * tests/unictype/test-categ_Lo.c: Regenerated.
45939         * tests/unictype/test-categ_Lu.c: Regenerated.
45940         * tests/unictype/test-categ_M.c: Regenerated.
45941         * tests/unictype/test-categ_Mc.c: Regenerated.
45942         * tests/unictype/test-categ_Me.c: Regenerated.
45943         * tests/unictype/test-categ_Mn.c: Regenerated.
45944         * tests/unictype/test-categ_N.c: Regenerated.
45945         * tests/unictype/test-categ_Nd.c: Regenerated.
45946         * tests/unictype/test-categ_Nl.c: Regenerated.
45947         * tests/unictype/test-categ_No.c: Regenerated.
45948         * tests/unictype/test-categ_P.c: Regenerated.
45949         * tests/unictype/test-categ_Pd.c: Regenerated.
45950         * tests/unictype/test-categ_Pe.c: Regenerated.
45951         * tests/unictype/test-categ_Pf.c: Regenerated.
45952         * tests/unictype/test-categ_Pi.c: Regenerated.
45953         * tests/unictype/test-categ_Po.c: Regenerated.
45954         * tests/unictype/test-categ_Ps.c: Regenerated.
45955         * tests/unictype/test-categ_S.c: Regenerated.
45956         * tests/unictype/test-categ_Sk.c: Regenerated.
45957         * tests/unictype/test-categ_Sm.c: Regenerated.
45958         * tests/unictype/test-categ_So.c: Regenerated.
45959         * tests/unictype/test-ctype_alnum.c: Regenerated.
45960         * tests/unictype/test-ctype_alpha.c: Regenerated.
45961         * tests/unictype/test-ctype_graph.c: Regenerated.
45962         * tests/unictype/test-ctype_lower.c: Regenerated.
45963         * tests/unictype/test-ctype_print.c: Regenerated.
45964         * tests/unictype/test-ctype_punct.c: Regenerated.
45965         * tests/unictype/test-ctype_upper.c: Regenerated.
45966         * tests/unictype/test-decdigit.h: Regenerated.
45967         * tests/unictype/test-digit.h: Regenerated.
45968         * tests/unictype/test-numeric.h: Regenerated.
45969         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45970         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45971         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45972         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45973         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45974         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45975         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45976         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45977         * tests/unictype/test-pr_combining.c: Regenerated.
45978         * tests/unictype/test-pr_dash.c: Regenerated.
45979         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45980         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45981         * tests/unictype/test-pr_deprecated.c: Regenerated.
45982         * tests/unictype/test-pr_diacritic.c: Regenerated.
45983         * tests/unictype/test-pr_extender.c: Regenerated.
45984         * tests/unictype/test-pr_format_control.c: Regenerated.
45985         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45986         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45987         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45988         * tests/unictype/test-pr_id_continue.c: Regenerated.
45989         * tests/unictype/test-pr_id_start.c: Regenerated.
45990         * tests/unictype/test-pr_ideographic.c: Regenerated.
45991         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45992         * tests/unictype/test-pr_lowercase.c: Regenerated.
45993         * tests/unictype/test-pr_math.c: Regenerated.
45994         * tests/unictype/test-pr_numeric.c: Regenerated.
45995         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45996         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45997         Regenerated.
45998         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45999         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
46000         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
46001         * tests/unictype/test-pr_other_math.c: Regenerated.
46002         * tests/unictype/test-pr_punctuation.c: Regenerated.
46003         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
46004         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
46005         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
46006         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
46007         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
46008         * tests/unictype/test-pr_uppercase.c: Regenerated.
46009         * tests/unictype/test-pr_xid_continue.c: Regenerated.
46010         * tests/unictype/test-pr_xid_start.c: Regenerated.
46011         * tests/unictype/test-pr_zero_width.c: Regenerated.
46012
46013         Update to Unicode 5.1.0.
46014         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
46015         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
46016         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
46017         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
46018         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
46019         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
46020         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
46021         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
46022         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
46023         (nonspacing_table_ind): Update.
46024         * tests/uniwidth/test-uc_width2.sh: Update expected result.
46025
46026         Update to Unicode 5.1.0.
46027         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
46028         code transform.
46029         * lib/uniname/uniname.c (unicode_character_name,
46030         unicode_name_character): Add the range 0x1Fxxx to the code transform.
46031         * lib/uniname/uninames.h: Regenerated.
46032         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
46033
46034 2009-02-07  Bruno Haible  <bruno@clisp.org>
46035
46036         Merge gen-ctype and gen-lbrk into a single program.
46037         * lib/gen-uni-tables.c: New file, incorporating
46038         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
46039         Add directory prefixes to the names of the generated files.
46040         * lib/unictype/gen-ctype.c: Remove file.
46041         * lib/unilbrk/gen-lbrk.c: Remove file.
46042         * modules/gen-uni-tables: New file.
46043         * modules/unictype/gen-ctype: Remove file.
46044         * modules/unilbrk/gen-lbrk: Remove file.
46045
46046 2009-02-07  Bruno Haible  <bruno@clisp.org>
46047
46048         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
46049
46050         New module 'unistr/u32-strcoll'.
46051         * modules/unistr/u32-strcoll: New file.
46052         * lib/unistr/u32-strcoll.c: New file.
46053
46054         New module 'unistr/u16-strcoll'.
46055         * modules/unistr/u16-strcoll: New file.
46056         * lib/unistr/u16-strcoll.c: New file.
46057
46058         New module 'unistr/u8-strcoll'.
46059         * modules/unistr/u8-strcoll: New file.
46060         * lib/unistr/u8-strcoll.c: New file.
46061         * lib/unistr/u-strcoll.h: New file.
46062
46063 2009-02-07  Bruno Haible  <bruno@clisp.org>
46064
46065         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
46066         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
46067         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
46068         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
46069         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
46070         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
46071
46072 2009-02-07  Bruno Haible  <bruno@clisp.org>
46073
46074         Make 64-bit clean.
46075         * lib/unictype/gen-ctype.c (output_predicate, output_category,
46076         output_combclass, output_bidi_category, output_decimal_digit,
46077         output_digit, output_numeric, output_mirror, output_scripts,
46078         output_ident_category): Use proper width specifier in format strings.
46079
46080 2009-02-07  Bruno Haible  <bruno@clisp.org>
46081
46082         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
46083         failure behaviour.
46084
46085 2009-02-07  Jim Meyering  <meyering@redhat.com>
46086
46087         regex: avoid compilation failure with upcoming gcc-4.4
46088         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
46089         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
46090         "... error: integer overflow in preprocessor expression".
46091
46092 2009-02-05  Ben Pfaff  <blp@gnu.org>
46093
46094         Fix link errors on Windows when close module is used.
46095         * modules/close: Add $(LIB_CLOSE) to Link section.
46096         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
46097         $(LIB_CLOSE) on Windows.
46098
46099 2009-02-05  Jim Meyering  <meyering@redhat.com>
46100
46101         still avoid unused-parameter warnings, but do it cleanly
46102         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
46103         (get_fs_usage): Cast to void instead.
46104         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
46105         (dev_from_mount_options, read_file_system_list): Cast to void.
46106         Prompted by Bruno Haible.
46107
46108 2009-02-04  Jim Meyering  <meyering@redhat.com>
46109
46110         fsusage.c: correct copyright year
46111         * lib/fsusage.c: Reflect year in which the change is pushed into
46112
46113         avoid misc. warnings
46114         * lib/fsusage.c (UNUSED_PARAM): Define.
46115         (get_fs_usage): Mark parameter "disk" as unused.
46116         * lib/getugroups.c (getgrent): Use "void" in prototype.
46117         * lib/mountlist.c: Mark unused parameters.
46118         (read_file_system_list): Declare a local with "const".
46119         * lib/nanosleep.c (getnow): Declare static.
46120         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
46121
46122         dirfd: set errno upon failure
46123         * lib/dirfd.c: Include <errno.h>.
46124         Set errno to ENOTSUP when returning -1.
46125         * modules/dirfd (Depends-on): Add errno.
46126         Suggested by John Kodis <kodis@comcast.net>.
46127
46128 2009-02-01  Bruno Haible  <bruno@clisp.org>
46129
46130         Don't assume sizeof (long) >= sizeof (void *).
46131         * lib/memcmp.c: Include stdint.h.
46132         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
46133         srcp2 to 'const byte *'.
46134         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
46135         types to uintptr_t.
46136         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
46137         * modules/memcmp (Depends-on): Add stdint.
46138         Reported by Ozkan Sezer <sezeroz@gmail.com>.
46139
46140 2009-01-30  Eric Blake  <ebb9@byu.net>
46141
46142         fix more require-before-expand issues
46143         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
46144         expand, AC_PROG_AWK.
46145         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
46146
46147 2009-01-28  Eric Blake  <ebb9@byu.net>
46148
46149         version-etc: use consistent URL formatting
46150         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
46151         Improve formatting.  Use fputs for string without %.
46152
46153 2009-01-28  Jim Meyering  <meyering@redhat.com>
46154
46155         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
46156         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
46157         "underquoted definition of NAME" from autoconf-2.59.
46158
46159 2009-01-28  Bruno Haible  <bruno@clisp.org>
46160
46161         * doc/gnulib.texi: Add "Obsolete modules" to index.
46162
46163 2009-01-28  Jim Meyering  <meyering@redhat.com>
46164
46165         useless-if-before-free: recognize more variants
46166         * build-aux/useless-if-before-free: Also recognize e.g.,
46167         if (NULL != p) free (p);
46168
46169 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
46170
46171         test-getaddrinfo: skip (don't fail) this test when there's no network
46172         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
46173         on the presumption that it means you lack network access.
46174
46175 2009-01-26  Jim Meyering  <meyering@redhat.com>
46176
46177         fflush: avoid warnings on modern systems
46178         * lib/fflush.c (rpl_fflush): Move declarations of locals,
46179         pos and result, into scopes where they're used.
46180
46181 2009-01-26  Eric Blake  <ebb9@byu.net>
46182
46183         Silence warning reintroduced by recent extensions patch.
46184         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
46185         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
46186         autoconf.
46187
46188         Backport improved autoconf semantics of AC_DEFUN_ONCE.
46189         * m4/00gnulib.m4: New file.
46190         * gnulib-tool (func_get_filelist): Always use it.
46191         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
46192         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
46193
46194 2009-01-25  Bruno Haible  <bruno@clisp.org>
46195
46196         Make test-quotearg work on MacOS X and AIX.
46197         * tests/test-quotearg.sh: New file.
46198         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
46199         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
46200         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
46201         include <libintl.h>.
46202         (fake_locale): Remove variable.
46203         (gettext, dgettext, dcgettext): Remove functions.
46204         (main): Instead of setting a fake locale, set a real locale. Call
46205         textdomain and bindtextdomain.
46206         * modules/quotearg-tests (Files): Add the new files.
46207         (Depends-on): Add gettext, setenv, unsetenv.
46208         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
46209         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
46210         Augment TESTS_ENVIRONMENT.
46211
46212 2009-01-25  Bruno Haible  <bruno@clisp.org>
46213
46214         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
46215         fr_FR.ISO8859-1 locale on MacOS X.
46216         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
46217         ja_JP.eucJP locale on MacOS X.
46218         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
46219         zh_CN.GB18030 locale on MacOS X.
46220
46221 2009-01-25  Bruno Haible  <bruno@clisp.org>
46222
46223         Avoid link errors on MacOS X 10.3.
46224         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
46225         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46226
46227 2009-01-25  Bruno Haible  <bruno@clisp.org>
46228
46229         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46230         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
46231         * modules/pipe (Files): Remove m4/posix_spawn.m4.
46232         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46233         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
46234         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46235         posix_spawnattr_init, posix_spawnattr_setsigmask,
46236         posix_spawnattr_setflags, posix_spawnattr_destroy.
46237
46238         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46239         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46240         * modules/execute (Files): Remove m4/posix_spawn.m4.
46241         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46242         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46243         posix_spawnattr_init, posix_spawnattr_setsigmask,
46244         posix_spawnattr_setflags, posix_spawnattr_destroy.
46245
46246 2009-01-25  Bruno Haible  <bruno@clisp.org>
46247
46248         * lib/glthread/threadlib.c: Include <stdlib.h>.
46249
46250 2009-01-25  Bruno Haible  <bruno@clisp.org>
46251
46252         * lib/glthread/threadlib.c (dummy): New declaration.
46253
46254 2009-01-25  Bruno Haible  <bruno@clisp.org>
46255
46256         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46257         multibyte characters also for the GB18030 encoding. Don't crash when
46258         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46259
46260 2009-01-25  Bruno Haible  <bruno@clisp.org>
46261
46262         Avoid redefining 'struct random_data' on OSF/1 5.1.
46263         * lib/stdlib.in.h: Include <random.h> if it exists.
46264         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46265         HAVE_RANDOM_H. Include <random.h> when testing whether
46266         'struct random_data' exists.
46267         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46268
46269 2009-01-25  Bruno Haible  <bruno@clisp.org>
46270
46271         Don't install charset.alias on MacOS X >= 10.3.
46272         * lib/localcharset.c (DARWIN7): New macro.
46273         (get_charset_aliases): Hardcode the result for Darwin7.
46274         * modules/localcharset (install-exec-local): Don't install
46275         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46276
46277 2009-01-25  Bruno Haible  <bruno@clisp.org>
46278
46279         Don't install charset.alias on mingw and Cygwin.
46280         * modules/localcharset (install-exec-local): Don't install
46281         charset.alias on mingw and Cygwin, if the file does not yet exist.
46282         The result for these platforms is hardcoded in localcharset.c.
46283
46284 2009-01-25  Bruno Haible  <bruno@clisp.org>
46285
46286         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46287         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46288         before requiring AC_USE_SYSTEM_EXTENSIONS.
46289
46290 2009-01-25  Jim Meyering  <meyering@redhat.com>
46291
46292         c-strtod: avoid warnings
46293         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46294         "assignment discards qualifiers from pointer target type" warnings.
46295
46296 2009-01-24  Bruno Haible  <bruno@clisp.org>
46297
46298         Add support for non-UTF-8 locales on MacOS X.
46299         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46300         canonical encodings. For Darwin 7 and newer, don't map traditional
46301         encodings to UTF-8.
46302         Reported by Vincent Lefevre <vincent@vinc17.org>
46303         at <http://savannah.gnu.org/bugs/?25235>.
46304
46305 2009-01-24  Bruno Haible  <bruno@clisp.org>
46306
46307         * doc/gnulib.texi (Obsolete modules): New section.
46308         Reported by Mike Frysinger <vapier@gentoo.org>.
46309
46310 2009-01-24  Bruno Haible  <bruno@clisp.org>
46311
46312         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46313         (%.dvi): New rule.
46314
46315 2009-01-24  Bruno Haible  <bruno@clisp.org>
46316
46317         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46318         Reported by Eric Blake.
46319
46320 2009-01-24  Bruno Haible  <bruno@clisp.org>
46321
46322         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46323         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46324         Reported by Gary V. Vaughan <gary@gnu.org>.
46325
46326 2009-01-24  Bruno Haible  <bruno@clisp.org>
46327
46328         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46329
46330 2009-01-23  Bruno Haible  <bruno@clisp.org>
46331
46332         Make c-strtod, c-strtold usable in libraries.
46333         * lib/c-strtod.c: Include string.h instead of xalloc.h.
46334         (C_STRTOD): Call strdup instead of xstrdup.
46335         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
46336         * modules/c-strtold (Depends-on): Likewise.
46337         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
46338         * NEWS: Mention the change.
46339         Reported by Michael Gold <mgold@ncf.ca>.
46340
46341 2009-01-23  Jim Meyering  <meyering@redhat.com>
46342
46343         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
46344         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
46345         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
46346
46347 2009-01-23  Simon Josefsson  <simon@josefsson.org>
46348
46349         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
46350         GNU CoreUtils.
46351         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
46352         * modules/version-etc (Description): Update.
46353
46354 2009-01-22  Bruno Haible  <bruno@clisp.org>
46355
46356         Cache the C locale object.
46357         * lib/c-strtod.c (c_locale_cache): New variable.
46358         (c_locale): New function.
46359         (C_STRTOD): Use it, and don't call freelocale.
46360         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46361         Suggested by Paolo Bonzini.
46362
46363 2009-01-21  Bruno Haible  <bruno@clisp.org>
46364
46365         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46366         conditions other than overflow.
46367
46368 2009-01-21  Bruno Haible  <bruno@clisp.org>
46369
46370         * lib/c-strtod.c: Include errno.h.
46371         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46372         value from STRTOD_L and STRTOD.
46373
46374 2009-01-21  Bruno Haible  <bruno@clisp.org>
46375         and Jim Meyering  <meyering@redhat.com>
46376
46377         nanosleep: skip configure test (fail it) for apple universal builds
46378         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46379         universal builds, assume that nanosleep does not work.
46380         * modules/nanosleep (Depends-on): Add multiarch.
46381
46382         mktime: skip configure test (fail it) for apple universal builds
46383         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46384         universal builds, assume that mktime does not work.
46385         * modules/mktime (Depends-on): Add multiarch.
46386
46387 2009-01-21  Eric Blake  <ebb9@byu.net>
46388
46389         multiarch: avoid expand-before-require warning
46390         * modules/multiarch (configure.ac): Require, rather than expand,
46391         gl_MULTIARCH.
46392         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46393         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46394         enforce that all clients require it.  Partial reversion of
46395         2008-12-29 patch.
46396
46397         error: avoid expand-before-require warning
46398         * modules/errno (configure.ac): Require, rather than expand,
46399         gl_HEADER_ERRNO_H.
46400         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46401         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46402         enforce that all clients require it.
46403
46404         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46405         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46406         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46407         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46408
46409 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46410
46411         Revert:
46412         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46413
46414         regex: do not depend on obsolete modules.
46415         * modules/regex: Remove memcmp and memmove.
46416
46417 2009-01-20  Bruno Haible  <bruno@clisp.org>
46418
46419         Make the 'link' module link on Windows NT 4.
46420         * lib/link.c (_WIN32_WINNT): Don't define.
46421         (CreateHardLinkFuncType): New type.
46422         (CreateHardLinkFunc, initialized): New variables.
46423         (initialize): New function.
46424         (link): Invoke CreateHardLink indirectly through the function pointer.
46425
46426 2009-01-20  Bruno Haible  <bruno@clisp.org>
46427
46428         Fix compilation failure on mingw.
46429         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46430
46431 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46432
46433         * doc/c-strtod.texi: Mention a couple of restrictions.
46434
46435 2009-01-20  Jim Meyering  <meyering@redhat.com>
46436
46437         gettimeofday: move more declarations out of functions
46438         * lib/gettimeofday.c: Move extern declarations of tzset and
46439         gmtime out of containing functions.  Prompted by Bruno Haible.
46440
46441 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46442
46443         regex: do not depend on obsolete modules.
46444         * modules/regex: Remove memcmp and memmove.
46445
46446 2009-01-19  Bruno Haible  <bruno@clisp.org>
46447
46448         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46449         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46450         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46451         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46452         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46453
46454 2009-01-19  Bruno Haible  <bruno@clisp.org>
46455
46456         * tests/test-link.c: Include <errno.h>.
46457         (main): Exit with code 77 when a hard link cannot be created due to
46458         the file system.
46459         * tests/test-link.sh: Skip test when a hard link cannot be created due
46460         to the file system.
46461         Suggested by Eric Blake.
46462
46463 2009-01-19  Martin Lambers  <marlam@marlam.de>
46464
46465         * modules/link-tests: New file.
46466         * tests/test-link.sh: New file.
46467         * tests/test-link.c: New file.
46468
46469 2009-01-19  Eric Blake  <ebb9@byu.net>
46470
46471         doc: mention another function added in cygwin 1.7.0
46472         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46473         Another new function in cygwin 1.7.
46474
46475 2009-01-19  Bruno Haible  <bruno@clisp.org>
46476
46477         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46478         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46479         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46480         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46481         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46482         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46483         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46484         * m4/md4.m4 (gl_MD4): Likewise.
46485         * m4/md5.m4 (gl_MD5): Likewise.
46486         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46487         * m4/sha1.m4 (gl_SHA1): Likewise.
46488         * m4/sha256.m4 (gl_SHA256): Likewise.
46489         * m4/sha512.m4 (gl_SHA512): Likewise.
46490
46491 2009-01-19  Bruno Haible  <bruno@clisp.org>
46492
46493         * modules/uniname/uniname-tests (Depends-on): Add progname.
46494         * tests/uniname/test-uninames.c: Include progname.h.
46495         (main): Call set_program_name.
46496
46497         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46498         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46499         (main): Call set_program_name.
46500
46501         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46502         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46503         (main): Call set_program_name.
46504
46505         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46506         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46507         (main): Call set_program_name.
46508
46509         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46510         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46511         (main): Call set_program_name.
46512
46513         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46514         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46515         (main): Call set_program_name.
46516
46517         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46518         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46519         (main): Call set_program_name.
46520
46521         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46522         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46523         (main): Call set_program_name.
46524
46525         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46526         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46527         (main): Call set_program_name.
46528
46529 2009-01-19  Eric Blake  <ebb9@byu.net>
46530
46531         test-unistd: test previous patch
46532         * tests/test-unistd.c: Test *_FILENO macros.
46533
46534         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46535         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46536         Guarantee a definition.
46537         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46538         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46539         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46540         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46541         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46542         Likewise.
46543         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46544         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46545         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46546         Likewise.
46547         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46548         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46549         (STDERR_FILENO): Likewise.
46550         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46551         (STDERR_FILENO): Likewise.
46552         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46553         (STDERR_FILENO): Likewise.
46554         Reported by Elbert Pol.
46555
46556 2009-01-19  Eric Blake  <ebb9@byu.net>
46557
46558         doc: mention more functions added in cygwin 1.7.0
46559         * doc/posix-functions/abort.texi (abort): Update wording related
46560         to cygwin.
46561         * doc/posix-functions/daylight.texi (daylight): Likewise.
46562         * doc/posix-functions/optarg.texi (optarg): Likewise.
46563         * doc/posix-functions/optarg.texi (opterr): Likewise.
46564         * doc/posix-functions/optarg.texi (optind): Likewise.
46565         * doc/posix-functions/optarg.texi (optopt): Likewise.
46566         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46567         worked in 1.5.x, and was withdrawn in 1.7.
46568         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46569         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46570         cygwin versions.
46571         * doc/posix-functions/perror.texi (perror): Likewise.
46572         * doc/posix-functions/printf.texi (printf): Likewise.
46573         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46574         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46575         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46576         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46577         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46578         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46579         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46580         Likewise.
46581         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46582         Likewise.
46583         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46584         this function.
46585         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46586         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46587         Likewise.
46588         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46589         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46590         * doc/posix-functions/confstr.texi (confstr): Likewise.
46591         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46592         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46593         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46594         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46595         * doc/posix-functions/fputws.texi (fputws): Likewise.
46596         * doc/posix-functions/fwide.texi (fwide): Likewise.
46597         * doc/posix-functions/getwc.texi (getwc): Likewise.
46598         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46599         * doc/posix-functions/putwc.texi (putwc): Likewise.
46600         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46601         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46602         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46603         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46604         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46605         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46606         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46607         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46608         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46609         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46610         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46611
46612 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46613
46614         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46615         * lib/ioctl.c: Include <sys/ioctl.h>.
46616
46617 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46618
46619         * modules/getdate-tests (Depends-on): Add progname.
46620         * tests/test-getdate.c: Use progname module, to avoid link errors
46621         on non-glibc systems.
46622
46623 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46624
46625         * modules/filenamecat-tests (Depends-on): Add progname.
46626         * modules/fstrcmp-tests (Depends-on): Likewise.
46627
46628         * tests/test-filenamecat.c: Use progname module, to avoid link
46629         errors on non-glibc systems.
46630         * tests/test-fstrcmp.c: Likewise.
46631
46632 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46633
46634         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46635         * lib/gettimeofday.c: Move extern declaration out of function.
46636
46637 2009-01-18  Bruno Haible  <bruno@clisp.org>
46638
46639         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46640         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46641         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46642
46643 2009-01-18  Bruno Haible  <bruno@clisp.org>
46644
46645         * lib/strftime.c (MEMPCPY): Remove unused macro.
46646         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46647
46648 2009-01-18  Martin Lambers  <marlam@marlam.de>
46649
46650         New module 'link'.
46651         * lib/unistd.in.h (link): New declaration.
46652         * lib/link.c: New file.
46653         * m4/link.m4: New file.
46654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46655         HAVE_LINK.
46656         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46657         * modules/link: New file.
46658         * doc/posix-functions/link.texi: Mention the new module.
46659
46660 2009-01-18  Bruno Haible  <bruno@clisp.org>
46661
46662         * tests/test-avltree_list.c (main): Call set_program_name.
46663         * tests/test-avltree_oset.c (main): Likewise.
46664         * tests/test-obstack-printf.c: Include progname.h.
46665         (main): Call set_program_name.
46666         * tests/test-quotearg.c: Include progname.h.
46667         (main): Call set_program_name.
46668         * tests/test-xmemdup0.c: Include progname.h.
46669         (main): Call set_program_name.
46670
46671 2009-01-18  Bruno Haible  <bruno@clisp.org>
46672
46673         New module 'alphasort'.
46674         * lib/dirent.in.h (alphasort): New declaration.
46675         * lib/alphasort.c: New file, from glibc with modifications.
46676         * m4/alphasort.m4: New file.
46677         * modules/alphasort: New file.
46678         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46679         HAVE_ALPHASORT.
46680         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46681         HAVE_ALPHASORT.
46682         * doc/posix-functions/alphasort.texi: Mention the new module and the
46683         portability problems.
46684
46685 2009-01-18  Bruno Haible  <bruno@clisp.org>
46686
46687         New module 'scandir'.
46688         * lib/dirent.in.h (scandir): New declaration.
46689         * lib/scandir.c: New file, from glibc with modifications.
46690         * m4/scandir.m4: New file.
46691         * modules/scandir: New file.
46692         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46693         HAVE_SCANDIR.
46694         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46695         HAVE_SCANDIR.
46696         * doc/posix-functions/scandir.texi: Mention the new module and the
46697         portability problems.
46698
46699 2009-01-17  Bruno Haible  <bruno@clisp.org>
46700
46701         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46702         Update documentation.
46703         (func_remove_suffix): Escape all dots in the suffix. Update
46704         documentation.
46705         (func_filter_filelist): Update documentation.
46706         Reported by Ralf Wildenhues.
46707
46708 2009-01-17  Bruno Haible  <bruno@clisp.org>
46709
46710         * modules/dprintf-posix-tests: New file.
46711         * tests/test-dprintf-posix.sh: New file.
46712         * tests/test-dprintf-posix.c: New file.
46713
46714         New modules 'dprintf', 'dprintf-posix'.
46715         * lib/stdio.in.h (dprintf): New declaration.
46716         * lib/dprintf.c: New file.
46717         * m4/dprintf.m4: New file.
46718         * m4/dprintf-posix.m4: New file.
46719         * modules/dprintf: New file.
46720         * modules/dprintf-posix: New file.
46721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46722         HAVE_DPRINTF, REPLACE_DPRINTF.
46723         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46724         HAVE_DPRINTF, REPLACE_DPRINTF.
46725         * doc/posix-functions/dprintf.texi: Mention the new modules.
46726
46727 2009-01-17  Bruno Haible  <bruno@clisp.org>
46728
46729         * modules/vdprintf-posix-tests: New file.
46730         * tests/test-vdprintf-posix.sh: New file.
46731         * tests/test-vdprintf-posix.c: New file.
46732
46733         New modules 'vdprintf', 'vdprintf-posix'.
46734         * lib/stdio.in.h (vdprintf): New declaration.
46735         * lib/vdprintf.c: New file.
46736         * m4/vdprintf.m4: New file.
46737         * m4/vdprintf-posix.m4: New file.
46738         * modules/vdprintf: New file.
46739         * modules/vdprintf-posix: New file.
46740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46741         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46742         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46743         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46744         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46745
46746 2009-01-17  Bruno Haible  <bruno@clisp.org>
46747
46748         Fix replacement of fopen on mingw.
46749         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46750         mingw.
46751
46752 2009-01-17  Bruno Haible  <bruno@clisp.org>
46753
46754         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46755         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46756
46757 2009-01-17  Bruno Haible  <bruno@clisp.org>
46758
46759         Avoid test-fflush2.sh failure on mingw.
46760         * tests/test-fflush2.c: Include binary-io.h.
46761         (main): Put standard input into binary mode.
46762         * modules/fflush-tests (Depends-on): Add binary-io.
46763
46764 2009-01-17  Bruno Haible  <bruno@clisp.org>
46765
46766         * lib/wchar.in.h: In another particular situation, include only the
46767         system's <wchar.h> file.
46768         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46769         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46770         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46771
46772 2009-01-17  Bruno Haible  <bruno@clisp.org>
46773
46774         Support for stripping executables in --enable-relocatable.
46775         * build-aux/install-reloc: Expect one more argument, or an environment
46776         variable RELOC_STRIP_PROG. If set, strip the destination program and
46777         its wrapper.
46778         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46779         RELOC_STRIP_PROG.
46780         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46781         to set RELOCATABLE_STRIP.
46782         * NEWS: Mention the new Makefile requirement.
46783
46784 2009-01-17  Bruno Haible  <bruno@clisp.org>
46785
46786         * build-aux/install-reloc: Remove debugging information left over by
46787         C compiler on MacOS X.
46788
46789 2009-01-17  Bruno Haible  <bruno@clisp.org>
46790
46791         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46792         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46793         _NSGetExecutablePath.
46794
46795 2009-01-16  Jim Meyering  <meyering@redhat.com>
46796
46797         strerror: avoid warnings about discarding "const"
46798         * lib/strerror.c (rpl_strerror): Instead of returning a const
46799         string from each and every "case", use a variable, and add a single
46800         cast after the switch.
46801
46802 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46803
46804         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46805
46806 2009-01-16  Bruno Haible  <bruno@clisp.org>
46807
46808         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46809         array initializer syntax that also works in C++ mode.
46810         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46811
46812 2009-01-16  Jim Meyering  <meyering@redhat.com>
46813
46814         poll: suppress a warning
46815         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46816         to ignore "...unsigned expression < 0 is always false" warnings.
46817
46818 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46819
46820         poll: remove declarations of unused variables
46821         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46822         sockbuf and optlen.
46823
46824 2009-01-15  Bruno Haible  <bruno@clisp.org>
46825
46826         Make fflush-after-ungetc POSIX compliant on BSD systems.
46827         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46828         (clear_ungetc_buffer): Implement also for other systems.
46829         (rpl_fflush): On glibc systems, invoke
46830         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46831         clear_ungetc_buffer after fetching the stream's position, not before.
46832
46833 2009-01-15  Bruno Haible  <bruno@clisp.org>
46834
46835         Make fflush-after-ungetc POSIX compliant on glibc systems.
46836         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46837         after ungetc.
46838         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46839         (rpl_fflush): On glibc systems, simply call the system's fflush
46840         function after clearing the ungetc buffer.
46841         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46842         Instead, lseek only to the end of file, then use the system's fseeko
46843         for the rest. On glibc systems, reset the EOF indicator bit.
46844
46845 2009-01-15  Jim Meyering  <meyering@redhat.com>
46846
46847         openmp.m4: revert quote-adding change, for portability to older autoconf
46848         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46849         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46850         Simon Josefsson noticed the problem when using autoconf-2.61.
46851
46852 2009-01-15  Bruno Haible  <bruno@clisp.org>
46853
46854         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46855         * tests/test-fflush2.c (ASSERT): Always fail.
46856         (main): Add two tests for fflush() after ungetc(), taking into account
46857         the Austin Group's clarification.
46858         Suggested by Eric Blake.
46859
46860 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46861
46862         mktime.m4: remove K&R-style function prototypes
46863         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46864         for the Sun C++ compiler.
46865
46866 2009-01-14  Bruno Haible  <bruno@clisp.org>
46867
46868         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46869         while including <wchar.h>.
46870         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46871         the system's <wchar.h> file.
46872         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46873
46874 2009-01-14  Bruno Haible  <bruno@clisp.org>
46875
46876         * m4/csharp.m4: Don't mention gettext on the serial number line.
46877         * m4/csharpexec.m4: Likewise.
46878         * m4/eaccess.m4: Likewise.
46879         * m4/javaexec.m4: Likewise.
46880         * m4/sig_atomic_t.m4: Likewise.
46881         * m4/tmpdir.m4: Likewise.
46882         * m4/intldir.m4: Bump gettext version.
46883         * m4/lib-ld.m4: Likewise.
46884
46885 2009-01-14  Bruno Haible  <bruno@clisp.org>
46886
46887         * lib/progname.c (set_program_name): Add more comments.
46888         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46889
46890 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46891
46892         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46893         were sys/stat.h does not define it.
46894
46895 2009-01-14  Jim Meyering  <meyering@redhat.com>
46896
46897         many *.m4 files: improve m4 quoting
46898         99% of this change was performed by running the following commands:
46899         git ls-files | grep '\.m4$' | xargs perl -pi \
46900           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46901           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46902           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46903           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46904         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46905         The remainder were to add Copyright dates, increment serial numbers,
46906         undo some changes in comments, exclude m4/intl.m4, and add quotes
46907         around the "1" in ",1" where the unusual spacing prohibited the
46908         above regexps from doing the job.  For more details, see
46909         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46910         * m4/acl.m4: Modified.
46911         * m4/afs.m4: Likewise.
46912         * m4/alloca.m4: Likewise.
46913         * m4/argp.m4: Likewise.
46914         * m4/argz.m4: Likewise.
46915         * m4/atexit.m4: Likewise.
46916         * m4/bison-i18n.m4: Likewise.
46917         * m4/bison.m4: Likewise.
46918         * m4/byteswap.m4: Likewise.
46919         * m4/c-stack.m4: Likewise.
46920         * m4/c-strtod.m4: Likewise.
46921         * m4/calloc.m4: Likewise.
46922         * m4/canonicalize-lgpl.m4: Likewise.
46923         * m4/chown.m4: Likewise.
46924         * m4/clock_time.m4: Likewise.
46925         * m4/codeset.m4: Likewise.
46926         * m4/copy-file.m4: Likewise.
46927         * m4/csharp.m4: Likewise.
46928         * m4/csharpcomp.m4: Likewise.
46929         * m4/csharpexec.m4: Likewise.
46930         * m4/d-ino.m4: Likewise.
46931         * m4/d-type.m4: Likewise.
46932         * m4/dirfd.m4: Likewise.
46933         * m4/double-slash-root.m4: Likewise.
46934         * m4/eaccess.m4: Likewise.
46935         * m4/eealloc.m4: Likewise.
46936         * m4/environ.m4: Likewise.
46937         * m4/errno_h.m4: Likewise.
46938         * m4/euidaccess.m4: Likewise.
46939         * m4/execute.m4: Likewise.
46940         * m4/fatal-signal.m4: Likewise.
46941         * m4/fchdir.m4: Likewise.
46942         * m4/fcntl_h.m4: Likewise.
46943         * m4/fileblocks.m4: Likewise.
46944         * m4/filenamecat.m4: Likewise.
46945         * m4/findprog.m4: Likewise.
46946         * m4/flexmember.m4: Likewise.
46947         * m4/fnmatch.m4: Likewise.
46948         * m4/fopen.m4: Likewise.
46949         * m4/fpending.m4: Likewise.
46950         * m4/fprintf-posix.m4: Likewise.
46951         * m4/free.m4: Likewise.
46952         * m4/frexp.m4: Likewise.
46953         * m4/frexpl.m4: Likewise.
46954         * m4/fsusage.m4: Likewise.
46955         * m4/ftruncate.m4: Likewise.
46956         * m4/gc-camellia.m4: Likewise.
46957         * m4/gc-random.m4: Likewise.
46958         * m4/gc.m4: Likewise.
46959         * m4/getaddrinfo.m4: Likewise.
46960         * m4/getcwd-abort-bug.m4: Likewise.
46961         * m4/getcwd-path-max.m4: Likewise.
46962         * m4/getdate.m4: Likewise.
46963         * m4/getdomainname.m4: Likewise.
46964         * m4/getgroups.m4: Likewise.
46965         * m4/gethostname.m4: Likewise.
46966         * m4/gethrxtime.m4: Likewise.
46967         * m4/getline.m4: Likewise.
46968         * m4/getloadavg.m4: Likewise.
46969         * m4/getndelim2.m4: Likewise.
46970         * m4/getpass.m4: Likewise.
46971         * m4/gettext.m4: Likewise.
46972         * m4/gettime.m4: Likewise.
46973         * m4/gettimeofday.m4: Likewise.
46974         * m4/gnulib-common.m4: Likewise.
46975         * m4/group-member.m4: Likewise.
46976         * m4/host-os.m4: Likewise.
46977         * m4/iconv.m4: Likewise.
46978         * m4/iconv_open.m4: Likewise.
46979         * m4/inet_ntop.m4: Likewise.
46980         * m4/inet_pton.m4: Likewise.
46981         * m4/inline.m4: Likewise.
46982         * m4/intldir.m4: Likewise.
46983         * m4/intlmacosx.m4: Likewise.
46984         * m4/intmax.m4: Likewise.
46985         * m4/intmax_t.m4: Likewise.
46986         * m4/inttypes.m4: Likewise.
46987         * m4/inttypes_h.m4: Likewise.
46988         * m4/inttypes-pri.m4: Likewise.
46989         * m4/isapipe.m4: Likewise.
46990         * m4/isnand.m4: Likewise.
46991         * m4/isnanf.m4: Likewise.
46992         * m4/isnanl.m4: Likewise.
46993         * m4/javacomp.m4: Likewise.
46994         * m4/javaexec.m4: Likewise.
46995         * m4/jm-winsz1.m4: Likewise.
46996         * m4/jm-winsz2.m4: Likewise.
46997         * m4/lchown.m4: Likewise.
46998         * m4/lcmessage.m4: Likewise.
46999         * m4/ldexpl.m4: Likewise.
47000         * m4/lib-ld.m4: Likewise.
47001         * m4/lib-link.m4: Likewise.
47002         * m4/libsigsegv.m4: Likewise.
47003         * m4/link-follow.m4: Likewise.
47004         * m4/localcharset.m4: Likewise.
47005         * m4/locale-fr.m4: Likewise.
47006         * m4/locale-ja.m4: Likewise.
47007         * m4/locale-tr.m4: Likewise.
47008         * m4/locale-zh.m4: Likewise.
47009         * m4/lock.m4: Likewise.
47010         * m4/longlong.m4: Likewise.
47011         * m4/ls-mntd-fs.m4: Likewise.
47012         * m4/lstat.m4: Likewise.
47013         * m4/malloc.m4: Likewise.
47014         * m4/mathl.m4: Likewise.
47015         * m4/mbrtowc.m4: Likewise.
47016         * m4/mbstate_t.m4: Likewise.
47017         * m4/mbswidth.m4: Likewise.
47018         * m4/memchr.m4: Likewise.
47019         * m4/memcmp.m4: Likewise.
47020         * m4/memcpy.m4: Likewise.
47021         * m4/memmem.m4: Likewise.
47022         * m4/memmove.m4: Likewise.
47023         * m4/mempcpy.m4: Likewise.
47024         * m4/memrchr.m4: Likewise.
47025         * m4/memset.m4: Likewise.
47026         * m4/minmax.m4: Likewise.
47027         * m4/mkdir-slash.m4: Likewise.
47028         * m4/mkdtemp.m4: Likewise.
47029         * m4/mktime.m4: Likewise.
47030         * m4/mmap-anon.m4: Likewise.
47031         * m4/mountlist.m4: Likewise.
47032         * m4/nanosleep.m4: Likewise.
47033         * m4/nls.m4: Likewise.
47034         * m4/nocrash.m4: Likewise.
47035         * m4/open.m4: Likewise.
47036         * m4/openat.m4: Likewise.
47037         * m4/openmp.m4: Likewise.
47038         * m4/pathmax.m4: Likewise.
47039         * m4/perl.m4: Likewise.
47040         * m4/physmem.m4: Likewise.
47041         * m4/pipe.m4: Likewise.
47042         * m4/po.m4: Likewise.
47043         * m4/poll.m4: Likewise.
47044         * m4/posixtm.m4: Likewise.
47045         * m4/posixver.m4: Likewise.
47046         * m4/printf-frexp.m4: Likewise.
47047         * m4/printf-frexpl.m4: Likewise.
47048         * m4/printf-posix.m4: Likewise.
47049         * m4/printf-posix-rpl.m4: Likewise.
47050         * m4/printf.m4: Likewise.
47051         * m4/progtest.m4: Likewise.
47052         * m4/putenv.m4: Likewise.
47053         * m4/readline.m4: Likewise.
47054         * m4/readlink.m4: Likewise.
47055         * m4/readutmp.m4: Likewise.
47056         * m4/realloc.m4: Likewise.
47057         * m4/regex.m4: Likewise.
47058         * m4/relocatable.m4: Likewise.
47059         * m4/relocatable-lib.m4: Likewise.
47060         * m4/rename-dest-slash.m4: Likewise.
47061         * m4/rename.m4: Likewise.
47062         * m4/rmdir-errno.m4: Likewise.
47063         * m4/rmdir.m4: Likewise.
47064         * m4/roundf.m4: Likewise.
47065         * m4/roundl.m4: Likewise.
47066         * m4/rpmatch.m4: Likewise.
47067         * m4/save-cwd.m4: Likewise.
47068         * m4/selinux-selinux-h.m4: Likewise.
47069         * m4/setenv.m4: Likewise.
47070         * m4/settime.m4: Likewise.
47071         * m4/sig2str.m4: Likewise.
47072         * m4/sig_atomic_t.m4: Likewise.
47073         * m4/signalblocking.m4: Likewise.
47074         * m4/signbit.m4: Likewise.
47075         * m4/sigpipe.m4: Likewise.
47076         * m4/sockets.m4: Likewise.
47077         * m4/sockpfaf.m4: Likewise.
47078         * m4/st_dm_mode.m4: Likewise.
47079         * m4/stat-time.m4: Likewise.
47080         * m4/stdbool.m4: Likewise.
47081         * m4/stdint.m4: Likewise.
47082         * m4/stdint_h.m4: Likewise.
47083         * m4/stpcpy.m4: Likewise.
47084         * m4/stpncpy.m4: Likewise.
47085         * m4/strcase.m4: Likewise.
47086         * m4/strchrnul.m4: Likewise.
47087         * m4/strcspn.m4: Likewise.
47088         * m4/strdup.m4: Likewise.
47089         * m4/strftime.m4: Likewise.
47090         * m4/strndup.m4: Likewise.
47091         * m4/strnlen.m4: Likewise.
47092         * m4/strpbrk.m4: Likewise.
47093         * m4/strptime.m4: Likewise.
47094         * m4/strsep.m4: Likewise.
47095         * m4/strtod.m4: Likewise.
47096         * m4/strtoimax.m4: Likewise.
47097         * m4/strtok_r.m4: Likewise.
47098         * m4/strtol.m4: Likewise.
47099         * m4/strtoll.m4: Likewise.
47100         * m4/strtoul.m4: Likewise.
47101         * m4/strtoull.m4: Likewise.
47102         * m4/strtoumax.m4: Likewise.
47103         * m4/strverscmp.m4: Likewise.
47104         * m4/threadlib.m4: Likewise.
47105         * m4/timegm.m4: Likewise.
47106         * m4/tm_gmtoff.m4: Likewise.
47107         * m4/tmpdir.m4: Likewise.
47108         * m4/tmpfile.m4: Likewise.
47109         * m4/tzset.m4: Likewise.
47110         * m4/uintmax_t.m4: Likewise.
47111         * m4/unlinkdir.m4: Likewise.
47112         * m4/unlocked-io.m4: Likewise.
47113         * m4/uptime.m4: Likewise.
47114         * m4/userspec.m4: Likewise.
47115         * m4/utimbuf.m4: Likewise.
47116         * m4/utime.m4: Likewise.
47117         * m4/utimes-null.m4: Likewise.
47118         * m4/utimes.m4: Likewise.
47119         * m4/vararrays.m4: Likewise.
47120         * m4/vasnprintf.m4: Likewise.
47121         * m4/vfprintf-posix.m4: Likewise.
47122         * m4/vprintf-posix.m4: Likewise.
47123         * m4/wait-process.m4: Likewise.
47124         * m4/wchar_t.m4: Likewise.
47125         * m4/wint_t.m4: Likewise.
47126         * m4/write-any-file.m4: Likewise.
47127         * m4/yield.m4: Likewise.
47128
47129 2009-01-13  Bruno Haible  <bruno@clisp.org>
47130
47131         Avoid test-copy-file.sh failures when ACL support insufficient.
47132         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
47133         TESTS_ENVIRONMENT.
47134         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
47135         Reported by Jim Meyering.
47136
47137 2009-01-13  Bruno Haible  <bruno@clisp.org>
47138
47139         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
47140         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
47141         * modules/unistdio/u8-printf-parse (Files): Likewise.
47142         * modules/unistdio/u32-printf-parse (Files): Likewise.
47143         * modules/unistdio/ulc-printf-parse (Files): Likewise.
47144
47145 2009-01-13  Simon Josefsson  <simon@josefsson.org>
47146
47147         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
47148         and m4/inttypes_h.m4 too.
47149
47150 2009-01-12  Eric Blake  <ebb9@byu.net>
47151
47152         tests: IRIX 6.2 cc can't compile -0.0 into .data
47153         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
47154         rather than at compile-time.
47155         * tests/test-floorl.c (minus_zero): Likewise.
47156         * tests/test-frexpl.c (minus_zero): Likewise.
47157         * tests/test-isnan.c (minus_zerol): Likewise.
47158         * tests/test-isnanl.h (minus_zero): Likewise.
47159         * tests/test-ldexpl.c (minus_zero): Likewise.
47160         * tests/test-roundl.c (minus_zero): Likewise.
47161         * tests/test-signbit.c (minus_zerol): Likewise.
47162         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47163         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47164         * tests/test-truncl.c (minus_zero): Likewise.
47165         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47166         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47167         Reported by Tom G. Christensen and Nelson H. F. Beebe.
47168
47169 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47170
47171         regex: fix glibc bug 9697
47172         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
47173         handling.
47174
47175 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47176
47177         regex: fix glibc bug 697
47178         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
47179         being NULL also if there are no backreferences.
47180
47181 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47182
47183         regex: merge glibc changes
47184         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
47185         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
47186         re_string_skip_chars, re_string_reconstruct): Likewise.
47187         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
47188
47189 2009-01-07  Jim Meyering  <meyering@redhat.com>
47190
47191         poll: filter through cppi
47192         * lib/poll.c: Indent cpp directives to reflect nesting.
47193
47194 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
47195
47196         poll: don't return uninitialized
47197         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
47198
47199 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
47200
47201         avoid compile failure on AIX 6.1
47202         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
47203         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
47204
47205 2009-01-04  Jim Meyering  <meyering@redhat.com>
47206
47207         remove duplicate inclusion of <stdio.h>
47208         * tests/test-fprintf-posix.c: Likewise.
47209         * tests/test-printf-posix.c: Likewise.
47210         * tests/test-snprintf-posix.c: Likewise.
47211         * tests/test-sprintf-posix.c: Likewise.
47212         * tests/test-vasprintf-posix.c: Likewise.
47213         * tests/test-vfprintf-posix.c: Likewise.
47214         * tests/test-vprintf-posix.c: Likewise.
47215         * tests/test-vsnprintf-posix.c: Likewise.
47216         * tests/test-vsprintf-posix.c: Likewise.
47217
47218 2009-01-03  Jim Meyering  <meyering@redhat.com>
47219
47220         gnulib-tool: fix sed-based filtering
47221         * gnulib-tool (func_filter_filelist): Remove extra backslash
47222         in sed_fff_filter definition.
47223
47224 2009-01-02  Jim Meyering  <meyering@redhat.com>
47225
47226         strftime: avoid compilation failure on Solaris 2.6
47227         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
47228         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
47229         Don't #define mbrlen or mbsinit, since now they're guaranteed to
47230         be available.  Reported by Tom G. Christensen.  Details in
47231         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
47232
47233 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47234             Bruno Haible  <bruno@clisp.org>
47235
47236         Speed up gnulib-tool by doing more string processing through shell
47237         built-ins.
47238         * gnulib-tool (fast_func_append): New variable.
47239         (func_remove_prefix, func_remove_suffix): New functions.
47240         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47241         (func_filter_filelist): New function.
47242         (func_get_dependencies): Use func_remove_suffix instead of sed.
47243         (func_get_automake_snippet): Use func_filter_filelist instead of a
47244         subshell and sed invocation.
47245
47246 2009-01-01  Bruno Haible  <bruno@clisp.org>
47247
47248         Fix a security bug.
47249         * gnulib-tool (func_import, import, update): Don't allow the characters
47250         '"', '$', '`', '\' in macro arguments that become part of commands that
47251         are evaluated.
47252
47253 2009-01-01  Bruno Haible  <bruno@clisp.org>
47254
47255         * gnulib-tool (func_reset_sigpipe): Add more comments.
47256
47257 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47258
47259         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47260         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47261         already know the answer.
47262
47263 2009-01-01  Jim Meyering  <meyering@redhat.com>
47264
47265         * lib/version-etc.c (version_etc_va): Update copyright year.
47266
47267 2008-12-30  Bruno Haible  <bruno@clisp.org>
47268
47269         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47270         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47271         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47272
47273 2008-12-29  Eric Blake  <ebb9@byu.net>
47274
47275         multiarch: avoid autoconf AC_REQUIRE bug
47276         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47277         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47278         2.63 and older.
47279         Reported by Bruno Haible, and analyzed in
47280         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47281
47282 2008-12-29  Bruno Haible  <bruno@clisp.org>
47283
47284         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47285         files in subdirectories correctly.
47286         Reported by Ralf Wildenhues.
47287
47288 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47289
47290         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47291         rather than 'join FILE -', for Solaris join.
47292
47293 2008-12-29  Bruno Haible  <bruno@clisp.org>
47294
47295         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47296         quoting.
47297         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47298         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47299         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47300         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47301         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47302         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47303         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47304         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47305         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47306         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47307         * m4/nls.m4 (AM_NLS): Likewise.
47308         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47309         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47310         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47311         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47312         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47313         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47314         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47315         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47316         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47317         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47318         * m4/xsize.m4 (gl_XSIZE): Likewise.
47319         Suggested by Jim Meyering.
47320
47321 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47322
47323         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47324         * lib/parse-duration.c: use a switch instead of cascading if's.
47325
47326 2008-12-29  Eric Blake  <ebb9@byu.net>
47327
47328         wchar.h: supply WEOF on Irix 5.3
47329         * lib/wchar.in.h (wint_t): Also supply WEOF.
47330         * lib/wctype.in.h (wint_t): Likewise.
47331         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
47332         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
47333         Reported by Tom G. Christensen.
47334
47335 2008-12-26  Bruno Haible  <bruno@clisp.org>
47336
47337         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
47338         i486, i586, i686.
47339
47340 2008-12-26  Bruno Haible  <bruno@clisp.org>
47341
47342         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
47343
47344 2008-12-26  Bruno Haible  <bruno@clisp.org>
47345
47346         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
47347         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
47348         not __STDC_CONSTANT_MACROS.
47349         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47350
47351 2008-12-25  Bruno Haible  <bruno@clisp.org>
47352
47353         Add support for universal builds to vasnprintf.
47354         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47355         universal builds, guess no.
47356         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47357         * modules/vasprintf-posix (Depends-on): Likewise.
47358         * modules/fprintf-posix (Depends-on): Likewise.
47359         * modules/vfprintf-posix (Depends-on): Likewise.
47360         * modules/snprintf-posix (Depends-on): Likewise.
47361         * modules/vsnprintf-posix (Depends-on): Likewise.
47362         * modules/sprintf-posix (Depends-on): Likewise.
47363         * modules/vsprintf-posix (Depends-on): Likewise.
47364         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47365         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47366         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47367         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47368         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47369         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47370         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47371
47372         Add support for universal builds to <inttypes.h>.
47373         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47374         _SCNu64_PREFIX): In Apple
47375         universal builds, define directly, using _LP64.
47376         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47377         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47378         * modules/inttypes (Depends-on): Add multiarch.
47379         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47380
47381         Add support for universal builds to <stdint.h>.
47382         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47383         universal builds, define directly, using _LP64.
47384         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47385         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47386         and size_t.
47387         * modules/stdint (Depends-on): Add multiarch.
47388         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47389
47390         New module 'multiarch'.
47391         * modules/multiarch: New file.
47392         * m4/multiarch.m4: New file.
47393
47394 2008-12-25  Bruno Haible  <bruno@clisp.org>
47395
47396         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47397
47398 2008-12-25  Bruno Haible  <bruno@clisp.org>
47399
47400         * modules/btowc (License): Relicense under LGPLv2+.
47401         * modules/mbsinit (License): Likewise.
47402         * modules/mbrtowc (License): Likewise.
47403         * modules/wcrtomb (License): Likewise.
47404         * modules/streq (License): Likewise.
47405         Reported by David Lutterkort <lutter@redhat.com>.
47406
47407 2008-12-23  Bruno Haible  <bruno@clisp.org>
47408
47409         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47410
47411 2008-12-23  Bruno Haible  <bruno@clisp.org>
47412
47413         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47414         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47415         GETADDRINFO_LIB, not in LIBS.
47416         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47417         * modules/canon-host (Link): Likewise.
47418         * NEWS: Mention the change.
47419         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47420         GETADDRINFO_LIB.
47421
47422 2008-12-22  Bruno Haible  <bruno@clisp.org>
47423
47424         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47425         * doc/posix-functions/iswalpha_l.texi: Likewise.
47426         * doc/posix-functions/iswblank_l.texi: Likewise.
47427         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47428         * doc/posix-functions/iswctype_l.texi: Likewise.
47429         * doc/posix-functions/iswdigit_l.texi: Likewise.
47430         * doc/posix-functions/iswgraph_l.texi: Likewise.
47431         * doc/posix-functions/iswlower_l.texi: Likewise.
47432         * doc/posix-functions/iswprint_l.texi: Likewise.
47433         * doc/posix-functions/iswpunct_l.texi: Likewise.
47434         * doc/posix-functions/iswspace_l.texi: Likewise.
47435         * doc/posix-functions/iswupper_l.texi: Likewise.
47436         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47437         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47438         * doc/posix-functions/open_wmemstream.texi: Likewise.
47439         * doc/posix-functions/swscanf.texi: Likewise.
47440         * doc/posix-functions/towctrans_l.texi: Likewise.
47441         * doc/posix-functions/towlower.texi: Likewise.
47442         * doc/posix-functions/towlower_l.texi: Likewise.
47443         * doc/posix-functions/towupper.texi: Likewise.
47444         * doc/posix-functions/towupper_l.texi: Likewise.
47445         * doc/posix-functions/vfwprintf.texi: Likewise.
47446         * doc/posix-functions/vfwscanf.texi: Likewise.
47447         * doc/posix-functions/vswscanf.texi: Likewise.
47448         * doc/posix-functions/vwprintf.texi: Likewise.
47449         * doc/posix-functions/vwscanf.texi: Likewise.
47450         * doc/posix-functions/wcpcpy.texi: Likewise.
47451         * doc/posix-functions/wcpncpy.texi: Likewise.
47452         * doc/posix-functions/wcscasecmp.texi: Likewise.
47453         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47454         * doc/posix-functions/wcscoll_l.texi: Likewise.
47455         * doc/posix-functions/wcsdup.texi: Likewise.
47456         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47457         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47458         * doc/posix-functions/wcsnlen.texi: Likewise.
47459         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47460         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47461         * doc/posix-functions/wctrans_l.texi: Likewise.
47462         * doc/posix-functions/wctype_l.texi: Likewise.
47463         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47464         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47465         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47466         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47467         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47468         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47469         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47470         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47471         * doc/glibc-functions/wcschrnul.texi: Likewise.
47472         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47473         * doc/glibc-functions/wcstod_l.texi: Likewise.
47474         * doc/glibc-functions/wcstof_l.texi: Likewise.
47475         * doc/glibc-functions/wcstol_l.texi: Likewise.
47476         * doc/glibc-functions/wcstold_l.texi: Likewise.
47477         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47478         * doc/glibc-functions/wcstoq.texi: Likewise.
47479         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47480         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47481         * doc/glibc-functions/wcstouq.texi: Likewise.
47482         * doc/glibc-functions/wmempcpy.texi: Likewise.
47483
47484 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47485             Eric Blake  <ebb9@byu.net>
47486             Paolo Bonzini  <bonzini@gnu.org>
47487             Bruno Haible  <bruno@clisp.org>
47488
47489         Make c-stack work on Haiku.
47490         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47491         (c_stack_action): Use SA_ONSTACK flag.
47492
47493 2008-12-22  Bruno Haible  <bruno@clisp.org>
47494
47495         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47496
47497 2008-12-22  Bruno Haible  <bruno@clisp.org>
47498
47499         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47500         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47501         being overridden.
47502         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47503         New macros.
47504         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47506         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47507         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47508
47509 2008-12-22  Bruno Haible  <bruno@clisp.org>
47510
47511         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47512         from test code.
47513
47514 2008-12-22  Eric Blake  <ebb9@byu.net>
47515
47516         Avoid gcc warnings on cygwin.
47517         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47518         Avoid unused variable.
47519         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47520         Likewise.
47521
47522 2008-12-22  Bruno Haible  <bruno@clisp.org>
47523
47524         Remove HAVE_MBRTOWC conditionals.
47525         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47526         (mbscasecmp): Assume mbrtowc function.
47527         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47528         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47529         * lib/mbschr.c: Include mbuiter.h unconditionally.
47530         (mbschr): Assume mbrtowc function.
47531         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47532         (mbscspn): Assume mbrtowc function.
47533         * lib/mbslen.c: Include mbuiter.h unconditionally.
47534         (mbslen): Assume mbrtowc function.
47535         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47536         (mbsncasecmp): Assume mbrtowc function.
47537         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47538         (mbsnlen): Assume mbrtowc function.
47539         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47540         (mbspbrk): Assume mbrtowc function.
47541         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47542         (mbspcasecmp): Assume mbrtowc function.
47543         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47544         (mbsrchr): Assume mbrtowc function.
47545         * lib/mbssep.c: Include mbuiter.h unconditionally.
47546         (mbssep): Assume mbrtowc function.
47547         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47548         (mbsspn): Assume mbrtowc function.
47549         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47550         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47551         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47552         (mbstok_r): Assume mbrtowc function.
47553         * lib/propername.c: Include mbuiter.h unconditionally.
47554         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47555         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47556         (trim2): Assume mbrtowc function.
47557         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47558         (mbsnwidth): Assume mbrtowc function.
47559         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47560         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47561         fallback definitions.
47562         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47563
47564 2008-12-22  Bruno Haible  <bruno@clisp.org>
47565
47566         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47567
47568 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47569
47570         * modules/regex: Request emulations for the mb*/wc* functions we need.
47571         * m4/regex.m4: Don't look for those functions here.
47572         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47573
47574 2008-12-22  Bruno Haible  <bruno@clisp.org>
47575
47576         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47577
47578 2008-12-21  Bruno Haible  <bruno@clisp.org>
47579
47580         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47581         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47582         (Include): Remove conditionalization.
47583         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47584         (Include): Remove conditionalization.
47585         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47586         (Include): Remove conditionalization.
47587         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47588         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47589         * NEWS: Mention the change.
47590         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47591         via Sergey Poznyakoff <gray@gnu.org.ua>.
47592
47593 2008-12-21  Bruno Haible  <bruno@clisp.org>
47594
47595         * MODULES.html.sh (Extended multibyte and wide character utilities
47596         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47597         wcrtomb, wcsrtombs.
47598         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47599         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47600         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47601         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47602
47603 2008-12-21  Bruno Haible  <bruno@clisp.org>
47604
47605         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47606
47607 2008-12-21  Bruno Haible  <bruno@clisp.org>
47608
47609         * modules/wcsnrtombs-tests: New file.
47610         * tests/test-wcsnrtombs1.sh: New file.
47611         * tests/test-wcsnrtombs2.sh: New file.
47612         * tests/test-wcsnrtombs3.sh: New file.
47613         * tests/test-wcsnrtombs4.sh: New file.
47614         * tests/test-wcsnrtombs.c: New file.
47615
47616         New module 'wcsnrtombs'.
47617         * lib/wchar.in.h (wcsnrtombs): New declaration.
47618         * lib/wcsnrtombs.c: New file.
47619         * lib/wcsrtombs-state.c: New file.
47620         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47621         (internal_state): Remove variable.
47622         * m4/wcsnrtombs.m4: New file.
47623         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47624         compilation units.
47625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47626         HAVE_WCSNRTOMBS.
47627         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47628         HAVE_WCSNRTOMBS.
47629         * modules/wcsnrtombs: New file.
47630         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47631         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47632
47633 2008-12-21  Bruno Haible  <bruno@clisp.org>
47634
47635         * modules/wcsrtombs-tests: New file.
47636         * tests/test-wcsrtombs1.sh: New file.
47637         * tests/test-wcsrtombs2.sh: New file.
47638         * tests/test-wcsrtombs3.sh: New file.
47639         * tests/test-wcsrtombs4.sh: New file.
47640         * tests/test-wcsrtombs.c: New file.
47641
47642         New module 'wcsrtombs'.
47643         * lib/wchar.in.h (wcsrtombs): New declaration.
47644         * lib/wcsrtombs.c: New file.
47645         * m4/wcsrtombs.m4: New file.
47646         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47647         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47648         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47649         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47650         * modules/wcsrtombs: New file.
47651         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47652         bugs.
47653
47654 2008-12-21  Bruno Haible  <bruno@clisp.org>
47655
47656         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47657         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47658         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47659         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47660         if not correct.
47661         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47662         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47663         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47664         m4/locale-zh.m4, m4/codeset.m4.
47665         * doc/posix-functions/wcrtomb.texi: Document the bug.
47666
47667 2008-12-21  Bruno Haible  <bruno@clisp.org>
47668
47669         Work around a btowc() bug on IRIX 6.5.
47670         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47671         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47672         REPLACE_WTOBC if not.
47673         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47674         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47675         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47676
47677 2008-12-21  Bruno Haible  <bruno@clisp.org>
47678
47679         * modules/wcrtomb-tests: New file.
47680         * tests/test-wcrtomb.sh: New file.
47681         * tests/test-wcrtomb.c: New file.
47682
47683         New module 'wcrtomb'.
47684         * lib/wchar.in.h (wcrtomb): New declaration.
47685         * lib/wcrtomb.c: New file.
47686         * m4/wcrtomb.m4: New file.
47687         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47688         HAVE_WCRTOMB.
47689         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47690         HAVE_WCRTOMB.
47691         * modules/wcrtomb: New file.
47692         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47693
47694 2008-12-21  Bruno Haible  <bruno@clisp.org>
47695
47696         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47697         * modules/mbsrtowcs (Files): Likewise.
47698         * modules/wctob (Files): Likewise.
47699         * modules/c-strcase-tests (Files): Likewise.
47700         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47701         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47702         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47703         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47704         * modules/vasnprintf-posix-tests (Files): Likewise.
47705
47706 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47707
47708         gitlog-to-changelog: pass all command-line arguments to git-log
47709         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47710         it is sometimes convenient to filter the commits in various ways.
47711         gitlog-to-changelog only allows --since to specify a start date,
47712         but git-log itself supports many other filtering mechanisms.
47713         At the moment, I want to filter by branch name.  Rather than
47714         adding a --branch option to gitlog-to-changelog, it seems more
47715         flexible to simply pass all options directly to git-log and let
47716         git do the work.  Notice that this effectively makes --since a
47717         redundant option for gitlog-to-changelog, but removing it would
47718         require current usage to change since calls would then require
47719         an additional '--'.
47720
47721 2008-12-21  Bruno Haible  <bruno@clisp.org>
47722
47723         * modules/mbsnrtowcs-tests: New file.
47724         * tests/test-mbsnrtowcs1.sh: New file.
47725         * tests/test-mbsnrtowcs2.sh: New file.
47726         * tests/test-mbsnrtowcs3.sh: New file.
47727         * tests/test-mbsnrtowcs4.sh: New file.
47728         * tests/test-mbsnrtowcs.c: New file.
47729
47730         New module 'mbsnrtowcs'.
47731         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47732         * lib/mbsnrtowcs.c: New file.
47733         * lib/mbsrtowcs-state.c: New file.
47734         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47735         (internal_state): Remove variable.
47736         * m4/mbsnrtowcs.m4: New file.
47737         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47738         compilation units.
47739         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47740         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47741         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47742         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47743         * modules/mbsnrtowcs: New file.
47744         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47745         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47746         portability problem.
47747
47748 2008-12-21  Bruno Haible  <bruno@clisp.org>
47749
47750         Work around mbsrtowcs bug.
47751         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47752         (gl_FUNC_MBSRTOWCS): Invoke it.
47753         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47754         m4/locale-zh.m4.
47755         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47756
47757 2008-12-21  Bruno Haible  <bruno@clisp.org>
47758
47759         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47760
47761 2008-12-21  Bruno Haible  <bruno@clisp.org>
47762
47763         Update doc for AIX.
47764         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47765         16-bit wchar_t type.
47766         * doc/posix-functions/btowc.texi: Likewise.
47767         * doc/posix-functions/fgetwc.texi: Likewise.
47768         * doc/posix-functions/fgetws.texi: Likewise.
47769         * doc/posix-functions/fputwc.texi: Likewise.
47770         * doc/posix-functions/fputws.texi: Likewise.
47771         * doc/posix-functions/fwide.texi: Likewise.
47772         * doc/posix-functions/fwprintf.texi: Likewise.
47773         * doc/posix-functions/fwscanf.texi: Likewise.
47774         * doc/posix-functions/getwchar.texi: Likewise.
47775         * doc/posix-functions/getwc.texi: Likewise.
47776         * doc/posix-functions/iswalnum.texi: Likewise.
47777         * doc/posix-functions/iswalpha.texi: Likewise.
47778         * doc/posix-functions/iswblank.texi: Likewise.
47779         * doc/posix-functions/iswcntrl.texi: Likewise.
47780         * doc/posix-functions/iswctype.texi: Likewise.
47781         * doc/posix-functions/iswdigit.texi: Likewise.
47782         * doc/posix-functions/iswgraph.texi: Likewise.
47783         * doc/posix-functions/iswlower.texi: Likewise.
47784         * doc/posix-functions/iswprint.texi: Likewise.
47785         * doc/posix-functions/iswpunct.texi: Likewise.
47786         * doc/posix-functions/iswspace.texi: Likewise.
47787         * doc/posix-functions/iswupper.texi: Likewise.
47788         * doc/posix-functions/iswxdigit.texi: Likewise.
47789         * doc/posix-functions/mbrtowc.texi: Likewise.
47790         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47791         * doc/posix-functions/mbstowcs.texi: Likewise.
47792         * doc/posix-functions/mbtowc.texi: Likewise.
47793         * doc/posix-functions/putwchar.texi: Likewise.
47794         * doc/posix-functions/putwc.texi: Likewise.
47795         * doc/posix-functions/swprintf.texi: Likewise.
47796         * doc/posix-functions/tolower.texi: Likewise.
47797         * doc/posix-functions/toupper.texi: Likewise.
47798         * doc/posix-functions/towctrans.texi: Likewise.
47799         * doc/posix-functions/ungetwc.texi: Likewise.
47800         * doc/posix-functions/vswprintf.texi: Likewise.
47801         * doc/posix-functions/wcrtomb.texi: Likewise.
47802         * doc/posix-functions/wcscat.texi: Likewise.
47803         * doc/posix-functions/wcschr.texi: Likewise.
47804         * doc/posix-functions/wcscmp.texi: Likewise.
47805         * doc/posix-functions/wcscoll.texi: Likewise.
47806         * doc/posix-functions/wcscpy.texi: Likewise.
47807         * doc/posix-functions/wcscspn.texi: Likewise.
47808         * doc/posix-functions/wcsftime.texi: Likewise.
47809         * doc/posix-functions/wcslen.texi: Likewise.
47810         * doc/posix-functions/wcsncat.texi: Likewise.
47811         * doc/posix-functions/wcsncmp.texi: Likewise.
47812         * doc/posix-functions/wcsncpy.texi: Likewise.
47813         * doc/posix-functions/wcspbrk.texi: Likewise.
47814         * doc/posix-functions/wcsrchr.texi: Likewise.
47815         * doc/posix-functions/wcsrtombs.texi: Likewise.
47816         * doc/posix-functions/wcsspn.texi: Likewise.
47817         * doc/posix-functions/wcsstr.texi: Likewise.
47818         * doc/posix-functions/wcstod.texi: Likewise.
47819         * doc/posix-functions/wcstof.texi: Likewise.
47820         * doc/posix-functions/wcstoimax.texi: Likewise.
47821         * doc/posix-functions/wcstok.texi: Likewise.
47822         * doc/posix-functions/wcstold.texi: Likewise.
47823         * doc/posix-functions/wcstoll.texi: Likewise.
47824         * doc/posix-functions/wcstol.texi: Likewise.
47825         * doc/posix-functions/wcstombs.texi: Likewise.
47826         * doc/posix-functions/wcstoull.texi: Likewise.
47827         * doc/posix-functions/wcstoul.texi: Likewise.
47828         * doc/posix-functions/wcstoumax.texi: Likewise.
47829         * doc/posix-functions/wcswidth.texi: Likewise.
47830         * doc/posix-functions/wcsxfrm.texi: Likewise.
47831         * doc/posix-functions/wctob.texi: Likewise.
47832         * doc/posix-functions/wctomb.texi: Likewise.
47833         * doc/posix-functions/wctrans.texi: Likewise.
47834         * doc/posix-functions/wctype.texi: Likewise.
47835         * doc/posix-functions/wcwidth.texi: Likewise.
47836         * doc/posix-functions/wmemchr.texi: Likewise.
47837         * doc/posix-functions/wmemcmp.texi: Likewise.
47838         * doc/posix-functions/wmemcpy.texi: Likewise.
47839         * doc/posix-functions/wmemmove.texi: Likewise.
47840         * doc/posix-functions/wmemset.texi: Likewise.
47841         * doc/posix-functions/wprintf.texi: Likewise.
47842         * doc/posix-functions/wscanf.texi: Likewise.
47843
47844 2008-12-21  Bruno Haible  <bruno@clisp.org>
47845
47846         Update doc for HP-UX 11.11.
47847         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47848         in HP-UX version 11.00, not in all versions of HP-UX 11.
47849         * doc/posix-functions/fwide.texi: Likewise.
47850         * doc/posix-functions/fwprintf.texi: Likewise.
47851         * doc/posix-functions/fwscanf.texi: Likewise.
47852         * doc/posix-functions/inet_ntop.texi: Likewise.
47853         * doc/posix-functions/inet_pton.texi: Likewise.
47854         * doc/posix-functions/mbrlen.texi: Likewise.
47855         * doc/posix-functions/mbrtowc.texi: Likewise.
47856         * doc/posix-functions/mbsinit.texi: Likewise.
47857         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47858         * doc/posix-functions/swprintf.texi: Likewise.
47859         * doc/posix-functions/swscanf.texi: Likewise.
47860         * doc/posix-functions/towctrans.texi: Likewise.
47861         * doc/posix-functions/vfwprintf.texi: Likewise.
47862         * doc/posix-functions/vswprintf.texi: Likewise.
47863         * doc/posix-functions/vwprintf.texi: Likewise.
47864         * doc/posix-functions/wcrtomb.texi: Likewise.
47865         * doc/posix-functions/wcsrtombs.texi: Likewise.
47866         * doc/posix-functions/wcsstr.texi: Likewise.
47867         * doc/posix-functions/wctob.texi: Likewise.
47868         * doc/posix-functions/wctrans.texi: Likewise.
47869         * doc/posix-functions/wmemchr.texi: Likewise.
47870         * doc/posix-functions/wmemcmp.texi: Likewise.
47871         * doc/posix-functions/wmemcpy.texi: Likewise.
47872         * doc/posix-functions/wmemmove.texi: Likewise.
47873         * doc/posix-functions/wmemset.texi: Likewise.
47874         * doc/posix-functions/wprintf.texi: Likewise.
47875         * doc/posix-functions/wscanf.texi: Likewise.
47876
47877 2008-12-21  Bruno Haible  <bruno@clisp.org>
47878
47879         Work around a portability problem.
47880         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47881         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47882
47883 2008-12-20  Bruno Haible  <bruno@clisp.org>
47884
47885         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47886         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47887         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47888         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47889         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47890
47891         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47892         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47893         set.
47894         (GNULIB_defined_mbstate_t): New macro.
47895         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47896         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47897         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47898         reuses the system's mbrtowc function but works around the bugs.
47899         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47900         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47901         macros.
47902         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47903         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47904         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47905         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47906         REPLACE_MBSINIT if mbsinit needs to be overridden.
47907         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47908         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47909         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47910         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47911         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47912         m4/locale-zh.m4.
47913         (Depends): Add mbsinit.
47914         * modules/mbsinit (Depends): Add mbrtowc.
47915         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47916
47917 2008-12-20  Bruno Haible  <bruno@clisp.org>
47918
47919         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47920         so that there are no conversion errors on AIX.
47921         * tests/test-mbsrtowcs.c (main): LIkewise.
47922
47923 2008-12-20  Bruno Haible  <bruno@clisp.org>
47924
47925         Work around wctob bug on Solaris <= 9.
47926         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47927         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47928         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47929         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47930         * modules/wctob (Files): Add m4/locale-fr.m4.
47931         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47932
47933 2008-12-20  Bruno Haible  <bruno@clisp.org>
47934
47935         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47936         /dev/null.
47937         * tests/test-select-in.sh: Likewise.
47938         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47939
47940 2008-12-20  Bruno Haible  <bruno@clisp.org>
47941
47942         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47943         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47944         Cygwin 1.5.x.
47945
47946 2008-12-20  Bruno Haible  <bruno@clisp.org>
47947
47948         Ensure mbstate_t is defined on HP-UX 11.11.
47949         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47950         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47951         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47952         AC_USE_SYSTEM_EXTENSIONS.
47953         * modules/fnmatch (Depends-on): Add extensions.
47954         * modules/mbrlen (Depends-on): Likewise.
47955         * modules/mbrtowc (Depends-on): Likewise.
47956         * modules/mbsinit (Depends-on): Likewise.
47957         * modules/mbsrtowcs (Depends-on): Likewise.
47958         * modules/mbswidth (Depends-on): Likewise.
47959         * modules/quotearg (Depends-on): Likewise.
47960         * modules/strftime (Depends-on): Likewise.
47961
47962 2008-12-20  Bruno Haible  <bruno@clisp.org>
47963
47964         Ensure wctob is declared on IRIX 6.5.
47965         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47966         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47967         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47968         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47969         of HAVE_WCTOB.
47970         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47971         HAVE_WCTOB.
47972         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47973
47974 2008-12-19  Bruno Haible  <bruno@clisp.org>
47975
47976         * modules/mbsrtowcs-tests: New file.
47977         * tests/test-mbsrtowcs1.sh: New file.
47978         * tests/test-mbsrtowcs2.sh: New file.
47979         * tests/test-mbsrtowcs3.sh: New file.
47980         * tests/test-mbsrtowcs4.sh: New file.
47981         * tests/test-mbsrtowcs.c: New file.
47982
47983         New module 'mbsrtowcs'.
47984         * lib/wchar.in.h (mbsrtowcs): New declaration.
47985         * lib/mbsrtowcs.c: New file.
47986         * m4/mbsrtowcs.m4: New file.
47987         * modules/mbsrtowcs: New file.
47988         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47989         HAVE_MBSRTOWCS.
47990         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47991         HAVE_MBSRTOWCS.
47992         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47993
47994 2008-12-19  Bruno Haible  <bruno@clisp.org>
47995
47996         New module 'mbrlen'.
47997         * lib/wchar.in.h (mbrlen): New declaration.
47998         * lib/mbrlen.c: New file.
47999         * m4/mbrlen.m4: New file.
48000         * modules/mbrlen: New file.
48001         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
48002         HAVE_MBRLEN.
48003         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
48004         HAVE_MBRLEN.
48005         * doc/posix-functions/mbrlen.texi: Document the new module.
48006
48007 2008-12-19  Bruno Haible  <bruno@clisp.org>
48008
48009         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
48010         * modules/mbrtowc (Depends-on): Add verify.
48011         Suggested by Paul Eggert.
48012
48013 2008-12-18  Bruno Haible  <bruno@clisp.org>
48014
48015         * modules/mbsinit-tests: New file.
48016         * tests/test-mbsinit.sh: New file.
48017         * tests/test-mbsinit.c: New file.
48018
48019 2008-12-18  Bruno Haible  <bruno@clisp.org>
48020
48021         * modules/mbrtowc-tests: New file.
48022         * tests/test-mbrtowc1.sh: New file.
48023         * tests/test-mbrtowc2.sh: New file.
48024         * tests/test-mbrtowc3.sh: New file.
48025         * tests/test-mbrtowc4.sh: New file.
48026         * tests/test-mbrtowc.c: New file.
48027
48028         New module 'mbrtowc'.
48029         * lib/wchar.in.h (mbstate_t): Override when the system does not have
48030         mbsinit and mbrtowc.
48031         (mbrtowc): New declaration.
48032         * lib/mbrtowc.c: New file.
48033         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
48034         * modules/mbrtowc: New file.
48035         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
48036         HAVE_MBRTOWC.
48037         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
48038         HAVE_MBRTOWC.
48039         * doc/posix-functions/mbrtowc.texi: Document the new module.
48040
48041 2008-12-18  Bruno Haible  <bruno@clisp.org>
48042
48043         New module 'wctob'.
48044         * lib/wchar.in.h (wctob): New declaration.
48045         * lib/wctob.c: New file.
48046         * m4/wctob.m4: New file.
48047         * modules/wctob: New file.
48048         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
48049         HAVE_WCTOB.
48050         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
48051         * doc/posix-functions/wctob.texi: Document the new module.
48052
48053 2008-12-18  Bruno Haible  <bruno@clisp.org>
48054
48055         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
48056         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
48057
48058 2008-12-18  Simon Josefsson  <simon@josefsson.org>
48059
48060         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
48061         G. Christensen" <tgc@jupiterrise.com>.
48062
48063         * lib/flock.c: Need to include errno.h.  Reported by "Tom
48064         G. Christensen" <tgc@jupiterrise.com>.
48065
48066         * lib/flock.c: Need to include string.h.  Reported by "Tom
48067         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
48068         <ebb9@byu.net>.
48069
48070 2008-12-18  Bruno Haible  <bruno@clisp.org>
48071
48072         * m4/locale-ja.m4: New file, from GNU gettext.
48073
48074 2008-12-17  Bruno Haible  <bruno@clisp.org>
48075
48076         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
48077         Suggested by Eric Blake.
48078
48079 2008-12-17  Bruno Haible  <bruno@clisp.org>
48080
48081         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
48082
48083 2008-12-17  Bruno Haible  <bruno@clisp.org>
48084
48085         * lib/mbsinit.c: Include verify.h. Verify an assumption.
48086         * modules/mbsinit (Depends-on): Add verify.
48087         Suggested by Paul Eggert.
48088
48089 2008-12-17  Bruno Haible  <bruno@clisp.org>
48090
48091         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
48092         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
48093         gl_FUNC_MBRTOWC.
48094         * m4/mbiter.m4 (gl_MBITER): LIkewise.
48095         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
48096         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
48097         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
48098         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
48099         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
48100         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
48101         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
48102         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
48103         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
48104         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
48105         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
48106         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
48107         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
48108         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
48109         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48110         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
48111         * modules/trim (configure.ac): Likewise.
48112
48113 2008-12-17  Bruno Haible  <bruno@clisp.org>
48114
48115         * modules/btowc-tests: New file.
48116         * tests/test-btowc1.sh: New file.
48117         * tests/test-btowc2.sh: New file.
48118         * tests/test-btowc.c: New file.
48119
48120         New module 'btowc'.
48121         * lib/wchar.in.h (btowc): New declaration.
48122         * lib/btowc.c: New file.
48123         * m4/btowc.m4: New file.
48124         * modules/btowc: New file.
48125         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
48126         HAVE_BTOWC.
48127         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
48128         * doc/posix-functions/btowc.texi: Document the new module.
48129
48130 2008-12-17  Bruno Haible  <bruno@clisp.org>
48131
48132         New module 'mbsinit'.
48133         * lib/wchar.in.h (mbsinit): New declaration.
48134         * lib/mbsinit.c: New file.
48135         * m4/mbsinit.m4: New file.
48136         * modules/mbsinit: New file.
48137         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
48138         HAVE_MBSINIT.
48139         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
48140         HAVE_MBSINIT.
48141         * doc/posix-functions/mbsinit.texi: Document the new module.
48142
48143 2008-12-16  Bruno Haible  <bruno@clisp.org>
48144
48145         * lib/unistd.in.h: Add comment.
48146         * tests/test-environ.c: Don't include <stdlib.h>.
48147
48148 2008-12-16  Bruno Haible  <bruno@clisp.org>
48149
48150         * lib/parse-duration.h (parse_duration): Document return value
48151         convention.
48152         * lib/parse-duration.c: Include specification header first. Add
48153         comments.
48154         (_): Remove macro.
48155         (parse_year_month_day, parse_hour_minute_second): Move side effects
48156         outside of strchr call.
48157         (parse_non_iso8601): Move side effects outside of isspace call.
48158         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
48159         call.
48160
48161 2008-12-16  Bruno Haible  <bruno@clisp.org>
48162
48163         * tests/test-parse-duration.sh: Produce no output when the test
48164         succeeds.
48165
48166 2008-12-16  Bruno Haible  <bruno@clisp.org>
48167
48168         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
48169         expressions.
48170
48171 2008-12-15  Bruno Haible  <bruno@clisp.org>
48172
48173         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
48174         * doc/glibc-functions/flistxattr.texi: Likewise.
48175         * doc/glibc-functions/fopencookie.texi: Likewise.
48176         * doc/glibc-functions/fremovexattr.texi: Likewise.
48177         * doc/glibc-functions/fsetxattr.texi: Likewise.
48178         * doc/glibc-functions/getxattr.texi: Likewise.
48179         * doc/glibc-functions/lgetxattr.texi: Likewise.
48180         * doc/glibc-functions/listxattr.texi: Likewise.
48181         * doc/glibc-functions/llistxattr.texi: Likewise.
48182         * doc/glibc-functions/lremovexattr.texi: Likewise.
48183         * doc/glibc-functions/lsetxattr.texi: Likewise.
48184         * doc/glibc-functions/removexattr.texi: Likewise.
48185         * doc/glibc-functions/setxattr.texi: Likewise.
48186         * doc/posix-functions/open_memstream.texi: Likewise.
48187
48188 2008-12-15  Eric Blake  <ebb9@byu.net>
48189
48190         Update doc for cygwin 1.7.
48191         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
48192         functions.
48193         * doc/posix-functions/fchmodat.texi: Likewise.
48194         * doc/posix-functions/fchownat.texi: Likewise.
48195         * doc/posix-functions/fdopendir.texi: Likewise.
48196         * doc/posix-functions/fmemopen.texi: Likewise.
48197         * doc/posix-functions/freeaddrinfo.texi: Likewise.
48198         * doc/posix-functions/fstatat.texi: Likewise.
48199         * doc/posix-functions/futimens.texi: Likewise.
48200         * doc/posix-functions/gai_strerror.texi: Likewise.
48201         * doc/posix-functions/getaddrinfo.texi: Likewise.
48202         * doc/posix-functions/getnameinfo.texi: Likewise.
48203         * doc/posix-functions/if_freenameindex.texi: Likewise.
48204         * doc/posix-functions/if_indextoname.texi: Likewise.
48205         * doc/posix-functions/if_nameindex.texi: Likewise.
48206         * doc/posix-functions/if_nametoindex.texi: Likewise.
48207         * doc/posix-functions/insque.texi: Likewise.
48208         * doc/posix-functions/linkat.texi: Likewise.
48209         * doc/posix-functions/llrint.texi: Likewise.
48210         * doc/posix-functions/llrintf.texi: Likewise.
48211         * doc/posix-functions/llrintl.texi: Likewise.
48212         * doc/posix-functions/lockf.texi: Likewise.
48213         * doc/posix-functions/lrintl.texi: Likewise.
48214         * doc/posix-functions/mkdirat.texi: Likewise.
48215         * doc/posix-functions/mkfifoat.texi: Likewise.
48216         * doc/posix-functions/mknodat.texi: Likewise.
48217         * doc/posix-functions/mq_close.texi: Likewise.
48218         * doc/posix-functions/mq_getattr.texi: Likewise.
48219         * doc/posix-functions/mq_notify.texi: Likewise.
48220         * doc/posix-functions/mq_open.texi: Likewise.
48221         * doc/posix-functions/mq_receive.texi: Likewise.
48222         * doc/posix-functions/mq_send.texi: Likewise.
48223         * doc/posix-functions/mq_setattr.texi: Likewise.
48224         * doc/posix-functions/mq_timedreceive.texi: Likewise.
48225         * doc/posix-functions/mq_timedsend.texi: Likewise.
48226         * doc/posix-functions/mq_unlink.texi: Likewise.
48227         * doc/posix-functions/open_memstream.texi: Likewise.
48228         * doc/posix-functions/openat.texi: Likewise.
48229         * doc/posix-functions/posix_fadvise.texi: Likewise.
48230         * doc/posix-functions/posix_fallocate.texi: Likewise.
48231         * doc/posix-functions/posix_madvise.texi: Likewise.
48232         * doc/posix-functions/posix_memalign.texi: Likewise.
48233         * doc/posix-functions/posix_openpt.texi: Likewise.
48234         * doc/posix-functions/readlinkat.texi: Likewise.
48235         * doc/posix-functions/remque.texi: Likewise.
48236         * doc/posix-functions/renameat.texi: Likewise.
48237         * doc/posix-functions/rintl.texi: Likewise.
48238         * doc/posix-functions/sem_unlink.texi: Likewise.
48239         * doc/posix-functions/shm_open.texi: Likewise.
48240         * doc/posix-functions/shm_unlink.texi: Likewise.
48241         * doc/posix-functions/signgam.texi: Likewise.
48242         * doc/posix-functions/sigset.texi: Likewise.
48243         * doc/posix-functions/stpcpy.texi: Likewise.
48244         * doc/posix-functions/stpncpy.texi: Likewise.
48245         * doc/posix-functions/strerror.texi: Likewise.
48246         * doc/posix-functions/strtod.texi: Likewise.
48247         * doc/posix-functions/symlinkat.texi: Likewise.
48248         * doc/posix-functions/unlinkat.texi: Likewise.
48249         * doc/posix-functions/utimensat.texi: Likewise.
48250         * doc/glibc-functions/bindresvport.texi: Likewise.
48251         * doc/glibc-functions/dn_expand.texi: Likewise.
48252         * doc/glibc-functions/exp10.texi: Likewise.
48253         * doc/glibc-functions/exp10f.texi: Likewise.
48254         * doc/glibc-functions/fgetxattr.texi: Likewise.
48255         * doc/glibc-functions/flistxattr.texi: Likewise.
48256         * doc/glibc-functions/fopencookie.texi: Likewise.
48257         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48258         * doc/glibc-functions/fremovexattr.texi: Likewise.
48259         * doc/glibc-functions/fsetxattr.texi: Likewise.
48260         * doc/glibc-functions/getifaddrs.texi: Likewise.
48261         * doc/glibc-functions/getxattr.texi: Likewise.
48262         * doc/glibc-functions/lgetxattr.texi: Likewise.
48263         * doc/glibc-functions/listxattr.texi: Likewise.
48264         * doc/glibc-functions/llistxattr.texi: Likewise.
48265         * doc/glibc-functions/lremovexattr.texi: Likewise.
48266         * doc/glibc-functions/lsetxattr.texi: Likewise.
48267         * doc/glibc-functions/pow10.texi: Likewise.
48268         * doc/glibc-functions/pow10f.texi: Likewise.
48269         * doc/glibc-functions/rcmd_af.texi: Likewise.
48270         * doc/glibc-functions/removexattr.texi: Likewise.
48271         * doc/glibc-functions/res_init.texi: Likewise.
48272         * doc/glibc-functions/res_mkquery.texi: Likewise.
48273         * doc/glibc-functions/res_query.texi: Likewise.
48274         * doc/glibc-functions/res_querydomain.texi: Likewise.
48275         * doc/glibc-functions/res_send.texi: Likewise.
48276         * doc/glibc-functions/rresvport_af.texi: Likewise.
48277         * doc/glibc-functions/setxattr.texi: Likewise.
48278         * doc/glibc-functions/strcasestr.texi: Likewise.
48279
48280 2008-12-15  Bruno Haible  <bruno@clisp.org>
48281
48282         Fix compilation error on OSF/1 4.0.
48283         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48284         <sys/time.h>, simply delegate to the system header.
48285         Reported by Daniel Richard G. <oss@teragram.com>.
48286
48287 2008-12-15  Bruno Haible  <bruno@clisp.org>
48288
48289         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48290         * doc/posix-functions/fchmodat.texi: Likewise.
48291         * doc/posix-functions/fchownat.texi: Likewise.
48292         * doc/posix-functions/fdopendir.texi: Likewise.
48293         * doc/posix-functions/fstatat.texi: Likewise.
48294         * doc/posix-functions/mkdirat.texi: Likewise.
48295         * doc/posix-functions/unlinkat.texi: Likewise.
48296
48297 2008-12-14  Bruno Haible  <bruno@clisp.org>
48298
48299         Update doc for POSIX:2008.
48300         * doc/posix-functions/faccessat.texi: New file.
48301         * doc/posix-functions/fchmodat.texi: New file.
48302         * doc/posix-functions/fchownat.texi: New file.
48303         * doc/posix-functions/fdopendir.texi: New file.
48304         * doc/posix-functions/fstatat.texi: New file.
48305         * doc/posix-functions/futimens.texi: New file.
48306         * doc/posix-functions/linkat.texi: New file.
48307         * doc/posix-functions/mkdirat.texi: New file.
48308         * doc/posix-functions/mkfifoat.texi: New file.
48309         * doc/posix-functions/mknodat.texi: New file.
48310         * doc/posix-functions/open_wmemstream.texi: New file.
48311         * doc/posix-functions/openat.texi: New file.
48312         * doc/posix-functions/psiginfo.texi: New file.
48313         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48314         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48315         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48316         * doc/posix-functions/readlinkat.texi: New file.
48317         * doc/posix-functions/renameat.texi: New file.
48318         * doc/posix-functions/strerror_l.texi: New file.
48319         * doc/posix-functions/symlinkat.texi: New file.
48320         * doc/posix-functions/unlinkat.texi: New file.
48321         * doc/posix-functions/utimensat.texi: New file.
48322         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48323
48324 2008-12-14  Bruno Haible  <bruno@clisp.org>
48325
48326         Update doc for POSIX:2008.
48327         * doc/posix-functions/alphasort.texi: Renamed from
48328         doc/glibc-functions/alphasort.texi.
48329         * doc/posix-functions/dirfd.texi: Renamed from
48330         doc/glibc-functions/dirfd.texi.
48331         * doc/posix-functions/dprintf.texi: Renamed from
48332         doc/glibc-functions/dprintf.texi.
48333         * doc/posix-functions/duplocale.texi: Renamed from
48334         doc/glibc-functions/duplocale.texi.
48335         * doc/posix-functions/fexecve.texi: Renamed from
48336         doc/glibc-functions/fexecve.texi.
48337         * doc/posix-functions/fmemopen.texi: Renamed from
48338         doc/glibc-functions/fmemopen.texi.
48339         * doc/posix-functions/freelocale.texi: Renamed from
48340         doc/glibc-functions/freelocale.texi.
48341         * doc/posix-functions/getdate_err.texi: Renamed from
48342         doc/glibc-functions/getdate_err.texi.
48343         * doc/posix-functions/isalnum_l.texi: Renamed from
48344         doc/glibc-functions/isalnum_l.texi.
48345         * doc/posix-functions/isalpha_l.texi: Renamed from
48346         doc/glibc-functions/isalpha_l.texi.
48347         * doc/posix-functions/isblank_l.texi: Renamed from
48348         doc/glibc-functions/isblank_l.texi.
48349         * doc/posix-functions/iscntrl_l.texi: Renamed from
48350         doc/glibc-functions/iscntrl_l.texi.
48351         * doc/posix-functions/isdigit_l.texi: Renamed from
48352         doc/glibc-functions/isdigit_l.texi.
48353         * doc/posix-functions/isgraph_l.texi: Renamed from
48354         doc/glibc-functions/isgraph_l.texi.
48355         * doc/posix-functions/islower_l.texi: Renamed from
48356         doc/glibc-functions/islower_l.texi.
48357         * doc/posix-functions/isprint_l.texi: Renamed from
48358         doc/glibc-functions/isprint_l.texi.
48359         * doc/posix-functions/ispunct_l.texi: Renamed from
48360         doc/glibc-functions/ispunct_l.texi.
48361         * doc/posix-functions/isspace_l.texi: Renamed from
48362         doc/glibc-functions/isspace_l.texi.
48363         * doc/posix-functions/isupper_l.texi: Renamed from
48364         doc/glibc-functions/isupper_l.texi.
48365         * doc/posix-functions/iswalnum_l.texi: Renamed from
48366         doc/glibc-functions/iswalnum_l.texi.
48367         * doc/posix-functions/iswalpha_l.texi: Renamed from
48368         doc/glibc-functions/iswalpha_l.texi.
48369         * doc/posix-functions/iswblank_l.texi: Renamed from
48370         doc/glibc-functions/iswblank_l.texi.
48371         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48372         doc/glibc-functions/iswcntrl_l.texi.
48373         * doc/posix-functions/iswctype_l.texi: Renamed from
48374         doc/glibc-functions/iswctype_l.texi.
48375         * doc/posix-functions/iswdigit_l.texi: Renamed from
48376         doc/glibc-functions/iswdigit_l.texi.
48377         * doc/posix-functions/iswgraph_l.texi: Renamed from
48378         doc/glibc-functions/iswgraph_l.texi.
48379         * doc/posix-functions/iswlower_l.texi: Renamed from
48380         doc/glibc-functions/iswlower_l.texi.
48381         * doc/posix-functions/iswprint_l.texi: Renamed from
48382         doc/glibc-functions/iswprint_l.texi.
48383         * doc/posix-functions/iswpunct_l.texi: Renamed from
48384         doc/glibc-functions/iswpunct_l.texi.
48385         * doc/posix-functions/iswspace_l.texi: Renamed from
48386         doc/glibc-functions/iswspace_l.texi.
48387         * doc/posix-functions/iswupper_l.texi: Renamed from
48388         doc/glibc-functions/iswupper_l.texi.
48389         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48390         doc/glibc-functions/iswxdigit_l.texi.
48391         * doc/posix-functions/isxdigit_l.texi: Renamed from
48392         doc/glibc-functions/isxdigit_l.texi.
48393         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48394         doc/glibc-functions/mbsnrtowcs.texi.
48395         * doc/posix-functions/mkdtemp.texi: Renamed from
48396         doc/glibc-functions/mkdtemp.texi.
48397         * doc/posix-functions/newlocale.texi: Renamed from
48398         doc/glibc-functions/newlocale.texi.
48399         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48400         doc/glibc-functions/nl_langinfo_l.texi.
48401         * doc/posix-functions/open_memstream.texi: Renamed from
48402         doc/glibc-functions/open_memstream.texi.
48403         * doc/posix-functions/opterr.texi: Renamed from
48404         doc/glibc-functions/opterr.texi.
48405         * doc/posix-functions/optind.texi: Renamed from
48406         doc/glibc-functions/optind.texi.
48407         * doc/posix-functions/optopt.texi: Renamed from
48408         doc/glibc-functions/optopt.texi.
48409         * doc/posix-functions/psignal.texi: Renamed from
48410         doc/glibc-functions/psignal.texi.
48411         * doc/posix-functions/scandir.texi: Renamed from
48412         doc/glibc-functions/scandir.texi.
48413         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48414         doc/glibc-functions/sched_get_priority_min.texi.
48415         * doc/posix-functions/signgam.texi: Renamed from
48416         doc/glibc-functions/signgam.texi.
48417         * doc/posix-functions/stpcpy.texi: Renamed from
48418         doc/glibc-functions/stpcpy.texi.
48419         * doc/posix-functions/stpncpy.texi: Renamed from
48420         doc/glibc-functions/stpncpy.texi.
48421         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48422         doc/glibc-functions/strcasecmp_l.texi.
48423         * doc/posix-functions/strcoll_l.texi: Renamed from
48424         doc/glibc-functions/strcoll_l.texi.
48425         * doc/posix-functions/strfmon_l.texi: Renamed from
48426         doc/glibc-functions/strfmon_l.texi.
48427         * doc/posix-functions/strftime_l.texi: Renamed from
48428         doc/glibc-functions/strftime_l.texi.
48429         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48430         doc/glibc-functions/strncasecmp_l.texi.
48431         * doc/posix-functions/strndup.texi: Renamed from
48432         doc/glibc-functions/strndup.texi.
48433         * doc/posix-functions/strnlen.texi: Renamed from
48434         doc/glibc-functions/strnlen.texi.
48435         * doc/posix-functions/strsignal.texi: Renamed from
48436         doc/glibc-functions/strsignal.texi.
48437         * doc/posix-functions/strxfrm_l.texi: Renamed from
48438         doc/glibc-functions/strxfrm_l.texi.
48439         * doc/posix-functions/timer_gettime.texi: Renamed from
48440         doc/glibc-functions/timer_gettime.texi.
48441         * doc/posix-functions/tolower_l.texi: Renamed from
48442         doc/glibc-functions/tolower_l.texi.
48443         * doc/posix-functions/toupper_l.texi: Renamed from
48444         doc/glibc-functions/toupper_l.texi.
48445         * doc/posix-functions/towctrans_l.texi: Renamed from
48446         doc/glibc-functions/towctrans_l.texi.
48447         * doc/posix-functions/towlower_l.texi: Renamed from
48448         doc/glibc-functions/towlower_l.texi.
48449         * doc/posix-functions/towupper_l.texi: Renamed from
48450         doc/glibc-functions/towupper_l.texi.
48451         * doc/posix-functions/uselocale.texi: Renamed from
48452         doc/glibc-functions/uselocale.texi.
48453         * doc/posix-functions/vdprintf.texi: Renamed from
48454         doc/glibc-functions/vdprintf.texi.
48455         * doc/posix-functions/wcpcpy.texi:
48456         Renamed from doc/glibc-functions/wcpcpy.texi.
48457         * doc/posix-functions/wcpncpy.texi: Renamed from
48458         doc/glibc-functions/wcpncpy.texi.
48459         * doc/posix-functions/wcscasecmp.texi: Renamed from
48460         doc/glibc-functions/wcscasecmp.texi.
48461         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48462         doc/glibc-functions/wcscasecmp_l.texi.
48463         * doc/posix-functions/wcscoll_l.texi: Renamed from
48464         doc/glibc-functions/wcscoll_l.texi.
48465         * doc/posix-functions/wcsdup.texi: Renamed from
48466         doc/glibc-functions/wcsdup.texi.
48467         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48468         doc/glibc-functions/wcsncasecmp.texi.
48469         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48470         doc/glibc-functions/wcsncasecmp_l.texi.
48471         * doc/posix-functions/wcsnlen.texi: Renamed from
48472         doc/glibc-functions/wcsnlen.texi.
48473         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48474         doc/glibc-functions/wcsnrtombs.texi.
48475         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48476         doc/glibc-functions/wcsxfrm_l.texi.
48477         * doc/posix-functions/wctrans_l.texi: Renamed from
48478         doc/glibc-functions/wctrans_l.texi.
48479         * doc/posix-functions/wctype_l.texi: Renamed from
48480         doc/glibc-functions/wctype_l.texi.
48481         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48482         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48483         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48484         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48485         these subsections.
48486         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48487         Remove sections.
48488
48489 2008-12-14  Bruno Haible  <bruno@clisp.org>
48490
48491         Update doc for POSIX:2008.
48492         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48493
48494 2008-12-14  Bruno Haible  <bruno@clisp.org>
48495
48496         Update doc for POSIX:2008.
48497         * doc/pastposix-functions/bcmp.texi: Renamed from
48498         doc/posix-functions/bcmp.texi.
48499         * doc/pastposix-functions/bcopy.texi: Renamed from
48500         doc/posix-functions/bcopy.texi.
48501         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48502         doc/posix-functions/bsd_signal.texi.
48503         * doc/pastposix-functions/bzero.texi: Renamed from
48504         doc/posix-functions/bzero.texi.
48505         * doc/pastposix-functions/ecvt.texi: Renamed from
48506         doc/posix-functions/ecvt.texi.
48507         * doc/pastposix-functions/fcvt.texi: Renamed from
48508         doc/posix-functions/fcvt.texi.
48509         * doc/pastposix-functions/ftime.texi: Renamed from
48510         doc/posix-functions/ftime.texi.
48511         * doc/pastposix-functions/gcvt.texi: Renamed from
48512         doc/posix-functions/gcvt.texi.
48513         * doc/pastposix-functions/getcontext.texi: Renamed from
48514         doc/posix-functions/getcontext.texi.
48515         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48516         doc/posix-functions/gethostbyaddr.texi.
48517         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48518         doc/posix-functions/gethostbyname.texi.
48519         * doc/pastposix-functions/getwd.texi: Renamed from
48520         doc/posix-functions/getwd.texi.
48521         * doc/pastposix-functions/h_errno.texi: Renamed from
48522         doc/posix-functions/h_errno.texi.
48523         * doc/pastposix-functions/index.texi: Renamed from
48524         doc/posix-functions/index.texi.
48525         * doc/pastposix-functions/makecontext.texi: Renamed from
48526         doc/posix-functions/makecontext.texi.
48527         * doc/pastposix-functions/mktemp.texi: Renamed from
48528         doc/posix-functions/mktemp.texi.
48529         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48530         doc/posix-functions/pthread_attr_getstackaddr.texi.
48531         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48532         doc/posix-functions/pthread_attr_setstackaddr.texi.
48533         * doc/pastposix-functions/rindex.texi: Renamed from
48534         doc/posix-functions/rindex.texi.
48535         * doc/pastposix-functions/scalb.texi: Renamed from
48536         doc/posix-functions/scalb.texi.
48537         * doc/pastposix-functions/setcontext.texi: Renamed from
48538         doc/posix-functions/setcontext.texi.
48539         * doc/pastposix-functions/swapcontext.texi: Renamed from
48540         doc/posix-functions/swapcontext.texi.
48541         * doc/pastposix-functions/ualarm.texi: Renamed from
48542         doc/posix-functions/ualarm.texi.
48543         * doc/pastposix-functions/usleep.texi: Renamed from
48544         doc/posix-functions/usleep.texi.
48545         * doc/pastposix-functions/vfork.texi: Renamed from
48546         doc/posix-functions/vfork.texi.
48547         * doc/pastposix-functions/wcswcs.texi: Renamed from
48548         doc/posix-functions/wcswcs.texi.
48549         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48550         (Function Substitutes): Update.
48551
48552 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48553
48554         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48555         m4/strerror.m4.
48556
48557 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48558             Bruno Haible  <bruno@clisp.org>
48559
48560         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48561
48562 2008-12-13  Bruno Haible  <bruno@clisp.org>
48563
48564         * modules/strtoull (Depends-on): Remove unistd.
48565
48566 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48567
48568         * modules/strtoull (Depends-on): Add stdlib.
48569
48570 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48571
48572         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48573
48574 2008-12-10  Jim Meyering  <meyering@redhat.com>
48575
48576         gl_ASSERT: don't say assertions are disabled when they're not
48577         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48578         "checking whether to enable assertions... no", when they are in
48579         fact enabled.  This is solely a bug in the output of configure.
48580         In spite of saying "no", NDEBUG was not defined in that case.
48581         Also, as noted by Eric Blake, leave assertions enabled upon
48582         --enable-assert=INVALID.
48583
48584 2008-12-10  Bruno Haible  <bruno@clisp.org>
48585
48586         Change MODULES.html to refer to POSIX:2008 where possible.
48587         * MODULES.html.sh (POSIX2008_URL): New variable.
48588         (posix_headers): Remove sys/timeb, ucontext.
48589         (posix2001_headers): New variable.
48590         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48591         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48592         index, makecontext, mktemp, pthread_attr_getstackaddr,
48593         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48594         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48595         (posix2001_functions): New variable.
48596         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48597         otherwise.
48598
48599 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48600
48601         add missing include to parse-duration.c
48602         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48603         * modules/parse-duration (Depends-on): Add xalloc.
48604
48605         fix sed script reading maint.mk
48606         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48607         (syntax-check-rules): Use it.
48608
48609 2008-12-09  Bruno Haible  <bruno@clisp.org>
48610
48611         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48612         MacOS X 10.4/PowerPC.
48613         Reported by Simon Josefsson.
48614
48615 2008-12-08  Jim Meyering  <meyering@redhat.com>
48616
48617         work around mingw's lack of some S_IF definitions
48618         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48619         Reported by Simon Josefsson.
48620
48621 2008-12-08  Bruno Haible  <bruno@clisp.org>
48622
48623         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48624         applied to variables. Needed on MacOS X 10.4/PowerPC.
48625         Reported by Simon Josefsson.
48626
48627 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48628         and Eric Blake  <ebb9@byu.net>
48629
48630         assert: honor --enable-assert
48631         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48632         order to honor --enable-assert, rather than treating it as a
48633         synonym for --disable-assert.
48634
48635 2008-12-08  Jim Meyering  <meyering@redhat.com>
48636
48637         * lib/posixtm.c: Remove now-useless declaration of mktime.
48638
48639         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48640
48641 2008-12-07  Bruno Haible  <bruno@clisp.org>
48642
48643         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48644         test_once): Mark functions as static.
48645         * tests/test-tls.c (test_tls): Likewise.
48646
48647 2008-12-07  Bruno Haible  <bruno@clisp.org>
48648
48649         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48650         iconv_register_autodetect.
48651
48652 2008-12-07  Jim Meyering  <meyering@redhat.com>
48653
48654         posixtm.c: avoid a warning
48655         * lib/posixtm.c (posixtime): Don't initialize tm0.
48656         It's no longer needed to placate gcc4's -Wuninitialized,
48657         and the attempt to placate would elicit a new warning.
48658
48659         unicodeio.c: mark unused parameters
48660         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48661         (fallback_failure_callback): Likewise.
48662
48663 2008-12-07  Bruno Haible  <bruno@clisp.org>
48664
48665         * gnulib-tool (func_create_testdir): When building the tests
48666         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48667         Reported by Simon Josefsson.
48668
48669 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48670
48671         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48672
48673 2008-12-06  Bruno Haible  <bruno@clisp.org>
48674
48675         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48676         Suggested by Eric Blake.
48677
48678 2008-12-06  Bruno Haible  <bruno@clisp.org>
48679
48680         Fix a c-stack test failure on MacOS X.
48681         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48682         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48683         handler for SIGBUS as well.
48684         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48685         install a signal handler for SIGBUS as well.
48686         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48687
48688 2008-12-06  Bruno Haible  <bruno@clisp.org>
48689
48690         Advocacy documentation.
48691         * doc/gnulib-intro.texi (Benefits): New section.
48692         * doc/gnulib.texi: Update.
48693
48694 2008-12-06  Bruno Haible  <bruno@clisp.org>
48695
48696         Document the 'manywarnings' module.
48697         * doc/manywarnings.texi: New file.
48698         * doc/gnulib.texi: Include it.
48699
48700 2008-12-05  Eric Blake  <ebb9@byu.net>
48701
48702         tests: silence some gcc warnings
48703         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48704         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48705         type mismatches.
48706
48707 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48708             Bruno Haible  <bruno@clisp.org>
48709
48710         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48711
48712 2008-11-29  Jim Meyering  <meyering@redhat.com>
48713
48714         unicodeio.c: mark unused parameters
48715         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48716         (fallback_failure_callback): Likewise.
48717
48718         fts: fix a thinko
48719         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48720         (set_stat_type): Return S_IF*-valued "type" directly.
48721         Prompted by James Youngman's spotting a related bug.
48722         Confirmed by further testing through find.
48723
48724         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48725         * lib/fts.c (D_TYPE): Define.
48726         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48727         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48728         (s_ifmt_shift_bits): New function.
48729         (set_stat_type): New function.
48730         (fts_build): When not calling fts_stat, call set_stat_type
48731         to propagate dirent.d_type info to fts_read caller.
48732         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48733         fts_statp->st_mode type information may be valid.
48734
48735 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48736
48737         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48738         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48739         <sds@gnu.org>.
48740
48741 2008-11-20  Bruno Haible  <bruno@clisp.org>
48742
48743         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48744         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48745         INCLUDE_NEXT.
48746         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48747         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48748         * modules/math (Makefile.am): Substitute
48749         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48750         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48751
48752 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48753             Bruno Haible  <bruno@clisp.org>
48754
48755         * lib/stdint.in.h: Define all type macros so that their expansion is
48756         a single typedef'ed token. Fixes a compilation failure in Boost which
48757         does "using ::int8_t;".
48758
48759 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48760
48761         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48762         gl_MANYWARN_ALL_GCC.
48763         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48764         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48765         * modules/manywarnings: New file.
48766         * MODULES.html.sh: Mention manywarnings module.
48767
48768 2008-11-18  Bruno Haible  <bruno@clisp.org>
48769
48770         * doc/gnulib-tool.texi (Unit tests): New section.
48771
48772 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48773
48774         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48775         paths like 'lib/po/foo.po'.
48776
48777 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48778
48779         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48780         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48781
48782 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48783
48784         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48785         parameter works.
48786
48787 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48788
48789         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48790
48791 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48792
48793         * modules/parse-duration-tests: New file.
48794         * tests/test-parse-duration.sh: New file.
48795         * tests/test-parse-duration.c: New file.
48796
48797         New module 'parse-duration'.
48798         * lib/parse-duration.h: New file.
48799         * lib/parse-duration.c: New file.
48800         * modules/parse-duration: New file.
48801
48802 2008-11-17  Bruno Haible  <bruno@clisp.org>
48803
48804         * tests/test-select-out.sh: Comment out the first pipe test.
48805         Reported by Simon Josefsson.
48806
48807 2008-11-17  Bruno Haible  <bruno@clisp.org>
48808
48809         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48810         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48811         gl_HOSTENT.
48812
48813 2008-11-17  Bruno Haible  <bruno@clisp.org>
48814
48815         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48816         -lnetwork and -lnet. Needed for Haiku and BeOS.
48817
48818 2008-11-16  Bruno Haible  <bruno@clisp.org>
48819
48820         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48821
48822 2008-11-16  Bruno Haible  <bruno@clisp.org>
48823
48824         Avoid test failure on Haiku.
48825         * tests/test-fsync.c: Include <errno.h>.
48826         (main): Don't require that fsync (0) fails.
48827
48828 2008-11-15  Bruno Haible  <bruno@clisp.org>
48829
48830         New module 'hostent'.
48831         * modules/hostent: New file.
48832         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48833
48834 2008-11-15  Bruno Haible  <bruno@clisp.org>
48835
48836         New module 'servent'.
48837         * modules/servent: New file.
48838         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48839
48840 2008-11-15  Bruno Haible  <bruno@clisp.org>
48841
48842         Avoid generating same test program with two different rules.
48843         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48844         test-frexp to test-frexp-nolibm.
48845         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48846         test-frexpl to test-frexpl-nolibm.
48847
48848 2008-11-15  Bruno Haible  <bruno@clisp.org>
48849
48850         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48851         $(FREXPL_LIBM).
48852
48853 2008-11-15  Bruno Haible  <bruno@clisp.org>
48854
48855         * lib/netdb.in.h: Activate the definitions also when the system's
48856         <netdb.h> has 'struct addrinfo'.
48857         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48858         EAI_OVERFLOW or AI_NUMERICSERV.
48859         * doc/posix-headers/netdb.texi: Document the problem.
48860
48861 2008-11-15  Bruno Haible  <bruno@clisp.org>
48862
48863         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48864
48865         Make the 'sched' module work on platforms where <sched.h> exists but
48866         is incomplete (such as Haiku).
48867         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48868         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48869         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48870         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48871         HAVE_STRUCT_SCHED_PARAM.
48872         * modules/sched (Depends-on): Add include_next.
48873         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48874         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48875         * doc/posix-headers/sched.texi: Document the issue.
48876
48877 2008-11-13  Jim Meyering  <meyering@redhat.com>
48878
48879         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48880         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48881         test would fail due to the difference in the Report bugs to ...
48882         line.  The expected address is empty, "<>", while the actual
48883         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48884
48885 2008-11-12  Bruno Haible  <bruno@clisp.org>
48886
48887         lstat: don't compile lstat.c on systems lacking lstat
48888         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48889         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48890         Reported by Daniel P. Berrange via Jim Meyering.
48891
48892 2008-11-12  Jim Meyering  <meyering@redhat.com>
48893
48894         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48895
48896 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48897
48898         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48899         instead.
48900
48901 2008-11-12  Bruno Haible  <bruno@clisp.org>
48902
48903         * lib/unicodeio.c: Include unistr.h.
48904         (utf8_wctomb): Remove function.
48905         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48906
48907 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48908
48909         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48910         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48911         <bruno@clisp.org>.
48912         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48913
48914 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48915
48916         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48917         * doc/gnulib.texi: Add section for warnings.
48918
48919 2008-11-11  Bruno Haible  <bruno@clisp.org>
48920
48921         * lib/sockets.h: Add a comment.
48922
48923 2008-11-11  Karl Berry  <karl@gnu.org>
48924
48925         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48926
48927 2008-11-11  Eric Blake  <ebb9@byu.net>
48928
48929         fdl.texi: avoid git symlinks
48930         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48931
48932 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48933
48934         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48935
48936 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48937
48938         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48939         (gl_WARN_ADD): Substitute $2 if literal.
48940
48941 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48942
48943         * m4/warning.m4: Remove.
48944
48945 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48946
48947         * m4/warnings.m4: Almost complete rewrite. :-)
48948
48949 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48950
48951         * modules/warnings: New module.
48952         * m4/warnings.m4: New file.
48953         * MODULES.html.sh: Mention warnings module.
48954         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48955         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48956
48957 2008-11-10  Eric Blake  <ebb9@byu.net>
48958
48959         fdl.texi: make a symlink to the latest version
48960         * doc/standards.texi: Revert today's earlier change.
48961         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48962         * doc/fdl.texi: ...and replace this with a symlink to the newer
48963         fdl-1.3.texi.
48964
48965 2008-11-10  Bruno Haible  <bruno@clisp.org>
48966
48967         * tests/test-select-fd.c (main): Accept the result file name as fourth
48968         argument.
48969         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48970         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48971
48972 2008-11-10  Bruno Haible  <bruno@clisp.org>
48973
48974         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48975         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48976         as autoconf-substituted macros.
48977         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48978         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48979         gl_NETDB_H_DEFAULTS. Set these variables.
48980         * modules/netdb (Makefile.am): Substitute these variables.
48981
48982 2008-11-10  Eric Blake  <ebb9@byu.net>
48983
48984         standards.texi: include correct file for FDL 1.3
48985         * doc/standards.texi (GNU Free Documentation License): Change
48986         include file to pull in FDL 1.3, not 1.2.
48987
48988         fdl.texi: revert accidental change to license
48989         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48990
48991 2008-11-10  Bruno Haible  <bruno@clisp.org>
48992
48993         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48994         cross-compiling guesses also when the native compile gives no result.
48995
48996 2008-11-10  Bruno Haible  <bruno@clisp.org>
48997
48998         * lib/spawni.c (__spawni): Force variable into the stack.
48999
49000 2008-11-10  Bruno Haible  <bruno@clisp.org>
49001
49002         Add support for Haiku.
49003         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
49004         glibc and BeOS, but also on Haiku.
49005         * lib/fpurge.c (fpurge): Likewise.
49006         * lib/freadable.c (freadable): Likewise.
49007         * lib/freadahead.c (freadahead): Likewise.
49008         * lib/freading.c (freading): Likewise.
49009         * lib/freadptr.c (freadptr): Likewise.
49010         * lib/freadseek.c (freadptrinc): Likewise.
49011         * lib/fseeko.c (rpl_fseeko): Likewise.
49012         * lib/fseterr.c (fseterr): Likewise.
49013         * lib/fwritable.c (fwritable): Likewise.
49014         * lib/fwriting.c (fwriting): Likewise.
49015         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
49016
49017 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
49018
49019         * lib/config.charset: Treat Haiku like BeOS.
49020
49021 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
49022
49023         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
49024         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
49025
49026 2008-11-08  Bruno Haible  <bruno@clisp.org>
49027
49028         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
49029         AC_CACHE_CHECK.
49030
49031 2008-11-08  Bruno Haible  <bruno@clisp.org>
49032
49033         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
49034
49035 2008-11-08  Bruno Haible  <bruno@clisp.org>
49036
49037         * tests/test-select-fd.c: New file.
49038         * tests/test-select-in.sh: New file.
49039         * tests/test-select-out.sh: New file.
49040         * tests/test-select-stdin.c: New file.
49041         * modules/select-tests (Files): Add the new files.
49042         (Depends-on): Add gettimeofday.
49043         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
49044         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
49045         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
49046
49047 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
49048             Bruno Haible  <bruno@clisp.org>
49049
49050         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
49051
49052 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
49053
49054         * build-aux/pmccabe2html: Added support for C++ source files.
49055
49056 2008-11-05  Ben Pfaff  <blp@gnu.org>
49057
49058         Fix lib/close.c build on Windows.
49059         * modules/close (Files): Add lib/w32sock.h.
49060
49061 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
49062
49063         Accept Bison's NEWS format.
49064         * build-aux/announce-gen (print_news_deltas): Tweak
49065         $re_prefix.
49066
49067 2008-11-04  Bruno Haible  <bruno@clisp.org>
49068
49069         * modules/random_r (Maintainer): Add glibc.
49070
49071 2008-11-04  Simon Josefsson  <simon@josefsson.org>
49072
49073         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
49074         by karl@freefriends.org (Karl Berry).
49075         * doc/alloca.texi: Likewise.
49076         * doc/c-ctype.texi: Likewise.
49077         * doc/c-strcase.texi: Likewise.
49078         * doc/c-strcaseeq.texi: Likewise.
49079         * doc/c-strcasestr.texi: Likewise.
49080         * doc/c-strstr.texi: Likewise.
49081         * doc/c-strtod.texi: Likewise.
49082         * doc/c-strtold.texi: Likewise.
49083         * doc/ctime.texi: Likewise.
49084         * doc/error.texi: Likewise.
49085         * doc/fdl.texi: Likewise.
49086         * doc/gcd.texi: Likewise.
49087         * doc/getdate.texi: Likewise.
49088         * doc/gnulib-intro.texi: Likewise.
49089         * doc/gnulib-tool.texi: Likewise.
49090         * doc/gnulib.texi: Likewise.
49091         * doc/inet_ntoa.texi: Likewise.
49092         * doc/maintain.texi: Likewise.
49093         * doc/make-stds.texi: Likewise.
49094         * doc/quote.texi: Likewise.
49095         * doc/regexprops-generic.texi: Likewise.
49096         * doc/standards.texi: Likewise.
49097         * doc/verify.texi: Likewise.
49098         * doc/visibility.texi: Likewise.
49099         * doc/gnulib.texi (GNU Free Documentation License): Include
49100         fdl-1.3.texi instead of fdl.texi.
49101
49102 2008-11-04  Simon Josefsson  <simon@josefsson.org>
49103
49104         * doc/fdl-1.3.texi: New file, from
49105         <http://www.gnu.org/licenses/fdl-1.3.texi>.
49106         * modules/fdl-1.3: Add.
49107         * MODULES.html.sh: Add fdl-1.3.
49108
49109 2008-11-03  Bruno Haible  <bruno@clisp.org>
49110
49111         Make determination of absolute name of header file work with AIX xlc.
49112         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
49113         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
49114         preprocessing.
49115         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49116         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
49117
49118 2008-11-03  Simon Josefsson  <simon@josefsson.org>
49119
49120         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
49121         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
49122         <ludo@gnu.org>.
49123
49124 2008-11-02  Bruno Haible  <bruno@clisp.org>
49125
49126         Mark 'strpbrk' obsolete.
49127         * modules/strpbrk (Status, Notice): New sections.
49128         * modules/strtok_r (Depends-on): Add strpbrk.
49129
49130 2008-11-02  Bruno Haible  <bruno@clisp.org>
49131
49132         Mark 'strdup' obsolete.
49133         * modules/strdup (Status, Notice): New sections.
49134         * modules/findprog (Depends-on): Add strdup.
49135         * modules/getaddrinfo (Depends-on): Likewise.
49136         * modules/localename (Depends-on): Likewise.
49137         * modules/relocatable-lib (Depends-on): Likewise.
49138         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
49139         * modules/relocatable-prog (Depends-on): Likewise.
49140         * modules/trim (Depends-on): Likewise.
49141         * modules/unictype/gen-ctype (Depends-on): Likewise.
49142         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49143
49144 2008-11-02  Bruno Haible  <bruno@clisp.org>
49145
49146         Mark 'strcspn' obsolete.
49147         * modules/strcspn (Status, Notice): New sections.
49148
49149 2008-11-02  Bruno Haible  <bruno@clisp.org>
49150
49151         Mark 'rmdir' obsolete.
49152         * modules/rmdir (Status, Notice): New sections.
49153         * modules/clean-temp (Depends-on): Add rmdir.
49154         * modules/openat (Depends-on): Likewise.
49155
49156 2008-11-02  Bruno Haible  <bruno@clisp.org>
49157
49158         Mark 'raise' obsolete.
49159         * modules/raise (Status, Notice): New sections.
49160         (Include): Specify <signal.h>.
49161         * modules/stdio (Depends-on): Add raise.
49162         * modules/write (Depends-on): Likewise.
49163
49164 2008-11-02  Bruno Haible  <bruno@clisp.org>
49165
49166         Mark 'memset' obsolete.
49167         * modules/memset (Status, Notice): New sections.
49168
49169 2008-11-02  Bruno Haible  <bruno@clisp.org>
49170
49171         Mark 'memmove' obsolete.
49172         * modules/memmove (Status, Notice): New sections.
49173         * modules/argp (Depends-on): Add memmove.
49174         * modules/argz (Depends-on): Likewise.
49175         * modules/canonicalize (Depends-on): Likewise.
49176         * modules/canonicalize-lgpl (Depends-on): Likewise.
49177         * modules/fts (Depends-on): Likewise.
49178         * modules/getcwd (Depends-on): Likewise.
49179         * modules/human (Depends-on): Likewise.
49180         * modules/regex (Depends-on): Likewise.
49181         * modules/striconveh (Depends-on): Likewise.
49182         * modules/trim (Depends-on): Likewise.
49183         * modules/unistr/u8-move (Depends-on): Likewise.
49184         * modules/unistr/u16-move (Depends-on): Likewise.
49185         * modules/unistr/u32-move (Depends-on): Likewise.
49186
49187 2008-11-02  Bruno Haible  <bruno@clisp.org>
49188
49189         Mark 'memcpy' obsolete.
49190         * modules/memcpy (Status, Notice): New sections.
49191
49192 2008-11-02  Bruno Haible  <bruno@clisp.org>
49193
49194         Mark 'memcmp' obsolete.
49195         * modules/memcmp (Status, Notice): New sections.
49196         * modules/argmatch (Depends-on): Add memchr.
49197         * modules/backupfile (Depends-on): Likewise.
49198         * modules/c-strcasestr (Depends-on): Likewise.
49199         * modules/crypto/des (Depends-on): Likewise.
49200         * modules/csharpcomp (Depends-on): Likewise.
49201         * modules/fnmatch (Depends-on): Likewise.
49202         * modules/git-merge-changelog (Depends-on): Likewise.
49203         * modules/isnand (Depends-on): Likewise.
49204         * modules/isnand-nolibm (Depends-on): Likewise.
49205         * modules/isnanf (Depends-on): Likewise.
49206         * modules/isnanf-nolibm (Depends-on): Likewise.
49207         * modules/isnanl (Depends-on): Likewise.
49208         * modules/isnanl-nolibm (Depends-on): Likewise.
49209         * modules/mbchar (Depends-on): Likewise.
49210         * modules/memcoll (Depends-on): Likewise.
49211         * modules/quotearg (Depends-on): Likewise.
49212         * modules/regex (Depends-on): Likewise.
49213         * modules/relocatable-prog (Depends-on): Likewise.
49214         * modules/same (Depends-on): Likewise.
49215         * modules/signbit (Depends-on): Likewise.
49216         * modules/strcasestr-simple (Depends-on): Likewise.
49217         * modules/unictype/gen-ctype (Depends-on): Likewise.
49218         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49219         * modules/uniname/uniname (Depends-on): Likewise.
49220         * modules/unistr/u8-cmp (Depends-on): Likewise.
49221
49222 2008-11-02  Bruno Haible  <bruno@clisp.org>
49223
49224         Mark 'memchr' obsolete.
49225         * modules/memchr (Status, Notice): New sections.
49226         * modules/argp (Depends-on): Add memchr.
49227         * modules/base64 (Depends-on): Likewise.
49228         * modules/c-strcasestr (Depends-on): Likewise.
49229         * modules/chdir-long (Depends-on): Likewise.
49230         * modules/fnmatch (Depends-on): Likewise.
49231         * modules/getsubopt (Depends-on): Likewise.
49232         * modules/git-merge-changelog (Depends-on): Likewise.
49233         * modules/glob (Depends-on): Likewise.
49234         * modules/strcasestr-simple (Depends-on): Likewise.
49235         * modules/strnlen (Depends-on): Likewise.
49236
49237 2008-11-02  Bruno Haible  <bruno@clisp.org>
49238
49239         Mark 'atexit' obsolete.
49240         * modules/atexit (Status, Notice): New sections.
49241         * modules/chdir-long (Depends-on): Add atexit.
49242         * modules/wait-process (Depends-on): Likewise.
49243
49244 2008-11-02  Bruno Haible  <bruno@clisp.org>
49245
49246         * gnulib-tool: New option --with-obsolete.
49247         (func_usage): Document it.
49248         (func_modules_transitive_closure): Drop obsolete dependencies if
49249         incobsolete is not true.
49250         (func_import): Read and save the incobsolete variable to the cache.
49251
49252 2008-11-02  Bruno Haible  <bruno@clisp.org>
49253
49254         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49255         * gnulib-tool: New option --extract-status.
49256         (func_usage): Document it.
49257         (sed_extract_prog): Recognize it.
49258         (func_get_status): New function.
49259
49260 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49261
49262         * modules/sockets (License): Change from LGPL to LGPLv2+.
49263
49264 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49265
49266         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49267
49268 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49269
49270         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49271         Mention times and sys_times.
49272         * modules/sys_times, modules/sys_times-tests: New modules.
49273         * modules/times, modules/times-tests: Likewise
49274         * m4/sys_times_h.m4: New file.
49275         * lib/sys_times.in.h: Likewise
49276         * lib/times.c: Likewise.
49277         * tests/test-sys_times.c: Likewise.
49278         * tests/test-times.c: Likewise.
49279         * doc/posix-headers/sys_times.texi: Update.
49280         * doc/posix-functions/times.texi: Update.
49281
49282 2008-10-28  Jim Meyering  <meyering@redhat.com>
49283
49284         * modules/tempname (Depends-on): Add lstat.
49285
49286         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49287
49288 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49289
49290         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49291         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49292         using idiom used elsewhere in gnulib.
49293
49294 2008-10-27  Jim Meyering  <meyering@redhat.com>
49295
49296         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49297
49298 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49299
49300         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49301         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49302         programs.
49303         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49304
49305 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49306
49307         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49308
49309 2008-10-27  Bruno Haible  <bruno@clisp.org>
49310
49311         * tests/test-lstat.c: Include <stdio.h>.
49312
49313 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49314
49315         * modules/lstat-tests: New module.
49316         * tests/test-lstat.c: New file.
49317
49318 2008-10-26  Jim Meyering  <meyering@redhat.com>
49319
49320         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49321
49322 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49323             Bruno Haible  <bruno@clisp.org>
49324
49325         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49326         * modules/configmake (Include): Add a note that the include must come
49327         after all system headers.
49328         * lib/javaversion.c: Include configmake.h after all other includes.
49329
49330 2008-10-26  Bruno Haible  <bruno@clisp.org>
49331
49332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
49333         HAVE_STRUCT_RANDOM_DATA to 1.
49334         (gl_STDLIB_H): Simplify.
49335
49336 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49337
49338         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
49339         substitute HAVE_STRUCT_RANDOM_DATA.
49340         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
49341         random_data.
49342         * modules/stdlib (Makefile.am): Substitute
49343         HAVE_STRUCT_RANDOM_DATA.
49344
49345 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49346
49347         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
49348         * doc/gnulib-intro.texi (Copyright): Likewise.
49349
49350 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49351
49352         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49353         findings.
49354
49355 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49356             Bruno Haible  <bruno@clisp.org>
49357
49358         * lib/unistd.in.h: Include <winsock2.h>.
49359         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49360         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49361         Provide dummy declarations.
49362         (gethostname): Override.
49363         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49364         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49365         gl_PREREQ_SYS_H_WINSOCK2.
49366         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49367         * doc/posix-functions/gethostname.texi: More details.
49368
49369 2008-10-25  Bruno Haible  <bruno@clisp.org>
49370
49371         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49372         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49373         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49374
49375         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49376         here ...
49377         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49378         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49379         gl_UNISTD_H_DEFAULTS.
49380
49381 2008-10-25  Eric Blake  <ebb9@byu.net>
49382
49383         signbit: avoid spurious compiler failure
49384         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49385         declarations inside function.
49386
49387 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49388             Bruno Haible  <bruno@clisp.org>
49389
49390         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49391         * modules/random_r (Depends-on): Add stdint.
49392
49393 2008-10-24  Bruno Haible  <bruno@clisp.org>
49394
49395         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49396         Eggert.
49397         * modules/strerror (License): Likewise.
49398
49399 2008-10-24  Jim Meyering  <meyering@redhat.com>
49400
49401         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49402         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49403
49404 2008-10-24  Eric Blake  <ebb9@byu.net>
49405
49406         getgroups: fix compilation when getgroups is available
49407         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49408         but with <config.h> override of getgroups disabled.
49409
49410 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49411
49412         * doc/gnulib.texi (Header files): Add note about C++ problems.
49413         Explained by Bruno Haible <bruno@clisp.org>.
49414
49415 2008-10-23  Bruno Haible  <bruno@clisp.org>
49416
49417         Define a dummy SA_NODEFER macro on Interix.
49418         * lib/signal.in.h (SA_NODEFER): Define fallback.
49419         Reported by Aleksey Cheusov <cheusov@tut.by> via
49420         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49421
49422 2008-10-23  Bruno Haible  <bruno@clisp.org>
49423
49424         * modules/freadahead (License): Change to LGPLv2+.
49425         Suggested by Simon Josefsson.
49426
49427 2008-10-23  Jim Meyering  <meyering@redhat.com>
49428
49429         random_r: new module
49430         * modules/random_r: New file.
49431         * m4/random_r.m4: New file.
49432         * lib/random_r.c: New file, from glibc.
49433         * modules/random_r-tests: New file.
49434         * tests/test-random_r.c: New file.
49435         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49436          Declare.
49437         (RAND_MAX): Define.
49438         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49439         * modules/stdlib: Substitute them, too.
49440         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49441         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49442         * doc/glibc-functions/random_r.texi: Likewise.
49443         * doc/glibc-functions/setstate_r.texi: Likewise.
49444         * doc/glibc-functions/srandom_r.texi: Likewise.
49445         * config/srclist.txt: Mention it.
49446
49447 2008-10-23  David Lutterkort  <lutter@redhat.com>
49448
49449         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49450         link requirement
49451
49452 2008-10-23  Jim Meyering  <meyering@redhat.com>
49453
49454         selinux-h: mark parameters of stub functions as intentionally unused
49455         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49456         * lib/se-context.in.h: Likewise.
49457
49458 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49459
49460         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49461
49462 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49463
49464         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49465
49466 2008-10-22  Eric Blake  <ebb9@byu.net>
49467
49468         glthread/thread: avoid compiler warning
49469         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49470         Add unreachable abort to silence compiler.
49471
49472 2008-10-22  Eric Blake  <ebb9@byu.net>
49473
49474         netdb: also supply struct addrinfo for cygwin 1.5.x
49475         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49476         older cygwin.
49477         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49478         cygwin.
49479         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49480
49481 2008-10-22  Bruno Haible  <bruno@clisp.org>
49482
49483         * users.txt: Update entry about pspp.
49484
49485 2008-10-21  Bruno Haible  <bruno@clisp.org>
49486
49487         Simplification.
49488         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49489         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49490
49491         Simplification.
49492         * lib/ioctl.c (ioctl): Don't undefine.
49493         * lib/socket.c (socket): Don't undefine.
49494
49495         Remove unused module indicator macros.
49496         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49497         GNULIB_$1 as a C macro.
49498
49499         * doc/posix-functions/close.texi: Undo last change.
49500         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49501         Windows platforms.
49502
49503 2008-10-21  Bruno Haible  <bruno@clisp.org>
49504
49505         Add gethostname() declaration to <unistd.h>.
49506         * lib/unistd.in.h (gethostname): New declaration.
49507         * lib/gethostname.c: Include <unistd.h>.
49508         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49509         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49511         and HAVE_GETHOSTNAME.
49512         * modules/gethostname (Depends-on): Add unistd.
49513         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49514         (Include): Specify <unistd.h>.
49515         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49516         HAVE_GETHOSTNAME.
49517         * tests/test-gethostname.c: Include <unistd.h> first.
49518
49519 2008-10-21  Bruno Haible  <bruno@clisp.org>
49520
49521         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49522         * modules/select-tests (Depends-on): Likewise.
49523         Reported by Simon Josefsson.
49524
49525 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49526
49527         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49528         * lib/accept.c: New file, based on winsock.c.
49529         * lib/bind.c: New file, based on winsock.c.
49530         * lib/connect.c: New file, based on winsock.c.
49531         * lib/getpeername.c: New file, based on winsock.c.
49532         * lib/getsockname.c: New file, based on winsock.c.
49533         * lib/getsockopt.c: New file, based on winsock.c.
49534         * lib/ioctl.c: New file, based on winsock.c.
49535         * lib/listen.c: New file, based on winsock.c.
49536         * lib/recv.c: New file, based on winsock.c.
49537         * lib/recvfrom.c: New file, based on winsock.c.
49538         * lib/send.c: New file, based on winsock.c.
49539         * lib/sendto.c: New file, based on winsock.c.
49540         * lib/setsockopt.c: New file, based on winsock.c.
49541         * lib/shutdown.c: New file, based on winsock.c.
49542         * lib/socket.c: New file, based on winsock.c.
49543         * lib/w32sock.h: New file, based on winsock.c.
49544         * lib/winsock.c: Remove file.
49545         * modules/accept: Likewise.
49546         * modules/bind: Likewise.
49547         * modules/connect: Likewise.
49548         * modules/getpeername: Likewise.
49549         * modules/getsockname: Likewise.
49550         * modules/getsockopt: Likewise.
49551         * modules/ioctl: Likewise.
49552         * modules/listen: Likewise.
49553         * modules/recv: Likewise.
49554         * modules/recvfrom: Likewise.
49555         * modules/send: Likewise.
49556         * modules/sendto: Likewise.
49557         * modules/setsockopt: Likewise.
49558         * modules/shutdown: Likewise.
49559         * modules/socket: Use socket.c instead of winsock.c.
49560         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49561         * doc/posix-functions/accept.texi: Doc fix.
49562         * doc/posix-functions/bind.texi: Doc fix.
49563         * doc/posix-functions/close.texi: Doc fix.
49564         * doc/posix-functions/connect.texi: Doc fix.
49565         * doc/posix-functions/getpeername.texi: Doc fix.
49566         * doc/posix-functions/getsockname.texi: Doc fix.
49567         * doc/posix-functions/getsockopt.texi: Doc fix.
49568         * doc/posix-functions/ioctl.texi: Doc fix.
49569         * doc/posix-functions/listen.texi: Doc fix.
49570         * doc/posix-functions/recv.texi: Doc fix.
49571         * doc/posix-functions/recvfrom.texi: Doc fix.
49572         * doc/posix-functions/send.texi: Doc fix.
49573         * doc/posix-functions/sendto.texi: Doc fix.
49574         * doc/posix-functions/setsockopt.texi: Doc fix.
49575         * doc/posix-functions/shutdown.texi: Doc fix.
49576         * doc/posix-functions/socket.texi: Doc fix.
49577
49578 2008-10-20  Bruno Haible  <bruno@clisp.org>
49579
49580         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49581         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49582         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49583         as an alias for SIGABRT.
49584         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49585         (sigaction): Map it to SIGABRT.
49586         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49587
49588 2008-10-20  Bruno Haible  <bruno@clisp.org>
49589
49590         * lib/fts.c: Don't include lstat.h.
49591         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49592
49593         Move the lstat() declaration to <sys/stat.h>.
49594         * lib/lstat.h: Remove file.
49595         * lib/sys_stat.in.h: Add special invocation convention.
49596         (lstat): New declaration.
49597         * lib/lstat.c (orig_lstat): New function.
49598         (rpl_lstat): Use orig_lstat instead of lstat.
49599         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49600         AC_C_INLINE. Set REPLACE_LSTAT.
49601         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49602         and REPLACE_LSTAT.
49603         * modules/lstat (Files): Remove lib/lstat.h.
49604         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49605         (Include): Specify <sys/stat.h> instead of lstat.h.
49606         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49607         REPLACE_LSTAT.
49608         * NEWS: Mention the change.
49609
49610 2008-10-20  Bruno Haible  <bruno@clisp.org>
49611
49612         * modules/posix_spawn-tests: New file.
49613         * tests/test-posix_spawn3.c: New file.
49614
49615 2008-10-20  Bruno Haible  <bruno@clisp.org>
49616
49617         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49618         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49619         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49620         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49621         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49622
49623 2008-10-20  Bruno Haible  <bruno@clisp.org>
49624
49625         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49626         of posix_spawn on AIX 5.3.
49627
49628 2008-10-20  Bruno Haible  <bruno@clisp.org>
49629
49630         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49631
49632 2008-10-20  Bruno Haible  <bruno@clisp.org>
49633
49634         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49635         of AC_LANG_PROGRAM.
49636
49637 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49638
49639         * lib/netdb.in.h: Don't define GNU specific constants until they
49640         are supported or needed.  Reported by Bruno Haible
49641         <bruno@clisp.org>.
49642
49643 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49644
49645         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49646
49647 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49648
49649         * lib/getaddrinfo.h: Remove file.
49650         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49651         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49652         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49653         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49654         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49655         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49656         * tests/test-getaddrinfo.c: Likewise.
49657         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49658         * NEWS: Mention change.
49659
49660 2008-10-19  Bruno Haible  <bruno@clisp.org>
49661
49662         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49663
49664 2008-10-19  Bruno Haible  <bruno@clisp.org>
49665
49666         * lib/wait-process.c: Include simply <sys/wait.h>.
49667         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49668         WIFSTOPPED): Remove fallback definitions.
49669         * modules/wait-process (Depends-on): Add sys_wait.
49670
49671         New module 'sys_wait'.
49672         * modules/sys_wait: New file.
49673         * lib/sys_wait.in.h: New file, partially copied from
49674         lib/wait-process.c.
49675         * m4/sys_wait_h.m4: New file.
49676         * doc/posix-headers/sys_wait.texi: Mention the new module.
49677
49678 2008-10-19  Bruno Haible  <bruno@clisp.org>
49679
49680         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49681
49682 2008-10-19  Bruno Haible  <bruno@clisp.org>
49683
49684         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49685         * lib/wait-process.c (WAIT_T): Remove type.
49686         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49687         (wait_subprocess): Update.
49688
49689 2008-10-19  Bruno Haible  <bruno@clisp.org>
49690
49691         New module 'atoll'.
49692         * modules/atoll: New file.
49693         * lib/stdlib.in.h (atoll): New declaration.
49694         * lib/atoll.c: New file, from glibc with modifications.
49695         * m4/atoll.m4: New file.
49696         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49697         HAVE_ATOLL.
49698         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49699         * doc/posix-functions/atoll.texi: Mention the new module.
49700
49701 2008-10-19  Bruno Haible  <bruno@clisp.org>
49702
49703         Add strtoull() declaration to <stdlib.h>.
49704         * lib/stdlib.in.h (strtoull): New declaration.
49705         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49706         Set HAVE_STRTOULL.
49707         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49708         HAVE_STRTOULL.
49709         * modules/strtoull (Depends-on): Add stdlib.
49710         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49711         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49712         HAVE_STRTOULL.
49713
49714 2008-10-19  Bruno Haible  <bruno@clisp.org>
49715
49716         Add strtoll() declaration to <stdlib.h>.
49717         * lib/stdlib.in.h (strtoll): New declaration.
49718         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49719         Set HAVE_STRTOLL.
49720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49721         HAVE_STRTOLL.
49722         * modules/strtoll (Depends-on): Add stdlib.
49723         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49724         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49725
49726 2008-10-19  Bruno Haible  <bruno@clisp.org>
49727
49728         * modules/bcopy (Depends-on): Add strings.
49729         (Include): Specify <strings.h>.
49730
49731 2008-10-19  Bruno Haible  <bruno@clisp.org>
49732
49733         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49734
49735 2008-10-19  Bruno Haible  <bruno@clisp.org>
49736
49737         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49738         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49739         mingw.
49740
49741 2008-10-19  Bruno Haible  <bruno@clisp.org>
49742
49743         * lib/atanl.c: Don't include isnanl.h.
49744         * lib/cosl.c: Likewise.
49745         * lib/ldexpl.c: Likewise.
49746         * lib/logl.c: Likewise.
49747         * lib/sinl.c: Likewise.
49748         * lib/sqrtl.c: Likewise.
49749         * lib/tanl.c: Likewise.
49750
49751         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49752         * lib/isnanf.h: Remove file.
49753         * lib/isnand.h: Remove file.
49754         * lib/isnanl.h: Remove file.
49755         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49756         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49757         macros.
49758         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49759         HAVE_ISNANF, don't define it as a C macro.
49760         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49761         HAVE_ISNAND, don't define it as a C macro.
49762         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49763         HAVE_ISNANL, don't define it as a C macro.
49764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49765         HAVE_ISNAN[FDL].
49766         * modules/isnanf (Files): Remove lib/isnanf.h.
49767         (Depends-on): Add math.
49768         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49769         (Include): Specify <math.h> instead of isnanf.h.
49770         * modules/isnand (Files): Remove lib/isnand.h.
49771         (Depends-on): Add math.
49772         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49773         (Include): Specify <math.h> instead of isnand.h.
49774         * modules/isnanl (Files): Remove lib/isnanl.h.
49775         (Depends-on): Add math.
49776         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49777         (Include): Specify <math.h> instead of isnanl.h.
49778         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49779         HAVE_ISNAN[FDL].
49780         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49781         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49782         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49783         * NEWS: Mention the change.
49784
49785 2008-10-18  Bruno Haible  <bruno@clisp.org>
49786
49787         Add getusershell(), setusershell(), endusershell() declarations to
49788         <unistd.h>.
49789         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49790         declarations.
49791         * lib/getusershell.c: Include unistd.h.
49792         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49793         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49794         HAVE_GETUSERSHELL.
49795         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49796         and HAVE_GETUSERSHELL.
49797         * modules/getusershell (Depends-on): Add unistd, extensions.
49798         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49799         (Include): Specify <unistd.h>.
49800         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49801         HAVE_GETUSERSHELL.
49802
49803 2008-10-18  Bruno Haible  <bruno@clisp.org>
49804
49805         Add a getloadavg() declaration to <stdlib.h>.
49806         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49807         getloadavg declaration.
49808         (getloadavg): New declaration.
49809         * lib/getloadavg.c: Include <stdlib.h> first.
49810         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49811         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49812         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49814         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49815         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49816         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49817         (Include): Specify <stdlib.h>.
49818         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49819         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49820
49821 2008-10-18  Bruno Haible  <bruno@clisp.org>
49822
49823         * lib/dirchownmod.c: Don't include lchmod.h.
49824
49825         Move the lchmod() declaration to <sys/stat.h>.
49826         * lib/lchmod.h: Remove file.
49827         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49828         (lchmod): New declaration, moved here from lib/lchown.h.
49829         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49830         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49831         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49832         and HAVE_LCHMOD.
49833         * modules/lchmod (Files): Remove lib/lchmod.h.
49834         (Depends-on): Add sys_stat, extensions.
49835         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49836         (Include): Specify <sys/stat.h> instead of lchmod.h.
49837         * modules/sys_stat (Depends-on): Add link-warning.
49838         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49839         definition of GL_LINK_WARNING.
49840         * NEWS: Mention the change.
49841
49842 2008-10-18  Bruno Haible  <bruno@clisp.org>
49843
49844         * lib/fchdir.c: Don't include dirfd.h.
49845         * lib/fts.c: Likewise.
49846         * lib/getcwd.c: Likewise.
49847         * lib/glob.c: Likewise.
49848
49849         Move the dirfd() declaration to <dirent.h>.
49850         * lib/dirfd.h: Remove file.
49851         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49852         (dirfd): New declaration.
49853         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49854         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49855         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49856         HAVE_DECL_DIRFD.
49857         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49858         HAVE_DECL_DIRFD.
49859         * modules/dirfd (Files): Remove lib/dirfd.h.
49860         (Depends-on): Add dirent, extensions.
49861         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49862         (Include): Specify <dirent.h> instead of dirfd.h.
49863         * modules/dirent (Depends-on): Add link-warning.
49864         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49865         definition of GL_LINK_WARNING.
49866         * NEWS: Mention the change.
49867
49868 2008-10-18  Bruno Haible  <bruno@clisp.org>
49869
49870         Move the euidaccess() declaration to <unistd.h>.
49871         * lib/euidaccess.h: Remove file.
49872         * lib/unistd.in.h (euidaccess): New declaration.
49873         * lib/euidaccess.c: Don't include euidaccess.h.
49874         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49875         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49877         and HAVE_EUIDACCESS.
49878         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49879         (Depends-on): Add unistd.
49880         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49881         (Include): Specify <unistd.h> instead of euidaccess.h.
49882         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49883         HAVE_EUIDACCESS.
49884         * NEWS: Mention the change.
49885
49886 2008-10-18  Bruno Haible  <bruno@clisp.org>
49887
49888         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49889
49890         Move the getdomainname() declaration to <unistd.h>.
49891         * lib/getdomainname.h: Remove file.
49892         * lib/unistd.in.h (getdomainname): New declaration.
49893         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49894         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49895         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49896         HAVE_GETDOMAINNAME.
49897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49898         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49899         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49900         (Depends-on): Add unistd, extensions.
49901         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49902         (Includes): Specify <unistd.h> instead of getdomainname.h.
49903         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49904         HAVE_GETDOMAINNAME.
49905         * NEWS: Mention the change.
49906
49907 2008-10-18  Bruno Haible  <bruno@clisp.org>
49908
49909         * modules/dirent: New file.
49910         * m4/dirent_h.m4: New file.
49911         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49912         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49913         * modules/fchdir (Files): Remove lib/dirent.in.h.
49914         (Depends-on): Add dirent.
49915         (Makefile.am): Move rules to modules/dirent.
49916         * doc/posix-headers/dirent.texi: Mention the new module.
49917
49918 2008-10-18  Bruno Haible  <bruno@clisp.org>
49919
49920         Avoid -Wunused-parameter warnings in public gnulib header files.
49921         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49922         macro.
49923         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49924
49925 2008-10-18  Bruno Haible  <bruno@clisp.org>
49926
49927         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49928         * doc/glibc-functions/error.texi: Mention the module 'error'.
49929         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49930         * doc/glibc-functions/getdomainname.texi: Mention the module
49931         'getdomainname'.
49932         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49933         * doc/glibc-functions/getpagesize.texi: Mention the module
49934         'getpagesize'.
49935         * doc/glibc-functions/getusershell.texi: Mention the module
49936         'getusershell'.
49937         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49938         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49939         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49940         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49941         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49942         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49943         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49944         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49945         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49946         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49947         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49948         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49949         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49950         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49951
49952 2008-10-17  Bruno Haible  <bruno@clisp.org>
49953
49954         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49955         HP-UX and IRIX, use -0.0L.
49956         * tests/test-ceill.c (minus_zero): Likewise.
49957         * tests/test-floorl.c (minus_zero): Likewise.
49958         * tests/test-frexpl.c (minus_zero): Likewise.
49959         * tests/test-isnan.c (minus_zerol): Likewise.
49960         * tests/test-isnanl.h (minus_zero): Likewise.
49961         * tests/test-ldexpl.c (minus_zero): Likewise.
49962         * tests/test-roundl.c (minus_zero): Likewise.
49963         * tests/test-signbit.c (minus_zerol): Likewise.
49964         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49965         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49966         * tests/test-truncl.c (minus_zero): Likewise.
49967         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49968         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49969         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49970         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49971
49972 2008-10-17  Bruno Haible  <bruno@clisp.org>
49973
49974         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49975         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49976         that it gets activated only for gcc >= 3.0.
49977         * lib/dirent.in.h: Likewise.
49978         * lib/errno.in.h: Likewise.
49979         * lib/fcntl.in.h: Likewise.
49980         * lib/float.in.h: Likewise.
49981         * lib/iconv.in.h: Likewise.
49982         * lib/inttypes.in.h: Likewise.
49983         * lib/locale.in.h: Likewise.
49984         * lib/math.in.h: Likewise.
49985         * lib/netdb.in.h: Likewise.
49986         * lib/netinet_in.in.h: Likewise.
49987         * lib/search.in.h: Likewise.
49988         * lib/signal.in.h: Likewise.
49989         * lib/spawn.in.h: Likewise.
49990         * lib/stdarg.in.h: Likewise.
49991         * lib/stdint.in.h: Likewise.
49992         * lib/stdio.in.h: Likewise.
49993         * lib/stdlib.in.h: Likewise.
49994         * lib/string.in.h: Likewise.
49995         * lib/strings.in.h: Likewise.
49996         * lib/sys_file.in.h: Likewise.
49997         * lib/sys_ioctl.in.h: Likewise.
49998         * lib/sys_select.in.h: Likewise.
49999         * lib/sys_socket.in.h: Likewise.
50000         * lib/sys_stat.in.h: Likewise.
50001         * lib/sys_time.in.h: Likewise.
50002         * lib/sysexits.in.h: Likewise.
50003         * lib/time.in.h: Likewise.
50004         * lib/unistd.in.h: Likewise.
50005         * lib/wchar.in.h: Likewise.
50006         * lib/wctype.in.h: Likewise.
50007         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50008
50009 2008-10-17  Jim Meyering  <meyering@redhat.com>
50010
50011         ignore-value: don't depend on inline module
50012         * modules/ignore-value (Depends-on): Remove 'inline'.
50013         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
50014         Suggestion from Bruno Haible.
50015
50016 2008-10-17  Bruno Haible  <bruno@clisp.org>
50017
50018         New implementation of condition variables for Win32.
50019         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
50020         (gl_linked_waitqueue_t): New type.
50021         (gl_cond_t): Use it.
50022         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
50023         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
50024         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
50025         (glthread_cond_init_func, glthread_cond_wait_func,
50026         glthread_cond_timedwait_func, glthread_cond_signal_func,
50027         glthread_cond_broadcast_func, glthread_cond_destroy_func):
50028         Reimplemented on the basis of gl_linked_waitqueue_t.
50029         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
50030         gl_waitqueue_t.
50031         (gl_rwlock_t): Update.
50032         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
50033
50034 2008-10-17  Simon Josefsson  <simon@josefsson.org>
50035
50036         * modules/recvfrom (Depends-on): Add dependency on getpeername.
50037         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50038
50039 2008-10-17  Jim Meyering  <meyering@redhat.com>
50040
50041         ignore-value: new module
50042         * modules/ignore-value: New file.
50043         * lib/ignore-value.h: New file.
50044         * MODULES.html.sh (Compiler warning management): New section,
50045         just for this module.  More to come.
50046
50047 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50048
50049         open-safer.c: avoid 'signed and unsigned in conditional...' warning
50050         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
50051         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
50052
50053 2008-10-16  Jim Meyering  <meyering@redhat.com>
50054
50055         openat-die.c: avoid 'no previous prototype' warning
50056         * lib/openat-die.c: Include "openat.h".
50057         Reported by Reuben Thomas <rrt@sc3d.org>.
50058
50059 2008-10-16  Simon Josefsson  <simon@josefsson.org>
50060
50061         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
50062         * lib/netdb.in.h: Fix typo.
50063         Reported by Bruno Haible  <bruno@clisp.org>
50064
50065         * lib/netdb.in.h: Include sys/socket.h for platforms without
50066         netdb.h, to get structures like hostent on MinGW.
50067         * modules/netdb (Depends-on): Add sys_socket.
50068
50069 2008-10-15  Simon Josefsson  <simon@josefsson.org>
50070
50071         * modules/netdb, modules/netdb-tests: New file.
50072         * m4/netdb_h.m4: New file.
50073         * lib/netdb.in.h: Add, currently just an empty file pending
50074         definitions.
50075         * tests/test-netdb.c: New file.
50076         * doc/posix-headers/netdb.texi: Mention that we replace it if
50077         needed.
50078         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50079         netdb.
50080
50081 2008-10-15  Simon Josefsson  <simon@josefsson.org>
50082
50083         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
50084         with code.
50085
50086 2008-10-13  Bruno Haible  <bruno@clisp.org>
50087
50088         * lib/glthread/cond.c (glthread_cond_wait_func,
50089         glthread_cond_timedwait_func): Add a comment.
50090
50091 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50092
50093         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
50094         * tests/test-select.c: Likewise,
50095
50096 2008-10-13  Bruno Haible  <bruno@clisp.org>
50097
50098         * lib/glthread/cond.c (glthread_cond_wait_func,
50099         glthread_cond_timedwait_func): Fix variable name.
50100         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50101
50102 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
50103
50104         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
50105         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
50106         struct sockaddr.sa_len.
50107         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
50108
50109 2008-10-13  Simon Josefsson  <simon@josefsson.org>
50110
50111         * build-aux/pmccabe2html: Add css and css_url parameters.
50112
50113 2008-10-12  Bruno Haible  <bruno@clisp.org>
50114
50115         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
50116         calling aclx_get.
50117         Reported by Rainer Tammer <tammer@tammer.net>.
50118
50119 2008-10-12  Bruno Haible  <bruno@clisp.org>
50120
50121         Use msvcrt aware primitives for creation/termination of Win32 threads.
50122         * lib/glthread/thread.c: Include <process.h>.
50123         (glthread_create_func): Use _beginthreadex instead of CreateThread.
50124         (wrapper_func): Update signature.
50125         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
50126
50127 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50128             Bruno Haible  <bruno@clisp.org>
50129
50130         Provide a Win32 implementation of the 'cond' module.
50131         * lib/glthread/cond.h [USE_WIN32]: New implementation.
50132         * lib/glthread/cond.c (glthread_cond_init_func,
50133         glthread_cond_wait_func, glthread_cond_timedwait_func,
50134         glthread_cond_signal_func, glthread_cond_broadcast_func,
50135         glthread_cond_destroy_func) [USE_WIN32]: New functions.
50136         * modules/cond (Dependencies): Add gettimeofday.
50137
50138 2008-10-11  Bruno Haible  <bruno@clisp.org>
50139
50140         Make sleep work on older versions of mingw.
50141         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
50142         only whether it exists.
50143         * doc/posix-functions/sleep.texi: Mention the problem with older
50144         versions of mingw.
50145
50146 2008-10-11  Bruno Haible  <bruno@clisp.org>
50147
50148         New module 'shutdown'.
50149         * modules/shutdown: New file.
50150         * lib/sys_socket.in.h (shutdown): New declaration.
50151         * lib/winsock.c (shutdown): New function.
50152         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
50153         GNULIB_SHUTDOWN.
50154         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
50155         * doc/posix-functions/shutdown.texi: Document the new module.
50156
50157 2008-10-11  Jim Meyering  <meyering@redhat.com>
50158
50159         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
50160
50161 2008-10-11  Bruno Haible  <bruno@clisp.org>
50162
50163         New module 'fclose'.
50164         * modules/fclose: New file.
50165         * lib/stdio.in.h (fclose): New declaration.
50166         * lib/fclose.c: New file.
50167         * m4/fclose.m4: New file.
50168         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
50169         REPLACE_FCLOSE.
50170         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
50171         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
50172         REPLACE_FCLOSE.
50173         * modules/close (Depends-on): fclose.
50174         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
50175
50176 2008-10-11  Bruno Haible  <bruno@clisp.org>
50177
50178         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
50179         set errno and don't call _close.
50180
50181 2008-10-10  Bruno Haible  <bruno@clisp.org>
50182
50183         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
50184         ACL, not afterwards. Fixes test failure on Cygwin.
50185
50186 2008-10-09  Ben Pfaff  <blp@gnu.org>
50187
50188         * build-aux/announce-gen: Fix gnulib version related part of usage
50189         message.  Die with a useful error message if no tarballs are
50190         found.
50191
50192 2008-10-10  Jim Meyering  <meyering@redhat.com>
50193
50194         bootstrap: use git's --depth=N option only if it's supported
50195         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
50196         recognize the --depth option.  Reported by Pádraig Brady.
50197
50198 2008-10-09  Bruno Haible  <bruno@clisp.org>
50199
50200         New module 'ioctl'.
50201         * modules/ioctl: New file.
50202         * lib/sys_socket.in.h (ioctl): Remove declaration.
50203         * lib/winsock.c: Include <sys/ioctl.h>.
50204         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
50205         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50206         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
50207         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
50208         * doc/posix-functions/ioctl.texi: Mention the new module.
50209
50210 2008-10-09  Bruno Haible  <bruno@clisp.org>
50211
50212         New module 'sys_ioctl'.
50213         * lib/sys_ioctl.in.h: New file.
50214         * m4/sys_ioctl_h.m4: New file.
50215         * modules/sys_ioctl: New file.
50216         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
50217
50218 2008-10-09  Bruno Haible  <bruno@clisp.org>
50219
50220         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
50221         * lib/winsock.c: Include <stdarg.h>.
50222         (rpl_ioctl): Change to second argument 'int' and then varargs.
50223
50224 2008-10-09  Bruno Haible  <bruno@clisp.org>
50225
50226         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
50227         when the sys_socket module is present and the system has <winsock2.h>.
50228
50229 2008-10-09  Bruno Haible  <bruno@clisp.org>
50230
50231         * doc/posix-functions/close.texi: Mention module 'close' instead of
50232         module 'sys_socket'.
50233
50234 2008-10-09  Bruno Haible  <bruno@clisp.org>
50235
50236         * doc/glibc-headers/sys_ioctl.texi: New file.
50237         * doc/gnulib.texi: Include it.
50238
50239 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50240             Bruno Haible  <bruno@clisp.org>
50241
50242         Combine the two replacements of 'close'.
50243         * lib/sys_socket.in.h (close): Define to a reminder to include
50244         <unistd.h>.
50245         (_gl_close_fd_maybe_socket): New declaration.
50246         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50247         * lib/winsock.c (close): Remove undefinition.
50248         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50249         needed for the gnulib module 'close'.
50250         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50251         define to an error symbol or to a warning, if suitable.
50252         * lib/close.c: Include <sys/socket.h>.
50253         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50254         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50255         UNISTD_H_HAVE_WINSOCK2_H.
50256         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50258         UNISTD_H_HAVE_WINSOCK2_H.
50259         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50260         (configure.ac): Set a module indicator.
50261         (Makefile.am): Substitute GNULIB_CLOSE.
50262         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50263         * modules/poll-tests (Depends-on): Add close.
50264         * modules/select-tests (Depends-on): Likewise.
50265
50266 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50267             Bruno Haible  <bruno@clisp.org>
50268
50269         New module 'close'.
50270         * modules/close: New file.
50271         * lib/unistd.in.h (close): Move declaration out of the
50272         FCHDIR_REPLACEMENT scope.
50273         (_gl_unregister_fd): New declaration.
50274         * lib/close.c: New file.
50275         * lib/fchdir.c (rpl_close): Remove function.
50276         * m4/close.m4: New file.
50277         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50278         close.
50279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50280         REPLACE_CLOSE.
50281         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50282         REPLACE_CLOSE.
50283         * modules/fchdir (Depends-on): Add close.
50284
50285 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50286             Bruno Haible  <bruno@clisp.org>
50287
50288         * lib/fcntl.in.h (open): Simplify conditionals.
50289         (_gl_register_fd): New declaration.
50290         * lib/fchdir.c (rpl_open): Remove function.
50291         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50292         also.
50293         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50294         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50295         open.
50296
50297 2008-10-09  Jim Meyering  <meyering@redhat.com>
50298
50299         GNUmakefile: use the more name-space-friendly "_version"
50300         * top/GNUmakefile (_dummy): Update.
50301         (_version): Rename from "version".
50302
50303 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50304             Bruno Haible  <bruno@clisp.org>
50305
50306         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50307         rpl_close.
50308         (_gl_register_fd): New function, extracted from rpl_open.
50309         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50310         (rpl_open, rpl_opendir): Use _gl_register_fd.
50311
50312 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50313
50314         Fix organization of 'open' replacement.
50315         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50316         (gl_FUNC_OPEN): Use it.
50317         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50318
50319 2008-10-08  Bruno Haible  <bruno@clisp.org>
50320
50321         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50322
50323 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50324
50325         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50326         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50327         listen).
50328
50329 2008-10-08  Eric Blake  <ebb9@byu.net>
50330
50331         GNUmakefile: add 'make version' target
50332         * top/GNUmakefile (_curr-ver): Split version update rules...
50333         (version): ...into a target.
50334
50335 2008-10-07  Bruno Haible  <bruno@clisp.org>
50336
50337         Use a more portable replacement expression for -0.0L.
50338         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
50339         instead of -0.0L. Fix m4 quotation.
50340
50341         * tests/test-signbit.c: Include <float.h>.
50342         (minus_zero): New variable.
50343         (test_signbitl): Use minus_zero instead of -zero.
50344         * modules/signbit-tests (Depends-on): Add float.
50345
50346         * tests/test-ceill.c: Include <float.h>.
50347         (zero): Remove variable.
50348         (minus_zero): New variable.
50349         (main): Use minus_zero instead of -zero.
50350         * modules/ceill-tests (Depends-on): Add float.
50351
50352         * tests/test-floorl.c: Include <float.h>.
50353         (zero): Remove variable.
50354         (minus_zero): New variable.
50355         (main): Use minus_zero instead of -zero.
50356         * modules/floorl-tests (Depends-on): Add float.
50357
50358         * tests/test-roundl.c: Include <float.h>.
50359         (zero): Remove variable.
50360         (minus_zero): New variable.
50361         (main): Use minus_zero instead of -zero.
50362         * modules/roundl-tests (Depends-on): Add float.
50363
50364         * tests/test-truncl.c: Include <float.h>.
50365         (zero): Remove variable.
50366         (minus_zero): New variable.
50367         (main): Use minus_zero instead of -zero.
50368         * modules/truncl-tests (Depends-on): Add float.
50369
50370         * tests/test-frexpl.c (zero): Remove variable.
50371         (minus_zero): New variable.
50372         (main): Use minus_zero instead of -zero.
50373         * modules/frexpl-tests (Depends-on): Add float.
50374
50375         * tests/test-isnan.c (zerol): Remove variable.
50376         (minus_zerol): New variable.
50377         (test_long_double): Use minus_zerol instead of -zerol.
50378         * modules/isnan-tests (Depends-on): Add float.
50379
50380         * tests/test-isnanl.h (zero): Remove variable.
50381         (minus_zero): New variable.
50382         (main): Use minus_zero instead of -zero.
50383         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50384         * modules/isnanl-tests (Depends-on): Add float.
50385
50386         * tests/test-ldexpl.c (zero): Remove variable.
50387         (minus_zero): New variable.
50388         (main): Use minus_zero instead of -zero.
50389         * modules/ldexpl-tests (Depends-on): Add float.
50390
50391         * tests/test-snprintf-posix.h (zerol): Remove variable.
50392         (minus_zerol): New variable.
50393         (test_function): Use minus_zerol instead of -zerol.
50394         * modules/snprintf-posix-tests (Depends-on): Add float.
50395         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50396
50397         * tests/test-sprintf-posix.h (zerol): Remove variable.
50398         (minus_zerol): New variable.
50399         (test_function): Use minus_zerol instead of -zerol.
50400         * modules/sprintf-posix-tests (Depends-on): Add float.
50401         * modules/vsprintf-posix-tests (Depends-on): Add float.
50402
50403         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50404         (minus_zerol): New variable.
50405         (test_function): Use minus_zerol instead of -zerol.
50406         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50407
50408         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50409         (minus_zerol): New variable.
50410         (test_function): Use minus_zerol instead of -zerol.
50411         * modules/vasprintf-posix-tests (Depends-on): Add float.
50412
50413 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50414
50415         * MODULES.html.sh (Support for building documentation): Mention
50416         pmccabe2html.  Sort entries.
50417
50418         Add pmccabe2html module, from gnupdf.
50419         * build-aux/pmccabe.css: New file.
50420         * build-aux/pmccabe2html: New file.
50421         * m4/pmccabe2html.m4: New file.
50422         * modules/pmccabe2html: New file.
50423
50424 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50425
50426         flock: new module
50427         * MODULES.html.sh: Add to list of modules.
50428         * lib/flock.c: flock implementation for Windows and Unix systems
50429         which have fcntl.
50430         * doc/glibc-functions/flock.texi: Update documentation.
50431         * lib/sys_file.in.h: <sys/file.h> header file.
50432         * m4/flock.m4: M4 macros.
50433         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50434         * modules/flock: flock module.
50435         * modules/flock-tests: flock tests module.
50436         * modules/sys_file: sys/file.h module.
50437         * tests/test-flock.c: test suite for flock.
50438
50439 2008-10-06  Jim Meyering  <meyering@redhat.com>
50440
50441         bootstrap: check for LT_INIT more portably still ;-)
50442         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50443         Spotted by Bruno Haible.
50444
50445 2008-10-06  Eric Blake  <ebb9@byu.net>
50446
50447         test-signbit: avoid tripping Irix cc bug on -0.0L
50448         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50449         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50450         entire testsuite consistent and avoids an Irix 6.2 bug.
50451
50452 2008-10-05  Bruno Haible  <bruno@clisp.org>
50453             Jim Meyering  <jim@meyering.net>
50454
50455         Add an option for ignoring EPIPE during close_stdout.
50456         * lib/closeout.h: Include <stdbool.h>.
50457         (close_stdout_set_ignore_EPIPE): New declaration.
50458         * lib/closeout.c: Include <stdbool.h>.
50459         (ignore_EPIPE): New variable.
50460         (close_stdout_set_ignore_EPIPE): New function.
50461         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50462         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50463         failure.
50464         * modules/closeout (Depends-on): Add stdbool.
50465
50466 2008-10-05  Bruno Haible  <bruno@clisp.org>
50467
50468         * modules/accept: New file.
50469         * modules/bind: New file.
50470         * modules/connect: New file.
50471         * modules/getpeername: New file.
50472         * modules/getsockname: New file.
50473         * modules/getsockopt: New file.
50474         * modules/listen: New file.
50475         * modules/recv: New file.
50476         * modules/recvfrom: New file.
50477         * modules/send: New file.
50478         * modules/sendto: New file.
50479         * modules/setsockopt: New file.
50480         * modules/socket: New file.
50481         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50482         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50483         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50484         the particular module is requested. Add a link warning when the
50485         particular module is not requested.
50486         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50487         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50488         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50489         the particular module is requested.
50490         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50491         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50492         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50493         * modules/sys_socket (Depends-on): Add link-warning.
50494         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50495         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50496         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50497         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50498         GL_LINK_WARNING.
50499         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50500         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50501         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50502         * doc/posix-functions/getpeername.texi: Mention the new module
50503         'getpeername'.
50504         * doc/posix-functions/getsockname.texi: Mention the new module
50505         'getsockname'.
50506         * doc/posix-functions/getsockopt.texi: Mention the new module
50507         'getsockopt'.
50508         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50509         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50510         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50511         * doc/posix-functions/send.texi: Mention the new module 'send'.
50512         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50513         * doc/posix-functions/setsockopt.texi: Mention the new module
50514         'setsockopt'.
50515         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50516         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50517         listen, connect, accept.
50518         * modules/select-tests (Depends-on): Likewise.
50519
50520 2008-10-05  Bruno Haible  <bruno@clisp.org>
50521
50522         * lib/winsock.c (strerror): Remove unused #undef.
50523         (rpl_close): Remove unused local variable.
50524
50525         * modules/sys_socket (Depends-on); Add errno.
50526
50527 2008-10-05  Bruno Haible  <bruno@clisp.org>
50528
50529         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50530         (select): Add a link warning when the 'select' module is not used.
50531         * modules/sys_select (Depends-on): Add link-warning.
50532         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50533         Suggested by Paolo Bonzini.
50534
50535 2008-10-05  Jim Meyering  <meyering@redhat.com>
50536
50537         bootstrap: check for LT_INIT more portably
50538         * build-aux/bootstrap: Avoid using grep -E, since it's not
50539         portable enough.  Suggestion from Bruno Haible.
50540
50541 2008-10-05  Bruno Haible  <bruno@clisp.org>
50542
50543         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50544         as being fixed by gnulib.
50545
50546 2008-10-05  Bruno Haible  <bruno@clisp.org>
50547
50548         * modules/select-tests: New file, mostly copied from
50549         modules/sys_select-tests.
50550         * tests/test-select.c: New file, mostly copied from
50551         tests/test-sys_select.c.
50552         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50553         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50554         (Makefile.am): Remove test_sys_select_LDADD.
50555
50556         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50557         to an undefined symbol, for an error message.
50558         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50559         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50560         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50561         winsock-select.c here.
50562         * modules/sys_select (Files): Remove lib/winsock-select.c.
50563         (Depends-on): Remove alloca.
50564         (Makefile.am): Substitute GNULIB_SELECT.
50565         * modules/select: New file.
50566         * doc/posix-functions/select.texi: Update.
50567
50568 2008-10-05  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50571         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50572         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50573         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50574         getdtablesize.
50575         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50576         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50577
50578 2008-10-05  Bruno Haible  <bruno@clisp.org>
50579
50580         * modules/getdtablesize-tests: New file.
50581         * tests/test-getdtablesize.c: New file.
50582
50583         New module 'getdtablesize'.
50584         * lib/unistd.in.h (getdtablesize): New declaration.
50585         * lib/getdtablesize.c: New file.
50586         * m4/getdtablesize.m4: New file.
50587         * modules/getdtablesize: New file.
50588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50589         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50590         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50591         HAVE_GETDTABLESIZE.
50592         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50593
50594 2008-10-05  Bruno Haible  <bruno@clisp.org>
50595
50596         * modules/sched (Makefile.am): Fix typo.
50597         Reported by Simon Josefsson.
50598
50599 2008-10-05  Jim Meyering  <meyering@redhat.com>
50600
50601         bootstrap: check for LT_INIT, too
50602         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50603         are deprecated.  Suggestion from Ralf Wildenhues.
50604
50605 2008-10-05  Bruno Haible  <bruno@clisp.org>
50606
50607         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50608         overriding them by ours.
50609         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50610
50611 2008-10-05  Jim Meyering  <meyering@redhat.com>
50612
50613         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50614         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50615         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50616
50617 2008-10-04  Bruno Haible  <bruno@clisp.org>
50618
50619         * modules/dup2 (License): Change to LGPLv2+.
50620         * modules/sleep (License): Likewise.
50621         * modules/perror (License): Likewise.
50622         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50623         Blake.
50624         * modules/signal (License): Likewise.
50625         * modules/sigprocmask (License): Likewise.
50626         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50627         Meyering.
50628
50629 2008-10-04  Bruno Haible  <bruno@clisp.org>
50630
50631         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50632         Reported by Rainer Tammer <tammer@tammer.net>.
50633
50634 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50635             Bruno Haible  <bruno@clisp.org>
50636
50637         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50638         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50639         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50640
50641 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50642
50643         filevercmp: new module
50644         * lib/filevercmp.h: New function filevercmp comparing version strings.
50645         * lib/filevercmp.c: Implementation of filevercmp function.
50646         * modules/filevercmp: Module metadata.
50647         * tests/test-filevercmp.c: Unit test for new module.
50648         * modules/filevercmp-tests: Unit test metadata.
50649         * MODULES.html.sh: Add filevercmp module.
50650
50651 2008-10-03  Bruno Haible  <bruno@clisp.org>
50652
50653         * lib/c-ctype.h: Add comment.
50654         Reported by Jim Meyering.
50655
50656 2008-10-02  Bruno Haible  <bruno@clisp.org>
50657
50658         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50659
50660 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50661
50662         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50663         name of bootstrap.conf accordingly.
50664
50665 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50666
50667         * build-aux/bootstrap: Install git-merge-changelog configuration
50668         items into .gitconfig if needed.
50669
50670 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50671
50672         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50673         git repository, and initialize/update it accordingly.
50674
50675 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50676
50677         * modules/fsync-tests: New file.
50678         * tests/test-fsync.c: New file.
50679
50680         New module 'fsync'.
50681         * lib/fsync.c: New file.
50682         * m4/fsync.m4: New file.
50683         * modules/fsync: New file.
50684         * lib/unistd.in.h (fsync): New declaration.
50685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50686         GNULIB_FSYNC and HAVE_FSYNC.
50687         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50688         * MODULES.html.sh (posix_functions): Add fsync.
50689         * doc/posix-functions/fsync.texi: Mention the new module.
50690
50691 2008-10-02  Jim Meyering  <meyering@redhat.com>
50692
50693         fts.c: sync with similar code from coreutils' remove.c
50694         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50695         Guard also with "#if defined __linux__", since for now at least,
50696         this code is Linux-kernel-specific.
50697
50698 2008-10-02  Jim Meyering  <meyering@redhat.com>
50699
50700         fts: bug fixes
50701         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50702         Include <sys/vfs.h>, not <sys/statfs.h>.
50703
50704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50705         Include <sys/vfs.h>, not <sys/statfs.h>.
50706
50707 2008-10-01  Bruno Haible  <bruno@clisp.org>
50708
50709         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50710         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50711         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50712         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50713         * doc/posix-functions/posix_spawnp.texi: Likewise.
50714         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50715         whether posix_spawn actually works.
50716         * m4/pipe.m4 (gl_PIPE): Likewise.
50717         * modules/execute (Files): Add m4/posix_spawn.m4.
50718         * modules/pipe (Files): Add m4/posix_spawn.m4.
50719         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50720
50721 2008-10-01  Jim Meyering  <meyering@redhat.com>
50722
50723         remove trailing spaces
50724         * NEWS: Likewise.
50725         * lib/poll.c (poll): Likewise.
50726         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50727         * lib/winsock.c (rpl_close): Likewise.
50728         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50729         * modules/yield: Likewise.
50730         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50731         * tests/test-sys_select.c (connect_to_socket): Likewise.
50732
50733         fts.c: adjust a new interface to be more generally useful
50734         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50735         (fts_build): Adjust caller.
50736
50737 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50738
50739         * modules/cond-tests: New file.
50740         * tests/test-cond.c: New file.
50741
50742 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50743             Bruno Haible  <bruno@clisp.org>
50744
50745         * modules/cond (Dependencies): Add errno, time.
50746         * lib/glthread/cond.h: Include <time.h>.
50747         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50748         across platforms.
50749
50750 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50751             Bruno Haible  <bruno@clisp.org>
50752
50753         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50754
50755 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50756             Bruno Haible  <bruno@clisp.org>
50757
50758         * modules/tls-tests (Depends-on): Add thread, yield.
50759         (configure.ac): Remove all checks.
50760         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50761         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50762         gl_thread_self): Remove definitions. Include glthread/thread.h and
50763         glthread/yield.h instead.
50764         (test_tls): Pass an additional NULL argument to gl_thread_join.
50765
50766 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50767             Bruno Haible  <bruno@clisp.org>
50768
50769         * modules/lock-tests (Depends-on): Add thread, yield.
50770         (configure.ac): Remove all checks.
50771         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50772         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50773         gl_thread_self): Remove definitions. Include glthread/thread.h and
50774         glthread/yield.h instead.
50775         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50776         additional NULL argument to gl_thread_join.
50777
50778 2008-09-30  Bruno Haible  <bruno@clisp.org>
50779
50780         Fix the Win32 implementation of the 'thread' module.
50781         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50782         pointer type.
50783         (gl_thread_self): Invoke gl_thread_self_func.
50784         (gl_thread_self_func): New declaration.
50785         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50786         (do_init_self_key, init_self_key): New functions.
50787         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50788         Remove some fields.
50789         (running_threads, running_lock): Remove variables.
50790         (get_current_thread_handle): New function.
50791         (gl_thread_self_func, wrapper_func, glthread_create_func,
50792         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50793         simplified.
50794
50795 2008-09-30  Bruno Haible  <bruno@clisp.org>
50796
50797         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50798         files.
50799
50800 2008-09-30  Jim Meyering  <meyering@redhat.com>
50801
50802         fts.m4: correct the test for statfs.f_type
50803         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50804         when checking for statfs.f_type.
50805
50806 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50807
50808         tests: avoid some compiler warnings
50809         * tests/test-memchr.c (main): Pass NULL indirectly.
50810         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50811
50812 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
50813
50814         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50815         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50816         exactly specified dayshifts.
50817         (dayshift): New rule.
50818         (rel): Add dayshift.
50819         (relative_time_table) [tomorrow, yesterday, today, now]:
50820         Use tDAY_SHIFT in place of tDAY_UNIT.
50821         * tests/test-getdate.c: Add tests for now-disallowed countable
50822         dayshifts, e.g., "4 yesterday ago".
50823
50824 2008-09-29  Bruno Haible  <bruno@clisp.org>
50825
50826         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50827         * tests/test-posix_spawn1.in.sh: Renamed from
50828         tests/test-posix_spawn.in.sh.
50829         * tests/test-posix_spawn2.c: New file.
50830         * tests/test-posix_spawn2.in.sh: New file.
50831         * modules/posix_spawnp-tests (Files): Update.
50832         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50833
50834 2008-09-29  Bruno Haible  <bruno@clisp.org>
50835
50836         Propagate effects of putenv/setenv/unsetenv to child processes.
50837         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50838         * lib/pipe.c (create_pipe): Likewise.
50839
50840 2008-09-29  Bruno Haible  <bruno@clisp.org>
50841
50842         Enable use of shell scripts as executables in mingw.
50843         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50844         run the program as a shell script.
50845         * lib/pipe.c (create_pipe): Likewise.
50846         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50847         resulting array.
50848
50849 2008-09-29  Eric Blake  <ebb9@byu.net>
50850
50851         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50852
50853 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50854
50855         * doc/posix-functions/accept.texi: Update mingw problems.
50856         * doc/posix-functions/bind.texi: Update mingw problems.
50857         * doc/posix-functions/close.texi: Update mingw problems.
50858         * doc/posix-functions/connect.texi: Update mingw problems.
50859         * doc/posix-functions/getpeername.texi: Update mingw problems.
50860         * doc/posix-functions/getsockname.texi: Update mingw problems.
50861         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50862         * doc/posix-functions/ioctl.texi: Update mingw problems.
50863         * doc/posix-functions/listen.texi: Update mingw problems.
50864         * doc/posix-functions/recv.texi: Update mingw problems.
50865         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50866         * doc/posix-functions/select.texi: Update mingw problems.
50867         * doc/posix-functions/send.texi: Update mingw problems.
50868         * doc/posix-functions/sendto.texi: Update mingw problems.
50869         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50870         * doc/posix-functions/socket.texi: Update mingw problems.
50871
50872 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50873             Bruno Haible  <bruno@clisp.org>
50874
50875         * lib/sys_select.in.h: Include sys/time.h.
50876         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50877         * modules/sys_select: Depend on sys_time.
50878         * tests/test-sys_select.c: Test that sys/select.h defines struct
50879         timeval fully.
50880
50881 2008-09-29  Bruno Haible  <bruno@clisp.org>
50882
50883         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50884         * lib/sys_select.in.h: Likewise.
50885
50886 2008-09-29  Bruno Haible  <bruno@clisp.org>
50887
50888         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50889
50890 2008-09-29  Bruno Haible  <bruno@clisp.org>
50891
50892         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50893         Set LIBSOCKET instead of augmenting LIBS.
50894         * modules/sockets (Link): New section.
50895         * modules/sockets-tests (test_sockets_LDADD): New variable.
50896         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50897         * modules/poll-tests (test_poll_LDADD): New variable.
50898         * NEWS: Document the change.
50899
50900 2008-09-29  Bruno Haible  <bruno@clisp.org>
50901
50902         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50903         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50904         ARPA_INET_H directly.
50905         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50906
50907 2008-09-28  Bruno Haible  <bruno@clisp.org>
50908
50909         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50910         from gl_HEADER_SYS_SOCKET.
50911         (gl_HEADER_SYS_SOCKET): Invoke it.
50912         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50913
50914 2008-09-28  Bruno Haible  <bruno@clisp.org>
50915
50916         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50917         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50918         Needed on OSF/1 4.0.
50919
50920 2008-09-28  Bruno Haible  <bruno@clisp.org>
50921
50922         Override open more carefully.
50923         * lib/open.c (orig_open): New function.
50924         (rpl_open): Use orig_open instead of open.
50925         * lib/fcntl.in.h: Add special invocation convention.
50926         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50927         (gl_FUNC_OPEN): Invoke it.
50928
50929         Override freopen more carefully.
50930         * lib/freopen.c (orig_freopen): New function.
50931         (rpl_freopen): Use orig_freopen instead of freopen.
50932         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50933         (gl_FUNC_FREOPEN): Invoke it.
50934
50935         Override fopen more carefully.
50936         * lib/fopen.c (orig_fopen): New function.
50937         (rpl_fopen): Use orig_fopen instead of fopen.
50938         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50939         (gl_FUNC_FOPEN): Invoke it.
50940         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50941
50942 2008-09-28  Bruno Haible  <bruno@clisp.org>
50943
50944         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50945         SIGPIPE.
50946
50947 2008-09-28  Bruno Haible  <bruno@clisp.org>
50948
50949         * tests/test-sigaction.c (handler, main): Disable the check whether
50950         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50951         glibc systems with LinuxThreads.
50952
50953 2008-09-28  Bruno Haible  <bruno@clisp.org>
50954
50955         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50956
50957         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50958         with AIX xlc.
50959         * lib/fcntl.in.h (open): Likewise.
50960         Reported by Rainer Tammer <tammer@tammer.net>.
50961
50962 2008-09-28  Bruno Haible  <bruno@clisp.org>
50963
50964         * modules/posix_spawnp-tests: New file.
50965         * tests/test-posix_spawn.c: New file.
50966         * tests/test-posix_spawn.in.sh: New file.
50967
50968         New module 'posix_spawnp'.
50969         * modules/posix_spawnp: New file.
50970         * lib/spawnp.c: New file, from GNU libc with modifications.
50971         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50972
50973         New module 'posix_spawn'.
50974         * modules/posix_spawn: New file.
50975         * lib/spawn.c: New file, from GNU libc with modifications.
50976         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50977
50978         New module 'posix_spawnattr_destroy'.
50979         * modules/posix_spawnattr_destroy: New file.
50980         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50981         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50982         module.
50983
50984         New module 'posix_spawnattr_setsigmask'.
50985         * modules/posix_spawnattr_setsigmask: New file.
50986         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50987         modifications.
50988         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50989         new module.
50990
50991         New module 'posix_spawnattr_getsigmask'.
50992         * modules/posix_spawnattr_getsigmask: New file.
50993         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50994         modifications.
50995         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50996         new module.
50997
50998         New module 'posix_spawnattr_setsigdefault'.
50999         * modules/posix_spawnattr_setsigdefault: New file.
51000         * lib/spawnattr_setdefault.c: New file, from GNU libc with
51001         modifications.
51002         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
51003         new module.
51004
51005         New module 'posix_spawnattr_getsigdefault'.
51006         * modules/posix_spawnattr_getsigdefault: New file.
51007         * lib/spawnattr_getdefault.c: New file, from GNU libc with
51008         modifications.
51009         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
51010         new module.
51011
51012         New module 'posix_spawnattr_setschedpolicy'.
51013         * modules/posix_spawnattr_setschedpolicy: New file.
51014         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
51015         modifications.
51016         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
51017         new module.
51018
51019         New module 'posix_spawnattr_getschedpolicy'.
51020         * modules/posix_spawnattr_getschedpolicy: New file.
51021         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
51022         modifications.
51023         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
51024         new module.
51025
51026         New module 'posix_spawnattr_setschedparam'.
51027         * modules/posix_spawnattr_setschedparam: New file.
51028         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
51029         modifications.
51030         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
51031         new module.
51032
51033         New module 'posix_spawnattr_getschedparam'.
51034         * modules/posix_spawnattr_getschedparam: New file.
51035         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
51036         modifications.
51037         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
51038         new module.
51039
51040         New module 'posix_spawnattr_setpgroup'.
51041         * modules/posix_spawnattr_setpgroup: New file.
51042         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
51043         modifications.
51044         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
51045         module.
51046
51047         New module 'posix_spawnattr_getpgroup'.
51048         * modules/posix_spawnattr_getpgroup: New file.
51049         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
51050         modifications.
51051         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
51052         module.
51053
51054         New module 'posix_spawnattr_setflags'.
51055         * modules/posix_spawnattr_setflags: New file.
51056         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
51057         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
51058         module.
51059
51060         New module 'posix_spawnattr_getflags'.
51061         * modules/posix_spawnattr_getflags: New file.
51062         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
51063         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
51064         module.
51065
51066         New module 'posix_spawnattr_init'.
51067         * modules/posix_spawnattr_init: New file.
51068         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
51069         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
51070         module.
51071
51072         New module 'posix_spawn_file_actions_destroy'.
51073         * modules/posix_spawn_file_actions_destroy: New file.
51074         * lib/spawn_faction_destroy.c: New file, from GNU libc with
51075         modifications.
51076         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
51077         the new module.
51078
51079         New module 'posix_spawn_file_actions_addopen'.
51080         * modules/posix_spawn_file_actions_addopen: New file.
51081         * lib/spawn_faction_addopen.c: New file, from GNU libc with
51082         modifications.
51083         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
51084         the new module.
51085
51086         New module 'posix_spawn_file_actions_adddup2'.
51087         * modules/posix_spawn_file_actions_adddup2: New file.
51088         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
51089         modifications.
51090         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
51091         the new module.
51092
51093         New module 'posix_spawn_file_actions_addclose'.
51094         * modules/posix_spawn_file_actions_addclose: New file.
51095         * lib/spawn_faction_addclose.c: New file, from GNU libc with
51096         modifications.
51097         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
51098         the new module.
51099
51100         New module 'posix_spawn_file_actions_init'.
51101         * modules/posix_spawn_file_actions_init: New file.
51102         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
51103         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
51104         new module.
51105
51106         New module 'posix_spawn-internal'.
51107         * modules/posix_spawn-internal: New file.
51108         * lib/spawn_int.h: New file, from GNU libc with modifications.
51109         * lib/spawni.c: New file, from GNU libc with modifications.
51110         * m4/posix_spawn.m4: New file.
51111
51112         New module 'spawn'.
51113         * modules/spawn: New file.
51114         * lib/spawn.in.h: New file, from GNU libc with modifications.
51115         * m4/spawn_h.m4: New file.
51116         * doc/posix-headers/spawn.texi: Mention the new module.
51117
51118 2008-09-28  Bruno Haible  <bruno@clisp.org>
51119
51120         * modules/sched-tests: New file.
51121         * tests/test-sched.c: New file.
51122
51123         New module 'sched'.
51124         * modules/sched: New file.
51125         * lib/sched.in.h: New file.
51126         * m4/sched_h.m4: New file.
51127         * doc/posix-headers/sched.texi: Mention the new module.
51128
51129 2008-09-27  Eric Blake  <ebb9@byu.net>
51130
51131         Fix previous patch, and tweak references to $0.
51132         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
51133         (func_version, func_gnulib_dir): Don't call this program
51134         gnulib-tool.
51135         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
51136         with using $0 in function.
51137         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
51138         (func_fatal_error): Reuse the name the user invoked us with.
51139
51140 2008-09-27  Bruno Haible  <bruno@clisp.org>
51141
51142         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
51143         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
51144         (gl_ICONV_H): Not here.
51145         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
51146         instead of assigning ICONV_H directly.
51147
51148         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
51149         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
51150         WCHAR_H directly.
51151
51152 2008-09-27  Bruno Haible  <bruno@clisp.org>
51153
51154         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
51155         * modules/arpa_inet (Depends-on): Add link-warning.
51156         (Makefile.am): Insert the definition of GL_LINK-WARNING.
51157         * modules/unistd (Makefile.am): Likewise.
51158
51159 2008-09-26  Bruno Haible  <bruno@clisp.org>
51160
51161         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
51162         variables.
51163         (func_version): Essentially copied from gnulib-tool.
51164         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
51165         func_readlink): Copied from gnulib-tool.
51166
51167 2008-09-26  Bruno Haible  <bruno@clisp.org>
51168
51169         * gnulib-tool (func_version): Change directory to $gnulib_dir before
51170         invoking git-version-gen.
51171
51172 2008-09-26  Bruno Haible  <bruno@clisp.org>
51173
51174         * posix-modules: Update to directory names changed on 2008-01-19.
51175         Remove commas in output before splitting into words. No more need to
51176         avoid 'ftruncate' since 2007-02-19.
51177
51178 2008-09-26  Bruno Haible  <bruno@clisp.org>
51179
51180         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
51181
51182 2008-09-26  Bruno Haible  <bruno@clisp.org>
51183
51184         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
51185         * modules/fwriteerror (Depends-on): Add errno.
51186
51187 2008-09-26  Bruno Haible  <bruno@clisp.org>
51188
51189         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
51190         * tests/test-vc-list-files-cvs.sh: Likewise.
51191
51192 2008-09-26  Bruno Haible  <bruno@clisp.org>
51193
51194         * doc/posix-headers/sys_resource.texi: Reorder items.
51195
51196 2008-09-26  Jim Meyering  <meyering@redhat.com>
51197
51198         fts: tweak inode comparison function
51199         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
51200         inode numbers, as documented.
51201
51202         fts: sort dirent entries on inode number before traversing
51203         This avoids a quadratic, seek-related performance penalty when
51204         operating on a directory containing many entries (measurable at 10k;
51205         3.5 hours at 2 million entries with a cold cache) on certain types
51206         of file systems, including ext3 and ext4, but not tmpfs.
51207         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
51208         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
51209         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
51210         (fs_handles_readdir_ordered_dirents_efficiently): New function.
51211         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
51212         (fts_build): Set the stat.st_ino member from D_INO.
51213         If it is likely to be useful, sort dirent entries on inode number.
51214
51215         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
51216         and the struct statfs.f_type member.
51217         * modules/fts (Depends-on): Add d-ino.
51218
51219 2008-09-26  Bruno Haible  <bruno@clisp.org>
51220
51221         * modules/sigpipe-die (Depends-on): Add sigpipe.
51222
51223         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
51224         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
51225         and GNULIB_STDIO_H_SIGPIPE are set.
51226         * lib/stdio-write.c: New file.
51227         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
51228         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51229         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51230         REPLACE_STDIO_WRITE_FUNCS.
51231         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
51232         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51233         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51234         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51235         * modules/stdio (Files): Add lib/stdio-write.c.
51236         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51237         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51238         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51239         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51240         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51241         REPLACE_FPRINTF_POSIX.
51242         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51243         REPLACE_PRINTF_POSIX.
51244         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51245         REPLACE_VFPRINTF_POSIX.
51246         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51247         REPLACE_VPRINTF_POSIX.
51248         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51249         SIGPIPE issue.
51250         * doc/posix-functions/fputc.texi: Likewise.
51251         * doc/posix-functions/fputs.texi: Likewise.
51252         * doc/posix-functions/fwrite.texi: Likewise.
51253         * doc/posix-functions/printf.texi: Likewise.
51254         * doc/posix-functions/putc.texi: Likewise.
51255         * doc/posix-functions/putchar.texi: Likewise.
51256         * doc/posix-functions/puts.texi: Likewise.
51257         * doc/posix-functions/vfprintf.texi: Likewise.
51258         * doc/posix-functions/vprintf.texi: Likewise.
51259
51260         * modules/safe-write (Depends-on): Add write.
51261
51262         * modules/sigpipe-tests: New file.
51263         * tests/test-sigpipe.c: New file.
51264         * tests/test-sigpipe.sh: New file.
51265
51266         * modules/write: New file.
51267         * lib/unistd.in.h: Include <sys/types.h>.
51268         (write): New declaration.
51269         * lib/write.c: New file.
51270         * m4/write.m4: New file.
51271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51272         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51273         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51274         GNULIB_WRITE, REPLACE_WRITE.
51275         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51276         and the SIGPIPE issue.
51277
51278         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51279         (raise): New declaration.
51280         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51281         (ext_signal): New function.
51282         (rpl_raise): New function.
51283         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51284         GNULIB_SIGNAL_H_SIGPIPE.
51285         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51286         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51287
51288         * modules/sigpipe: New file.
51289         * m4/sigpipe.m4: New file.
51290
51291 2008-09-25  Derek Price  <derek@ximbiot.com>
51292             Bruno Haible  <bruno@clisp.org>
51293
51294         * gnulib-tool (func_import): Report all license incompatibilities, not
51295         just the first one.
51296
51297 2008-09-25  Bruno Haible  <bruno@clisp.org>
51298
51299         * gnulib-tool (func_import): When computing the edits, consider not
51300         only the Makefile.ams that exist but also those that will be generated.
51301
51302 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51303
51304         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51305         fixes gnulib-tool --test warning about duplicate dependency.
51306
51307 2008-09-25  Bruno Haible  <bruno@clisp.org>
51308
51309         * gnulib-tool: Don't ask the user to perform edits in the generated
51310         Makefile.ams.
51311         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51312         apply to the Makefile.am being generated.
51313         (func_emit_tests_Makefile_am): Execute edits that apply to the
51314         Makefile.am being generated.
51315         (func_import): Setup list of Makefile.am edits before emitting the
51316         Makefile.ams, not at the end.
51317         (func_create_testdir): Update.
51318         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51319
51320 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51321
51322         * gnulib-tool (func_import): Store the --tests-base option in the
51323         comment in gnulib-cache.m4.
51324
51325 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51326
51327         * NEWS: Document increased portability that sys_select now provides.
51328
51329         * lib/sys_select.in.h: Install select wrapper.
51330         * lib/sys_socket.in.h: Use more descriptive name when there is no
51331         select wrapper.
51332         * lib/winsock-select.c: New.
51333         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
51334         Require gl_HEADER_SYS_SOCKET.
51335         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
51336         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
51337         * tests/test-sys_select.c: Add functional tests.
51338
51339 2008-09-24  Eric Blake  <ebb9@byu.net>
51340
51341         open, fopen: close fd leak in last patch
51342         * lib/open.c (rpl_open): Close fd before returning error.
51343         * lib/fopen.c (rpl_fopen): Close fd before returning error.
51344         * doc/posix-functions/open.texi (open): Document that Irix also
51345         has the bug.
51346         * doc/posix-functions/fopen.texi (fopen): Likewise.
51347         Reported by Paolo Bonzini.
51348
51349 2008-09-24  Bruno Haible  <bruno@clisp.org>
51350
51351         Ensure that a filename ending in a slash cannot be used to access a
51352         non-directory.
51353         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51354         to check whether it's really a directory.
51355         * lib/fopen.c: Include fcntl.h, unistd.h.
51356         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51357         and fdopen().
51358         * modules/fopen (Depends-on): Add unistd.
51359         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51360         * tests/test-fopen.c (main): Likewise.
51361         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51362         * doc/posix-functions/fopen.texi: Likewise.
51363         Reported by Eric Blake.
51364
51365 2008-09-23  Eric Blake  <ebb9@byu.net>
51366
51367         c-stack: avoid compiler optimizations when provoking overflow
51368         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51369         recursion harder to optimize, to ensure a stack overflow occurs.
51370         * tests/test-c-stack.c (recurse): Likewise.
51371         Borrowed from libsigsegv.
51372
51373         c-stack: work around Irix sigaltstack bug
51374         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51375         whether sigaltstack uses wrong end of stack_t (copied in part from
51376         libsigsegv).
51377         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51378         Irix bug, without requiring an over-allocation.
51379         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51380         bug.
51381
51382         fopen: document mingw bug on directories
51383         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51384         not allowing a stream visiting a directory, even though reading
51385         from such a stream is not portable.
51386
51387 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51388
51389         * lib/poll.c: Rewrite.
51390         * modules/poll: Depend on alloca.
51391
51392 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51393
51394         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51395         instead define prototypes for a full set of wrappers.  Ensure
51396         that Cygwin does not use the compatibility code, which is only
51397         for MinGW.
51398         * lib/winsock.c: New.
51399         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51400         * modules/sys_socket: Add lib/winsock.c.
51401
51402         * modules/poll-tests: Add errno and perror.
51403         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51404
51405 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51406
51407         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51408
51409 2008-09-23  Bruno Haible  <bruno@clisp.org>
51410
51411         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51412         * doc/glibc-functions/*: Likewise.
51413
51414 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51415
51416         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51417         success.
51418
51419 2008-09-22  Eric Blake  <ebb9@byu.net>
51420             Bruno Haible  <bruno@clisp.org>
51421
51422         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51423         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51424         supply %A but mishandle pseudo-NaN.
51425         Reported by Simon Josefsson.
51426
51427 2008-09-21  Bruno Haible  <bruno@clisp.org>
51428
51429         * tests/test-lock.c (main): Tweak skip message.
51430         * tests/test-tls.c (main): Likewise.
51431
51432 2008-09-21  Bruno Haible  <bruno@clisp.org>
51433
51434         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51435         whether 'struct sigaction' has sa_sigaction here...
51436         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51437         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51438
51439 2008-09-21  Bruno Haible  <bruno@clisp.org>
51440
51441         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51442         section.
51443         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51444         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51445         the new section.
51446         (Support for obsolete systems lacking POSIX:2001): New section.
51447         (String handling <string.h>): Move strdup to the new section.
51448         Suggested by Simon Josefsson and Paolo Bonzini.
51449
51450 2008-09-21  Bruno Haible  <bruno@clisp.org>
51451
51452         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51453         exponents in %e and %g results on 'long double'. Needed for mingw's
51454         improved *printf functions.
51455         * tests/test-vasprintf-posix.c (test_function): Likewise.
51456         * tests/test-snprintf-posix.h (test_function): Likewise.
51457         * tests/test-sprintf-posix.h (test_function): Likewise.
51458         Reported by Eric Blake.
51459
51460 2008-09-21  Bruno Haible  <bruno@clisp.org>
51461
51462         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51463         * tests/test-sprintf-posix.h (test_function): Likewise.
51464
51465 2008-09-21  Bruno Haible  <bruno@clisp.org>
51466
51467         * modules/getpass (Depends-on): Add strdup-posix.
51468
51469         New module 'strdup-posix'.
51470         * modules/strdup-posix: New file.
51471         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51472         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51474         REPLACE_STRDUP.
51475         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51476         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51477         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51478         strdup-posix.
51479
51480         * modules/strdup (Depends-on): Remove malloc-posix.
51481
51482 2008-09-20  Bruno Haible  <bruno@clisp.org>
51483
51484         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51485         Wildenhues.
51486
51487 2008-09-20  Bruno Haible  <bruno@clisp.org>
51488
51489         Ensure that wint_t gets defined on IRIX 5.3.
51490         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51491         * lib/wctype.in.h (wint_t): Likewise.
51492         (__wctype_wint_t): Remove type.
51493         (isw*): Use wint_t instead of __wctype_wint_t.
51494         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51495         * modules/wchar (Files): Add m4/wint_t.m4.
51496         (Makefile.am): Substitute HAVE_WINT_T.
51497         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51498         * tests/test-wctype.c: Check that wint_t is defined.
51499         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51500         * doc/posix-headers/wctype.texi: Likewise.
51501         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51502
51503 2008-09-18  Bruno Haible  <bruno@clisp.org>
51504
51505         * gnulib-tool (func_exit): Update comment.
51506
51507 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51508
51509         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51510         assumes strdup exists and does not depend on strdup to return
51511         ENOMEM on out of memory conditions.
51512
51513 2008-09-18  Bruno Haible  <bruno@clisp.org>
51514
51515         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
51516         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51517         digits for the exponent.
51518
51519 2008-09-18  Jim Meyering  <meyering@redhat.com>
51520             Bruno Haible  <bruno@clisp.org>
51521
51522         * lib/vasnprintf.c (decimal_point_char): Define also if
51523         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51524
51525 2008-09-16  Bruno Haible  <bruno@clisp.org>
51526         and Eric Blake  <ebb9@byu.net>
51527
51528         vasnprintf: support Irix 5.3
51529         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51530         that mishandle long double infinity.
51531         Reported by Tom G. Christensen.
51532
51533 2008-09-16  Bruno Haible  <bruno@clisp.org>
51534
51535         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51536         Solaris 9.
51537         * doc/glibc-functions/alphasort.texi: Likewise.
51538         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51539
51540 2008-09-16  Jim Meyering  <meyering@redhat.com>
51541
51542         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51543         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51544         a umask modification leak out of a subshell.  Otherwise, the
51545         opensolaris /bin/sh would be accepted and thus cause unwarranted
51546         failures in the coreutils test suite.
51547
51548 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51549
51550         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51551         to succeed.
51552
51553 2008-09-16  Jim Meyering  <meyering@redhat.com>
51554
51555         avoid spurious test failure when library is built without ACL support
51556         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51557         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51558         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51559         * tests/test-copy-acl.sh: Likewise.
51560
51561 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51562
51563         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51564         based on character occurrence counts.
51565
51566 2008-09-15  Eric Blake  <ebb9@byu.net>
51567
51568         tests: avoid some compiler warnings
51569         * tests/test-memchr.c (main): Pass NULL indirectly.
51570         * tests/test-closein.c (main): Avoid unused variable.
51571
51572 2008-09-15  Bruno Haible  <bruno@clisp.org>
51573
51574         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51575         are missing on OpenBSD 4.0 individually.
51576         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51577
51578 2008-09-15  Bruno Haible  <bruno@clisp.org>
51579
51580         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51581         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51582         * doc/posix-functions/perror.texi: Likewise.
51583         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51584         is missing.
51585         Reported by Eric Blake.
51586
51587         * lib/errno.in.h: Use replacement values >= 2000.
51588         Reported by Eric Blake.
51589
51590 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51591
51592         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51593         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51594         limit.
51595         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51596         compareseq was aborted.
51597
51598 2008-09-14  Bruno Haible  <bruno@clisp.org>
51599
51600         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51601         yvec_edit_count.
51602         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51603         (fstrcmp_bounded): Simplify result computation accordingly.
51604
51605 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51606
51607         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51608         (fstrcmp): Define in terms of fstrcmp_bounded.
51609         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51610         lower_bound argument.
51611         Return quickly if the result is certainly < lower_bound.
51612         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51613
51614 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51615
51616         * lib/diffseq.h (EARLY_ABORT): New macro.
51617         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51618         evaluates to true.
51619
51620 2008-09-14  Bruno Haible  <bruno@clisp.org>
51621
51622         * modules/perror-tests: New file.
51623         * tests/test-perror.sh: New file.
51624         * tests/test-perror.c: New file.
51625
51626         New module 'perror'.
51627         * lib/stdio.in.h (perror): New declaration.
51628         * lib/perror.c: New file.
51629         * m4/perror.m4: New file.
51630         * modules/perror: New file.
51631         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51632         * doc/posix-functions/perror.texi: Mention the perror module.
51633         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51634         REPLACE_PERROR.
51635         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51636         REPLACE_PERROR.
51637
51638 2008-09-14  Bruno Haible  <bruno@clisp.org>
51639
51640         * modules/stdio (Makefile.am): Reorder to match the order in
51641         lib/stdio.in.h.
51642         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51643
51644 2008-09-13  Bruno Haible  <bruno@clisp.org>
51645
51646         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51647
51648 2008-09-13  Bruno Haible  <bruno@clisp.org>
51649
51650         Extend strerror to cover the added errno values.
51651         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51652         (rpl_strerror): Provide error messages for the added errno values and
51653         for the WSA* values.
51654         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51655         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51656         strerror.
51657         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51658         * modules/strerror (Depends-on): Add errno.
51659         * doc/posix-functions/strerror.texi: Document the change.
51660         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51661         and EOVERFLOW.
51662
51663 2008-09-13  Bruno Haible  <bruno@clisp.org>
51664
51665         * modules/EOVERFLOW: Remove file.
51666         * m4/eoverflow.m4: Remove file.
51667         * modules/EOVERFLOW-tests: Remove file.
51668         * tests/test-EOVERFLOW.c: Remove file.
51669         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51670         * modules/ftell (Depends-on): Likewise.
51671         * modules/getdelim (Depends-on): Likewise.
51672         * modules/getugroups (Depends-on): Likewise.
51673         * modules/poll (Depends-on): Likewise.
51674         * modules/snprintf (Depends-on): Likewise.
51675         * modules/sprintf-posix (Depends-on): Likewise.
51676         * modules/vasnprintf (Depends-on): Likewise.
51677         * modules/vasprintf (Depends-on): Likewise.
51678         * modules/vfprintf-posix (Depends-on): Likewise.
51679         * modules/vsnprintf (Depends-on): Likewise.
51680         * modules/vsprintf-posix (Depends-on): Likewise.
51681         * modules/xvasprintf (Depends-on): Likewise.
51682         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51683         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51684         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51685         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51686         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51687         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51688         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51689         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51690         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51691         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51692         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51693         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51694         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51695         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51696         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51697         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51698         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51699         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51700         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51701         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51702         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51703         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51704         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51705         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51706         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51707         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51708         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51709         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51710         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51711         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51712         * MODULES.html.sh: Remove EOVERFLOW.
51713         * NEWS: Mention the change.
51714
51715 2008-09-13  Bruno Haible  <bruno@clisp.org>
51716
51717         * modules/errno-tests: New file.
51718         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51719
51720         * lib/errno.in.h: New file.
51721         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51722         * modules/errno: New file.
51723         * doc/posix-headers/errno.texi: Update documentation.
51724         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51725
51726 2008-09-13  Bruno Haible  <bruno@clisp.org>
51727
51728         * tests/test-poll.c: Use #if for native Windows, rather than testing
51729         __MSVCRT__.
51730
51731 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51732             Bruno Haible  <bruno@clisp.org>
51733
51734         * lib/glob.c: Don't include <pwd.h> on native Windows.
51735         (WINDOWS32): New macro.
51736         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51737
51738 2008-09-13  Bruno Haible  <bruno@clisp.org>
51739
51740         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51741         (ETIMEDOUT): Remove macro.
51742         (glthread_cond_timedwait_multithreaded): New declaration.
51743         (glthread_cond_timedwait): Use it.
51744         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51745         (glthread_cond_timedwait_multithreaded): New function.
51746
51747 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51748
51749         * modules/poll-tests: Do not check for io.h.
51750         * tests/test-poll.c: Check for __MSVCRT__ instead.
51751
51752 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51753
51754         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51755         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51756         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51757
51758 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51759
51760         * modules/poll-tests: New.
51761         * tests/test-poll.c: New.
51762
51763 2008-09-12  Eric Blake  <ebb9@byu.net>
51764
51765         frexp: test for NetBSD failure on -0.0
51766         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51767         not all, bugs from NetBSD 3.0 have been fixed.
51768         * doc/posix-functions/frexp.texi (frexp): Document bug.
51769         Reported by Thomas Klausner.
51770
51771         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51772         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51773         literal -0.0.
51774         Reported by Jonathan C. Patschke <jp@centtech.com>.
51775
51776 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51777
51778         * lib/glthread/cond.h: Use dummy implementation also if
51779         USE_WIN32_THREADS.
51780
51781 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51782
51783         * modules/fnmatch-posix (License): Change to LGPLv2+.
51784         * modules/fnmatch-gnu (License): Likewise.
51785
51786 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51787
51788         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51789
51790 2008-09-11  Jim Meyering  <meyering@redhat.com>
51791
51792         * users.txt: Add gtk-vnc.
51793
51794 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51795
51796         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51797         rotate amounts.
51798
51799         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51800         required for 16-bit and 8-bit rotates.
51801         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51802         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51803         UINT8_MAX instead of hard-coded constants.
51804         Suggested by Paul Eggert.
51805
51806 2008-09-07  Bruno Haible  <bruno@clisp.org>
51807
51808         * tests/test-striconveh.c (main): Check behaviour when converting from
51809         UTF-7.
51810
51811         Make striconveh work better with stateful encodings.
51812         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51813         that iconv does not increment the inptr when returning -1/EINVAL.
51814
51815 2008-09-07  Bruno Haible  <bruno@clisp.org>
51816
51817         * build-aux/config.rpath: Update according to libtool-2.2.6.
51818         * build-aux/config.libpath: Likewise.
51819
51820 2008-09-06  Bruno Haible  <bruno@clisp.org>
51821
51822         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51823         * lib/freadptr.c (freadptr): Likewise.
51824         * lib/freadseek.c (freadptrinc): Likewise.
51825         Reported by Simon Josefsson.
51826
51827 2008-09-06  Bruno Haible  <bruno@clisp.org>
51828
51829         * modules/freadptr (License): Change to LGPLv2+.
51830         * modules/freadseek (License): Likewise.
51831         Suggested by Eric Blake.
51832
51833         * modules/memchr2 (License): Change to LGPLv2+.
51834         Approved by Eric Blake.
51835
51836 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51837             Bruno Haible  <bruno@clisp.org>
51838
51839         Make gnulib-tool work with native 'sed' on AIX.
51840         * gnulib-tool (sed_noop): New variable.
51841         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51842         func_add_or_update, func_create_testdir): Use it to initialize sed
51843         script variables.
51844         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51845
51846 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51847             Bruno Haible  <bruno@clisp.org>
51848
51849         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51850         also works after #include directives.
51851
51852 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
51853
51854         getdate.y: reject an out-of-range timezone value
51855         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51856         the range [-24...+24].  When specified with only one or two digits,
51857         * tests/test-getdate.c: Tests for the fix.
51858         * doc/getdate.texi: Document this change.
51859
51860 2008-09-03  Bruno Haible  <bruno@clisp.org>
51861
51862         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51863
51864 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51865
51866         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51867         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51868         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51869         Blake <ebb9@byu.net>.
51870
51871         * tests/test-bitrotate.c: Add more test vectors.
51872
51873 2008-09-02  Eric Blake  <ebb9@byu.net>
51874
51875         vasnprintf-posix: handle large precision via %.*d
51876         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51877         when handling it ourselves.
51878         * tests/test-vasnprintf-posix.c (test_function): Add test.
51879         * tests/test-snprintf-posix.h (test_function): Likewise.
51880         * tests/test-sprintf-posix.h (test_function): Likewise.
51881         * tests/test-vasprintf-posix.c (test_function): Likewise.
51882         Reported by Alain Guibert.
51883
51884 2008-09-01  Eric Blake  <ebb9@byu.net>
51885
51886         c-stack: make configure-time check more robust
51887         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51888         successful sigaction call.
51889         Reported by Tom G. Christensen.
51890
51891 2008-09-01  Bruno Haible  <bruno@clisp.org>
51892
51893         New module 'findprog-lgpl'.
51894         * modules/findprog-lgpl: New file.
51895         * lib/findprog-lgpl.c: New file.
51896         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51897         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51898         to decide whether to use strdup or xstrdup, concatenated_filename or
51899         xconcatenated_filename.
51900
51901 2008-09-01  Bruno Haible  <bruno@clisp.org>
51902
51903         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51904         'xconcat-filename' (GPL).
51905         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51906         (License): Change to LGPLv2+.
51907         * modules/xconcat-filename: New file.
51908         * lib/concat-filename.h (concatenated_filename): Change specification.
51909         (xconcatenated_filename): New declaration.
51910         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51911         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51912         memory situations.
51913         * lib/xconcat-filename.c: New file.
51914         * NEWS: Mention the change.
51915         * lib/findprog.c: Include concat-filename.h, not filename.h.
51916         (find_in_path): Use xconcatenated_filename instead of
51917         concatenated_filename.
51918         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51919         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51920         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51921         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51922         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51923         instead of concatenated_filename.
51924         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51925         (execute_java_class): Use xconcatenated_filename instead of
51926         concatenated_filename.
51927         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51928         * modules/javacomp (Depends-on): Likewise.
51929         * modules/javaexec (Depends-on): Likewise.
51930
51931 2008-09-01  Bruno Haible  <bruno@clisp.org>
51932
51933         Split module 'filename' into 'filename' and 'concat-filename'.
51934         * modules/filename: Keep only lib/filename.h.
51935         (License): Change to LGPLv2+.
51936         * modules/concat-filename: New file, extracted from modules/filename.
51937         * lib/filename.h (concatenated_filename): Remove declaration.
51938         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51939         * lib/concat-filename.c: Include concat-filename.h.
51940         * NEWS: Mention the change.
51941
51942 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51943
51944         * lib/bitrotate.h (rotl8, rotr8): Add.
51945
51946         * modules/bitrotate (configure.ac): Need
51947         AC_REQUIRE([AC_C_INLINE]).
51948         (Description): Mention stdint.h.  Reported by Bruno Haible
51949         <bruno@clisp.org>.
51950
51951         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51952         Paolo Bonzini <bonzini@gnu.org>.
51953
51954 2008-08-31  Bruno Haible  <bruno@clisp.org>
51955
51956         Assume Solaris specific bi-arch conventions on Solaris systems.
51957         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51958         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51959         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51960         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51961         like acl_libdirstem.
51962         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51963         acl_libdirstem.
51964         * NEWS: Mention the change.
51965         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51966
51967 2008-08-31  Jim Meyering  <meyering@redhat.com>
51968
51969         * lib/strftime.h: Add comments describing the two added arguments.
51970
51971         remove duplicate #include directives
51972         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51973         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51974
51975 2008-08-31  Bruno Haible  <bruno@clisp.org>
51976
51977         New module 'sigpipe-die'.
51978         * modules/sigpipe-die: New file.
51979         * lib/sigpipe-die.h: New file.
51980         * lib/sigpipe-die.c: New file.
51981         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51982
51983 2008-08-31  Bruno Haible  <bruno@clisp.org>
51984
51985         Don't override previously installed signal handlers.
51986         * lib/fatal-signal.c (saved_sigactions): New variable.
51987         (uninstall_handlers): Reset the signal to the saved handler, not
51988         to SIG_DFL (except when ignored).
51989         (install_handlers): Save the previous handlers.
51990
51991 2008-08-30  Bruno Haible  <bruno@clisp.org>
51992
51993         * gnulib-tool (func_reset_sigpipe): New function.
51994         (func_get_automake_snippet, func_modules_transitive_closure,
51995         func_import): Invoke it before a join command that reads from stdin,
51996         to avoid "echo: write error: Broken pipe" error messages on stderr.
51997         Reported by Sam Steingold <sds@gnu.org>.
51998
51999 2008-08-30  Bruno Haible  <bruno@clisp.org>
52000
52001         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
52002         Code copied from m4/open.m4.
52003         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
52004         access and the filename ends in a slash. Code copied from lib/open.c.
52005         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
52006         * tests/test-fopen.c (main): Check against bug with trailing slash.
52007
52008 2008-08-29  Bruno Haible  <bruno@clisp.org>
52009
52010         Avoid some "gcc -pedantic" warnings.
52011         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
52012         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
52013         * lib/dirent.in.h: Likewise.
52014         * lib/fcntl.in.h: Likewise.
52015         * lib/float.in.h: Likewise.
52016         * lib/iconv.in.h: Likewise.
52017         * lib/inttypes.in.h: Likewise.
52018         * lib/locale.in.h: Likewise.
52019         * lib/math.in.h: Likewise.
52020         * lib/netinet_in.in.h: Likewise.
52021         * lib/search.in.h: Likewise.
52022         * lib/signal.in.h: Likewise.
52023         * lib/stdarg.in.h: Likewise.
52024         * lib/stdint.in.h: Likewise.
52025         * lib/stdio.in.h: Likewise.
52026         * lib/stdlib.in.h: Likewise.
52027         * lib/string.in.h: Likewise.
52028         * lib/strings.in.h: Likewise.
52029         * lib/sys_select.in.h: Likewise.
52030         * lib/sys_socket.in.h: Likewise.
52031         * lib/sys_stat.in.h: Likewise.
52032         * lib/sys_time.in.h: Likewise.
52033         * lib/sysexits.in.h: Likewise.
52034         * lib/time.in.h: Likewise.
52035         * lib/unistd.in.h: Likewise.
52036         * lib/wchar.in.h: Likewise.
52037         * lib/wctype.in.h: Likewise.
52038         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
52039         * modules/fchdir (Makefile.am): Likewise.
52040         * modules/fcntl (Makefile.am): Likewise.
52041         * modules/float (Makefile.am): Likewise.
52042         * modules/iconv_open (Makefile.am): Likewise.
52043         * modules/inttypes (Makefile.am): Likewise.
52044         * modules/locale (Makefile.am): Likewise.
52045         * modules/math (Makefile.am): Likewise.
52046         * modules/netinet_in (Makefile.am): Likewise.
52047         * modules/search (Makefile.am): Likewise.
52048         * modules/signal (Makefile.am): Likewise.
52049         * modules/stdarg (Makefile.am): Likewise.
52050         * modules/stdint (Makefile.am): Likewise.
52051         * modules/stdio (Makefile.am): Likewise.
52052         * modules/stdlib (Makefile.am): Likewise.
52053         * modules/string (Makefile.am): Likewise.
52054         * modules/strings (Makefile.am): Likewise.
52055         * modules/sys_select (Makefile.am): Likewise.
52056         * modules/sys_socket (Makefile.am): Likewise.
52057         * modules/sys_stat (Makefile.am): Likewise.
52058         * modules/sys_time (Makefile.am): Likewise.
52059         * modules/sysexits (Makefile.am): Likewise.
52060         * modules/time (Makefile.am): Likewise.
52061         * modules/unistd (Makefile.am): Likewise.
52062         * modules/wchar (Makefile.am): Likewise.
52063         * modules/wctype (Makefile.am): Likewise.
52064         Reported by Reuben Thomas <rrt@sc3d.org>.
52065
52066 2008-08-29  Bruno Haible  <bruno@clisp.org>
52067
52068         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
52069         any more.
52070
52071 2008-08-29  Simon Josefsson  <simon@josefsson.org>
52072
52073         * MODULES.html.sh (Misc): Add bitrotate.
52074
52075         * modules/bitrotate: New file.
52076
52077         * lib/bitrotate.h: New file.
52078
52079         * modules/bitrotate-tests: New file.
52080
52081         * tests/test-bitrotate.c: New file.
52082
52083         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
52084         on the bitrotate module.
52085
52086         * lib/arctwo.c: Use new bitrotate module.
52087
52088 2008-08-29  Jim Meyering  <meyering@redhat.com>
52089
52090         bootstrap: merge changes from coreutils
52091         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
52092         of copied files.  Remove a kludge, now that this is fixed.
52093         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
52094         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
52095         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
52096
52097 2008-08-29  Bruno Haible  <bruno@clisp.org>
52098
52099         * MODULES.html.sh: Remove --cvs-urls option.
52100
52101 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
52102
52103         maint.mk: adjust to file name change
52104         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
52105
52106 2008-08-28  Jim Meyering  <meyering@redhat.com>
52107
52108         * modules/getndelim2 (License): Relicense to LGPLv2+.
52109         Approved by Richard Stallman for the version of 1995, and by
52110         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
52111
52112 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
52113
52114         * lib/getdelim.c (flockfile, funlockfile): Make all of them
52115         dummy if one is not available.  Do not touch them if
52116         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
52117         (getc_maybe_unlocked): New.
52118         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
52119
52120 2008-08-26  Eric Blake  <ebb9@byu.net>
52121
52122         doc/INSTALL: resync from autoconf
52123         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
52124         (INSTALL_PRELUDE): Delete; this is done more efficiently by
52125         moving...
52126         * install.texi [!autoconf]: ...here.  Resync from autoconf.
52127         * INSTALL: Regenerate.
52128         * INSTALL.ISO: New file.
52129         * INSTALL.UTF-8: Likewise.
52130
52131 2008-08-26  Jim Meyering  <meyering@redhat.com>
52132
52133         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
52134         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
52135         these definitions conditional, so that they may be overridden, too.
52136
52137 2008-08-26  Bruno Haible  <bruno@clisp.org>
52138
52139         Generate INSTALL file variants with prettier quotes.
52140         * doc/Makefile (INSTALL_PRELUDE): New macro.
52141         (INSTALL): Use it.
52142         (INSTALL.ISO, INSTALL.UTF-8): New rules.
52143
52144 2008-08-26  Bruno Haible  <bruno@clisp.org>
52145
52146         Run makeinfo in an English locale.
52147         * doc/Makefile (MAKEINFO): New variable.
52148
52149 2008-08-26  Bruno Haible  <bruno@clisp.org>
52150
52151         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
52152         Suggested by Eric Blake.
52153
52154 2008-08-25  Bruno Haible  <bruno@clisp.org>
52155
52156         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
52157
52158 2008-08-25  Eric Blake  <ebb9@byu.net>
52159
52160         c-stack: test that stack overflow can be caught
52161         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
52162         that platform allows handling stack overflow; at least OS/2 EMX
52163         has sigaltstack, but crashes before transferring control to
52164         handler on stack overflow.
52165         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
52166         check for HAVE_STACK_OVERFLOW_HANDLING.
52167         Reported by Elbert Pol.
52168
52169 2008-08-25  Bruno Haible  <bruno@clisp.org>
52170
52171         * doc/posix-functions/strftime.texi: Fix description of strftime
52172         module.
52173
52174 2008-08-24  Bruno Haible  <bruno@clisp.org>
52175
52176         * tests/uniwidth/test-uc_width2.c: New file.
52177         * tests/uniwidth/test-uc_width2.sh: New file.
52178         * modules/uniwidth/width-tests (Files): Add the new files.
52179         (TESTS): Add uniwidth/test-uc_width2.sh.
52180         (TESTS_ENVIRONMENT): New variable.
52181         (check_PROGRAMS): Add test-uc_width2.
52182         (test_uc_width2_SOURCES): New variable.
52183
52184         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
52185         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
52186         not 0x00AB.
52187         Reported by Alexander V. Lukyanov <lav@netis.ru>.
52188
52189 2008-08-22  Eric Blake  <ebb9@byu.net>
52190
52191         test-lock, test-tls: mention why a test is skipped
52192         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
52193         skipped.
52194         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
52195
52196         count-one-bits: relax license
52197         * modules/count-one-bits (License): Relicense to LGPLv2+.
52198         Suggested by Ludovic Courtès, approved by Ben Pfaff.
52199
52200 2008-08-22  Andreas Schwab  <schwab@suse.de>
52201
52202         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
52203         Remove spurious space in assignment.
52204
52205 2008-08-21  Simon Josefsson  <simon@josefsson.org>
52206
52207         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
52208         Paul Eggert <eggert@CS.UCLA.EDU>.
52209
52210 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
52211
52212         * modules/gettext: Add m4/threadlib.m4.
52213
52214 2008-08-19  Eric Blake  <ebb9@byu.net>
52215
52216         test-c-stack: fix compilation failure on FreeBSD 5.0
52217         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
52218         headers before <sys/resource.h>.
52219         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
52220         the bug.
52221         Reported by Nelson H. F. Beebe.
52222
52223         strverscmp: migrate from "strverscmp.h" to <string.h>
52224         * modules/string (Makefile.am): Add new hooks.
52225         * modules/strverscmp (Files): Remove strverscmp.h.
52226         (Depends-on): Add string.
52227         (configure.ac): Add indicator.
52228         (Include): Mention new header.
52229         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
52230         defaults.
52231         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
52232         results.
52233         * lib/strverscmp.h: Delete.
52234         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52235         * tests/test-strverscmp.c (includes): Adjust client.
52236         * lib/check-version.c (includes): Likewise.
52237         * NEWS: Document the change.
52238
52239         strverscmp: add unit test
52240         * modules/strverscmp-tests: New file.
52241         * tests/test-strverscmp.c: Likewise.
52242
52243 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52244
52245         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52246         regarding Windows crypto stuff, from Mono.
52247
52248 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52249
52250         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52251         if present, for intel RND.  Return error on failures.
52252
52253 2008-08-18  Ben Pfaff  <blp@gnu.org>
52254
52255         gitlog-to-changelog: give better diagnostic for failed pipe-open
52256         * build-aux/gitlog-to-changelog: Improve error message: suggest
52257         that the version of Git may be too old.
52258
52259 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52260
52261         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52262         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52263
52264 2008-08-18  Bruno Haible  <bruno@clisp.org>
52265
52266         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52267         pthread_in_use().
52268
52269 2008-08-18  Bruno Haible  <bruno@clisp.org>
52270
52271         * lib/glthread/threadlib.c: Include <pthread.h>.
52272
52273 2008-08-18  Bruno Haible  <bruno@clisp.org>
52274
52275         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52276         glthread_recursive_lock_* macros.
52277         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52278         Fix syntax error.
52279
52280 2008-08-18  Bruno Haible  <bruno@clisp.org>
52281
52282         * lib/glthread/thread.c: Avoid forcing a context switch right after
52283         thread creation.
52284
52285 2008-08-17  Bruno Haible  <bruno@clisp.org>
52286
52287         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52288         * lib/glthread/thread.h: Provide Win32 specific implementation.
52289         * modules/thread (Files): Add lib/glthread/thread.c.
52290         (Depends-on): Add lock.
52291         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52292
52293 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52294
52295         New module 'yield'.
52296         * modules/yield: New file.
52297         * lib/glthread/yield.h: New file.
52298         * m4/yield.m4: New file.
52299         * MODULES.html.sh (Multithreading): Add yield.
52300
52301 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52302
52303         New module 'thread'.
52304         * modules/thread: New file.
52305         * lib/glthread/thread.h: New file.
52306         * m4/thread.m4: New file.
52307         * MODULES.html.sh (Multithreading): Add thread.
52308
52309 2008-08-17  Bruno Haible  <bruno@clisp.org>
52310
52311         * lib/glthread/lock.h: Include <stdlib.h> always.
52312         * lib/glthread/tls.h: Likewise.
52313         * lib/glthread/cond.h: Likewise.
52314
52315 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52316
52317         New module 'cond'.
52318         * modules/cond: New file.
52319         * lib/glthread/cond.h: New file.
52320         * lib/glthread/cond.c: New file.
52321         * m4/cond.m4: New file.
52322         * MODULES.html.sh (Multithreading): Add cond.
52323
52324 2008-08-16  Eric Blake  <ebb9@byu.net>
52325
52326         c-stack: fix regression on Irix 5.3 from 2008-06-21
52327         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52328         sa_sigaction...
52329         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52330         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
52331         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
52332         * modules/signal (Makefile.am): Use the value.
52333         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
52334         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
52335         * doc/posix-headers/signal.texi (signal.h): Document this
52336         portability issue.
52337         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
52338         Reported by Tom G. Christensen.
52339
52340 2008-08-17  Bruno Haible  <bruno@clisp.org>
52341
52342         New module 'threadlib'.
52343         * modules/threadlib: New file.
52344         * lib/glthread/threadlib.c: New file, extracted from
52345         lib/glthread/lock.c.
52346         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
52347         functions.
52348         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
52349         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
52350         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
52351         macros.
52352         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52353         (gl_DISABLE_THREADS): Remove macro.
52354         * modules/lock (Files): Remove build-aux/config.rpath.
52355         (Depends-on): Remove havelib. Add threadlib.
52356         (configure.ac-early): Remove section.
52357         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52358         * modules/tls (Depends-on): Remove lock. Add threadlib.
52359         (Link): New section, copied from threadlib.
52360         * MODULES.html.sh (Multithreading): Add threadlib.
52361
52362 2008-08-14  Bruno Haible  <bruno@clisp.org>
52363
52364         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52365         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52366         glthread_rwlock_unlock, glthread_rwlock_destroy,
52367         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52368         glthread_recursive_lock_destroy): Define as macros always.
52369         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52370         glthread_lock_lock.
52371         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52372         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52373         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52374         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52375         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52376         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52377         (glthread_recursive_lock_lock_func): Renamed from
52378         glthread_recursive_lock_lock.
52379         (glthread_recursive_lock_unlock_func): Renamed from
52380         glthread_recursive_lock_unlock.
52381         (glthread_recursive_lock_destroy_func): Renamed from
52382         glthread_recursive_lock_destroy.
52383
52384 2008-08-14  Bruno Haible  <bruno@clisp.org>
52385
52386         * lib/glthread/lock.h: Renamed from lib/lock.h.
52387         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52388         * lib/glthread/tls.h: Renamed from lib/tls.h.
52389         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52390         * lib/fstrcmp.c: Update includes.
52391         * lib/strsignal.c: Update includes.
52392         * modules/lock (Files, Makefile.am): Update.
52393         (Include): Change to "glthread/lock.h".
52394         * modules/tls (Files, Makefile.am): Update.
52395         (Include): Change to "glthread/tls.h".
52396         * tests/test-lock.c: Update includes.
52397         * tests/test-tls.c: Update includes.
52398         * NEWS: Mention the renamed header files.
52399
52400 2008-08-11  Jim Meyering  <meyering@redhat.com>
52401
52402         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52403
52404 2008-08-11  Eric Blake  <ebb9@byu.net>
52405
52406         test-c-stack: avoid C99-ism
52407         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52408         before statement.
52409         Reported by Alain Guibert.
52410
52411 2008-08-10  Jim Meyering  <meyering@redhat.com>
52412
52413         ensure that return value of uinttostr et al are not ignored
52414         * lib/inttostr.h (__GNUC_PREREQ): Define.
52415         (__attribute_warn_unused_result__): Define.
52416         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52417
52418 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52419
52420         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52421         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52422
52423 2008-08-07  Jim Meyering  <meyering@redhat.com>
52424
52425         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52426
52427         * modules/mkstemp (License): Relicense under LGPLv2+.
52428         * modules/tempname (License): Likewise.
52429
52430 2008-08-06  Bruno Haible  <bruno@clisp.org>
52431
52432         * lib/poll.c (poll): Further micro-optimization.
52433
52434 2008-08-06  Jim Meyering  <meyering@redhat.com>
52435
52436         inet_pton.c: use locale-independent tolower
52437         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52438         (inet_pton6): Use c_tolower rather than tolower.
52439         * modules/inet_pton (Depends-on): Add c-ctype.
52440
52441 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52442
52443         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52444         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52445
52446 2008-08-06  Jim Meyering  <meyering@redhat.com>
52447
52448         * modules/inet_pton (License): Relicense under LGPLv2+.
52449
52450 2008-08-03  Bruno Haible  <bruno@clisp.org>
52451
52452         Additional non-aborting API for lock and tls.
52453         * lib/lock.h: Include <errno.h>.
52454         (glthread_lock_init): New macro/function.
52455         (gl_lock_init): Define as wrapper around glthread_lock_init.
52456         (glthread_lock_lock): New macro/function.
52457         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52458         (glthread_lock_unlock): New macro/function.
52459         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52460         (glthread_lock_destroy): New macro/function.
52461         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52462         (glthread_rwlock_init): New macro/function.
52463         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52464         (glthread_rwlock_rdlock): New macro/function.
52465         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52466         (glthread_rwlock_wrlock): New macro/function.
52467         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52468         (glthread_rwlock_unlock): New macro/function.
52469         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52470         (glthread_rwlock_destroy): New macro/function.
52471         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52472         (glthread_recursive_lock_init): New macro/function.
52473         (gl_recursive_lock_init): Define as wrapper around
52474         glthread_recursive_lock_init.
52475         (glthread_recursive_lock_lock): New macro/function.
52476         (gl_recursive_lock_lock): Define as wrapper around
52477         glthread_recursive_lock_lock.
52478         (glthread_recursive_lock_unlock): New macro/function.
52479         (gl_recursive_lock_unlock): Define as wrapper around
52480         glthread_recursive_lock_unlock.
52481         (glthread_recursive_lock_destroy): New macro/function.
52482         (gl_recursive_lock_destroy): Define as wrapper around
52483         glthread_recursive_lock_destroy.
52484         (glthread_once): New macro/function.
52485         (gl_once): Define as wrapper around glthread_once.
52486         Update function declarations.
52487         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52488         glthread_rwlock_init. Return error code.
52489         (glthread_rwlock_rdlock_multithreaded): Renamed from
52490         glthread_rwlock_rdlock. Return error code.
52491         (glthread_rwlock_wrlock_multithreaded): Renamed from
52492         glthread_rwlock_wrlock. Return error code.
52493         (glthread_rwlock_unlock_multithreaded): Renamed from
52494         glthread_rwlock_unlock. Return error code.
52495         (glthread_rwlock_destroy_multithreaded): Renamed from
52496         glthread_rwlock_destroy. Return error code.
52497         (glthread_recursive_lock_init_multithreaded): Renamed from
52498         glthread_recursive_lock_init. Return error code.
52499         (glthread_recursive_lock_lock_multithreaded): Renamed from
52500         glthread_recursive_lock_lock. Return error code.
52501         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52502         glthread_recursive_lock_unlock. Return error code.
52503         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52504         glthread_recursive_lock_destroy. Return error code.
52505         (glthread_once_call): Make static.
52506         (glthread_once_multithreaded): Renamed from glthread_once.
52507         * lib/tls.h: Include <errno.h>.
52508         (glthread_tls_key_init): New macro/function.
52509         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52510         (glthread_tls_set): New macro/function.
52511         (gl_tls_set): Define as wrapper around glthread_tls_set.
52512         (glthread_tls_key_destroy): New macro/function.
52513         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52514         Update function declarations.
52515         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52516         glthread_tls_get.
52517         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52518
52519 2008-08-04  Eric Blake  <ebb9@byu.net>
52520
52521         gnumakefile: use space, not TAB, outside of targets
52522         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52523
52524 2008-08-02  Jim Meyering  <meyering@redhat.com>
52525
52526         getdate.y: avoid locale-dependent date parsing failure
52527         In Turkish locales, getdate would fail to recognize keywords
52528         containing a lowercase "i".  The solution is not to rely on
52529         locale-sensitive case-conversion.
52530         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52531         (lookup_word): Use c_toupper in place of toupper.
52532         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52533         Reported by Vefa Bicakci <bicave@superonline.com> in
52534         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52535         * modules/getdate (Depends-on): Add c-ctype.
52536
52537 2008-08-02  Bruno Haible  <bruno@clisp.org>
52538
52539         * gnulib-tool (func_import): When updating or creating a .gitignore
52540         file, prepend each added line with a slash, and ignore leading slashes
52541         from the existing lines.
52542         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52543
52544 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52545
52546         Portability fix for GNU make 3.79.1.
52547         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52548         versions do not understand.
52549
52550 2008-08-01  Bruno Haible  <bruno@clisp.org>
52551
52552         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52553         * tests/test-isnanf.h (zero): New variable.
52554         (main): Avoid literal -0.0f.
52555         * tests/test-isnand.h (zero): New variable.
52556         (main): Avoid literal -0.0.
52557         * tests/test-isnanl.h (zero): New variable.
52558         (main): Avoid literal -0.0L.
52559         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52560         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52561         -0.0, -0.0L.
52562         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52563         (test_signbitd): Avoid literal -0.0.
52564         (test_signbitl): Avoid literal -0.0L.
52565         * tests/test-ceilf1.c (zero): New variable.
52566         (main): Avoid literal -0.0f.
52567         * tests/test-ceill.c (zero): New variable.
52568         (main): Avoid literal -0.0L.
52569         * tests/test-floorf1.c (zero): New variable.
52570         (main): Avoid literal -0.0f.
52571         * tests/test-floorl.c (zero): New variable.
52572         (main): Avoid literal -0.0L.
52573         * tests/test-roundf1.c (zero): New variable.
52574         (main): Avoid literal -0.0f.
52575         * tests/test-round1.c (zero): New variable.
52576         (main): Avoid literal -0.0.
52577         * tests/test-roundl.c (zero): New variable.
52578         (main): Avoid literal -0.0L.
52579         * tests/test-truncf1.c (zero): New variable.
52580         (main): Avoid literal -0.0f.
52581         * tests/test-trunc1.c (zero): New variable.
52582         (main): Avoid literal -0.0.
52583         * tests/test-truncl.c (zero): New variable.
52584         (main): Avoid literal -0.0L.
52585         * tests/test-frexp.c (zero): New variable.
52586         (main): Avoid literal -0.0.
52587         * tests/test-frexpl.c (zero): New variable.
52588         (main): Avoid literal -0.0L.
52589         * tests/test-ldexpl.c (zero): New variable.
52590         (main): Avoid literal -0.0L.
52591         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52592         (zerod, zerol): New variables.
52593         (test_function): Avoid literals -0.0, -0.0L.
52594         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52595         (zerod, zerol): New variables.
52596         (test_function): Avoid literals -0.0, -0.0L.
52597         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52598         (zerod, zerol): New variables.
52599         (test_function): Avoid literals -0.0, -0.0L.
52600         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52601         (zerod, zerol): New variables.
52602         (test_function): Avoid literals -0.0, -0.0L.
52603         * tests/test-strtod.c (zero): New variable.
52604         (main): Avoid literal -0.0.
52605         Reported by Jonathan C. Patschke <jp@centtech.com>.
52606
52607 2008-07-31  Jim Meyering  <meyering@redhat.com>
52608
52609         sha256.h: correct definition of SHA224_DIGEST_SIZE
52610         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52611         Reported by Paulie Pena IV <paulie4@gmail.com>.
52612         Define as 224 / 8, rather than as a literal.
52613         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52614         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52615         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52616
52617 2008-07-31  Bruno Haible  <bruno@clisp.org>
52618
52619         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52620         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52621         Reported by Jonathan Patschke <jp@centtech.com>.
52622
52623 2008-07-31  Bruno Haible  <bruno@clisp.org>
52624
52625         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52626         Reported by Paolo Bonzini <bonzini@gnu.org>.
52627
52628 2008-07-30  Eric Blake  <ebb9@byu.net>
52629
52630         test-strtod: allow compilation without -lm
52631         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52632         Reported by Dennis Clarke <blastwave@gmail.com>.
52633
52634 2008-07-28  Jim Meyering  <meyering@redhat.com>
52635
52636         bootstrap: work also when there are no .po files in po/
52637         * build-aux/bootstrap (update_po_files): Complete the change
52638         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52639
52640 2008-07-27  Jim Meyering  <meyering@redhat.com>
52641
52642         * users.txt: Add zile.
52643
52644 2008-07-26  Ben Pfaff  <blp@gnu.org>
52645
52646         Add missing dependencies on new m4/exponent[fdl].m4 files.
52647         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52648         * modules/isnand-nolibm: Add m4/exponentd.m4.
52649         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52650         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52651         m4/isnan[fdl].m4, because the macros actually used moved.
52652         Reported by Jim Meyering.
52653
52654 2008-07-14  Ben Pfaff  <blp@gnu.org>
52655
52656         Add isinf module.
52657         * lib/isinf.c: New file.
52658         * lib/math.in.h: Define isinf macro if we have decided to replace
52659         it.
52660         * m4/isinf.m4: New file.
52661         * m4/math_h.m4: Initialize and substitute variables for isinf
52662         module.
52663         * modules/isinf: New file.
52664         * modules/isinf-tests: New file.
52665         * modules/math: Add substitutions for new module.
52666         * tests/test-isinf.c: New file.
52667         * doc/posix-functions/isinf.texi: Mention new module.
52668         * MODULES.html.sh: Mention new module.
52669
52670 2008-07-14  Ben Pfaff  <blp@gnu.org>
52671
52672         Factor out some macros for use by additional modules.
52673         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52674         exponentf.m4.
52675         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52676         exponentd.m4.
52677         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52678         file exponentl.m4.
52679         * m4/exponentf.m4: New file.
52680         * m4/exponentd.m4: New file.
52681         * m4/exponentl.m4: New file.
52682         * modules/isnanf: Use new file m4/exponentf.m4.
52683         * modules/isnand: Use new file m4/exponentd.m4.
52684         * modules/isnanl: Use new file m4/exponentl.m4.
52685
52686 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52687
52688         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52689         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52690         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52691         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52692
52693         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52694         readlink on platforms without PATH_MAX.
52695
52696 2008-07-21  Eric Blake  <ebb9@byu.net>
52697
52698         Warn, not fail, on stale version.
52699         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52700
52701         Don't allow installation with stale devel version number.
52702         * top/GNUmakefile (_is-install-target): New macro.
52703         (_curr-ver): Forbid installation with stale version number.
52704
52705 2008-07-20  Bruno Haible  <bruno@clisp.org>
52706
52707         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52708         TESTS_ENVIRONMENT.
52709         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52710
52711 2008-07-20  Bruno Haible  <bruno@clisp.org>
52712
52713         * lib/c-stack.h (c_stack_action): Add documentation.
52714         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52715
52716 2008-07-20  Bruno Haible  <bruno@clisp.org>
52717
52718         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52719         * modules/readlink (License): Likewise.
52720
52721 2008-07-17  Eric Blake  <ebb9@byu.net>
52722
52723         * modules/c-stack (Link): Fix typo.
52724
52725         Make c-stack use libsigsegv, when available.
52726         * modules/c-stack (Depends-on): Add libsigsegv.
52727         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52728         needed.
52729         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52730         (segv_handler, overflow_handler, c_stack_action)
52731         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52732         implementation when libsigsegv is available, but only when using
52733         the library is necessary.
52734         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52735         comment, explaining why XSI check fails on Linux.
52736         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52737         * tests/test-c-stack2.sh: Tweak skip message.
52738         * NEWS: Document new link-time requirements.
52739
52740 2008-07-16  Eric Blake  <ebb9@byu.net>
52741
52742         c-stack: Expose false positives when not using libsigsegv.
52743         * modules/c-stack-tests (Files): Expand test.
52744         * tests/test-c-stack.c (main): Add means to conditionally trigger
52745         non-overflow SIGSEGV.
52746         * tests/test-c-stack2.sh: New file.
52747
52748 2008-07-14  Bruno Haible  <bruno@clisp.org>
52749
52750         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52751         Reported by Eric Blake.
52752
52753 2008-07-14  Sam Steingold  <sds@gnu.org>
52754             Bruno Haible  <bruno@clisp.org>
52755
52756         New module libsigsegv.
52757         * modules/libsigsegv: New file.
52758         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52759         modifications.
52760         * MODULES.html.sh (Signal handling): New section.
52761
52762 2008-07-14  Bruno Haible  <bruno@clisp.org>
52763
52764         * modules/unictype/ctype-* (Description): Add the word "function".
52765         Improves the resulting doc in MODULES.html.
52766
52767 2008-07-12  Ben Pfaff  <blp@gnu.org>
52768
52769         Add longlong module.
52770         * modules/longlong: New file.
52771
52772 2008-07-12  Bruno Haible  <bruno@clisp.org>
52773
52774         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52775         to empty.
52776
52777 2008-07-10  Ben Pfaff  <blp@gnu.org>
52778
52779         Add isnan module.
52780         * doc/posix-functions/isnan.texi: Mention new module.
52781         * lib/math.in.h: Define isnan macro if we have decided to replace
52782         it.
52783         * m4/isnan.m4: New file.
52784         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52785         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52786         also.
52787         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52788         redundancy.
52789         * m4/math_h.m4: Initialize and substitute variables for isnan
52790         module.
52791         * modules/isnan: New file.
52792         * modules/isnan-tests: New file.
52793         * modules/math: Add substitutions for new module.
52794         * tests/test-isnan.c: New file.
52795         * MODULES.html.sh: Mention new module.
52796
52797 2008-07-10  Ben Pfaff  <blp@gnu.org>
52798
52799         Add isnanf module.
52800         * lib/isnanf.m4: New file.
52801         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52802         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52803         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52804         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52805         * modules/isnanf: New file.
52806         * modules/isnanf-tests: New file.
52807         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52808         files.
52809         * tests/test-isnanf-nolibm.c: factored most of its contents into
52810         new file tests/test-isnanf.h.
52811         * tests/test-isnanf.h: New file.
52812         * tests/test-isnanf.c: New file.
52813         * MODULES.html.sh: Mention new module.
52814         * doc/glibc-functions/isnanf.texi: Mention new module.
52815
52816 2008-07-10  Ben Pfaff  <blp@gnu.org>
52817
52818         Add isnand module.
52819         * lib/isnand.h: New file.
52820         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52821         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52822         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52823         functionality also.
52824         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52825         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52826         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52827         * modules/isnand: New file.
52828         * modules/isnand-tests: New file.
52829         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52830         files.
52831         * tests/test-isnand-nolibm.c: factored most of its contents into
52832         new file tests/test-isnand.h.
52833         * tests/test-isnand.h: New file.
52834         * tests/test-isnand.c: New file.
52835         * MODULES.html.sh: Mention new module.
52836
52837 2008-07-10  Ben Pfaff  <blp@gnu.org>
52838
52839         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52840         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52841         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52842         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52843         * modules/isnanf-nolibm: Update references to renamed files.
52844         * modules/isnand-nolibm: Likewise.
52845         * modules/isnanf-nolibm-tests: Likewise.
52846         * modules/isnand-nolibm-tests: Likewise.
52847         * lib/frexp.c: Likewise.
52848         * lib/isfinite.c: Likewise.
52849         * lib/signbitd.c: Likewise.
52850         * lib/signbitf.c: Likewise.
52851         * lib/vasnprintf.c: Likewise.
52852         * tests/test-ceilf1.c: Likewise.
52853         * tests/test-ceilf2.c: Likewise.
52854         * tests/test-floorf1.c: Likewise.
52855         * tests/test-floorf2.c: Likewise.
52856         * tests/test-frexp.c: Likewise.
52857         * tests/test-round1.c: Likewise.
52858         * tests/test-round2.c: Likewise.
52859         * tests/test-roundf1.c: Likewise.
52860         * tests/test-strtod.c: Likewise.
52861         * tests/test-trunc1.c: Likewise.
52862         * tests/test-trunc2.c: Likewise.
52863         * tests/test-truncf1.c: Likewise.
52864         * tests/test-truncf2.c: Likewise.
52865         * NEWS: Mention the renamed header files.
52866
52867 2008-07-11  Jim Meyering  <meyering@redhat.com>
52868
52869         vc-list-files: make the last-resort awk code more portable
52870         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52871         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52872         does not support it.
52873
52874 2008-07-10  Eric Blake  <ebb9@byu.net>
52875
52876         Work with tar's bootstrap.
52877         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52878         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52879         an m4 comment.
52880
52881 2008-07-09  Jim Meyering  <meyering@redhat.com>
52882
52883         posix-shell.m4: fix typo that made this test malfunction
52884         * m4/posix-shell.m4: Remove capitalization in variable name.
52885
52886 2008-07-08  Bruno Haible  <bruno@clisp.org>
52887
52888         * m4/onceonly.m4: Update comments.
52889         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52890
52891 2008-07-04  Jim Meyering  <meyering@redhat.com>
52892
52893         * users.txt: Add vc-dwim.
52894         (bison, coreutils): Use the gitweb URL.
52895
52896 2008-07-03  Jim Meyering  <meyering@redhat.com>
52897
52898         * users.txt: Add libffcall.  From Sam Steingold.
52899
52900 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
52901
52902         getdate.y: do not ignore TZ with relative day, month or year offset
52903         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52904         relative-date-handling, since otherwise, the latter would clobber the
52905         sole output (an updated Start value) of the tz-handling block.
52906         * tests/test-getdate.c: Tests for the fix
52907
52908 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52909
52910         Recognize 'foo_LIBRARIES += libgnu.a'.
52911         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52912         makefile snippet has already specified an installation location,
52913         also using '+='.
52914
52915 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
52916
52917         getdate.y: factor out common actions
52918         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52919         Use them in place of open-coded actions.
52920
52921 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52922
52923         Add self-test for getdate module.
52924         * modules/getdate-tests: New file.
52925         * tests/test-getdate.c: New file.
52926
52927 2008-06-29  Bruno Haible  <bruno@clisp.org>
52928
52929         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52930         .gitignore.
52931         Reported by Sylvain Beucler <beuc@beuc.net>.
52932
52933 2008-06-29  Bruno Haible  <bruno@clisp.org>
52934
52935         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52936         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52937
52938 2008-06-29  Bruno Haible  <bruno@clisp.org>
52939
52940         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52941         EXTRA_DIST.
52942         Reported by Sylvain Beucler <beuc@beuc.net>.
52943
52944 2008-06-26  Jim Meyering  <meyering@redhat.com>
52945
52946         make several modules depend on the "open" module
52947         This provides slightly increased consistency when opening-for-write
52948         the name of a non-directory spelled with a trailing slash.
52949         * modules/chdir-safer: Likewise.
52950         * modules/chown: Likewise.
52951         * modules/clean-temp: Likewise.
52952         * modules/copy-file: Likewise.
52953         * modules/fchdir: Likewise.
52954         * modules/fcntl-safer: Likewise.
52955         * modules/pipe: Likewise.
52956         * modules/utime: Likewise.
52957         Prompted by Eric Blake and Bruno Haible.
52958
52959 2008-06-24  Andreas Schwab  <schwab@suse.de>
52960
52961         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52962         literals can be used as initializers for global variables.
52963
52964 2008-06-23  Eric Blake  <ebb9@byu.net>
52965
52966         Make gnulib-cache.m4 easier to diff.
52967         * gnulib-tool (func_import): Allow newlines when reading cached
52968         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52969
52970 2008-06-23  Bruno Haible  <bruno@clisp.org>
52971
52972         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52973         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52974         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52975         m4/signalblocking.m4.
52976         (gl_PREREQ_SIGACTION): Don't invoke it.
52977         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52978         gl_PREREQ_SIG_HANDLER_H.
52979         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52980         Don't check for sigaction here.
52981
52982 2008-06-23  Bruno Haible  <bruno@clisp.org>
52983
52984         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52985         (install_handlers): Don't set the SA_RESETHAND flag.
52986
52987 2008-06-23  Bruno Haible  <bruno@clisp.org>
52988
52989         * m4/sigaction.m4: Comment fixes.
52990         * lib/signal.in.h: Likewise.
52991
52992 2008-06-23  Eric Blake  <ebb9@byu.net>
52993
52994         Fix typo.
52995         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52996
52997         Avoid SA_ namespace.
52998         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52999         Reported by Ralf Wildenhues.
53000
53001         Avoid test failure due to SA_RESTORER.
53002         * tests/test-sigaction.c (SA_MASK): New macro.
53003         (main): Avoid failing due to extension flags being set.
53004         Reported by Jim Meyering.
53005
53006         Revert use of sig-handler.h in sigprocmask.c.
53007         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
53008         it requires the existence of struct sigaction.
53009         * lib/sigprocmask.c (handler_t): Restore typedef.
53010         (rpl_signal, old_handlers): Use local type.
53011
53012 2008-06-22  Bruno Haible  <bruno@clisp.org>
53013
53014         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
53015         conditionally.
53016         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53017
53018 2008-06-22  Bruno Haible  <bruno@clisp.org>
53019
53020         * doc/posix-functions/siginterrupt.texi: Move note.
53021
53022         * lib/signal.in.h (SA_RESTART): New macro.
53023         * lib/sigaction.c: Update comment.
53024
53025         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
53026
53027         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
53028         (gl_PREREQ_SIGPROCMASK): Invoke it.
53029         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
53030
53031         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
53032
53033         * lib/sigprocmask.c: Update a comment.
53034
53035 2008-06-21  Eric Blake  <ebb9@byu.net>
53036
53037         Use sigaction module rather than signal().
53038         * modules/c-stack (Depends-on): Add sigaction.
53039         * modules/fatal-signal (Depends-on): Likewise.
53040         * modules/nanosleep (Depends-on): Likewise.
53041         * modules/sigprocmask (Files): Add sig-handler.h.
53042         * modules/sigaction (Files): Likewise.
53043         * lib/sig-handler.h (get_handler): New file, suggested by Paul
53044         Eggert.
53045         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
53046         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
53047         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
53048         (init_fatal_signals): Likewise.
53049         * lib/nanosleep.c (rpl_nanosleep): Likewise.
53050         (siginterrupt): Delete fallback.
53051         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
53052         instead.
53053         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
53054         siginterrupt.
53055
53056         New module sigaction, for mingw.
53057         * modules/sigaction: New module...
53058         * modules/sigaction-tests: ...and its test.
53059         * m4/sigaction.m4: New file.
53060         * lib/sigaction.c: Likewise.
53061         * tests/test-sigaction.c: Likewise.
53062         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
53063         * modules/signal (Makefile.am): Likewise.
53064         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
53065         needed.
53066         * doc/posix-headers/signal.texi (signal.h): Mention provided
53067         types.
53068         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
53069         that sigaction is preferable.
53070         * doc/posix-functions/sigaction.texi (sigaction): Mention new
53071         module.
53072         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53073         sigaction.
53074
53075         Improve robustness of sigprocmask by overriding signal.
53076         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
53077         is in use.
53078         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
53079         (SIGKILL, SIGSTOP): Provide fallbacks.
53080         (rpl_signal): Implement.
53081         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
53082         signal can be called inside handlers.
53083
53084         Fix nanosleep module on mingw.
53085         * modules/nanosleep (Depends-on): Add sys_select.
53086         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
53087
53088         Fix licensing of sigprocmask.
53089         * modules/raise (License): Relicense as LGPL.
53090
53091 2008-06-21  Bruno Haible  <bruno@clisp.org>
53092
53093         * lib/propername.c (proper_name_utf8): Don't use the transliterated
53094         result if it contains question marks.
53095         Reported by Michael Geng <linux@michaelgeng.de>.
53096
53097 2008-06-19  Bruno Haible  <bruno@clisp.org>
53098
53099         Fix CVS-ism.
53100         * doc/gnulib.texi: Include updated-stamp.texi.
53101         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
53102         (updated-stamp.texi): New rule.
53103         (gnulib.info): Depend on it.
53104         * doc/.gitignore: Add updated-stamp.texi.
53105         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
53106
53107 2008-06-19  Bruno Haible  <bruno@clisp.org>
53108
53109         * doc/Makefile (gnulib.info): Update and simplify dependencies.
53110         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53111
53112 2008-06-19  Eric Blake  <ebb9@byu.net>
53113
53114         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
53115         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
53116         Reported by Stepan Kasal.
53117
53118 2008-06-18  Bruno Haible  <bruno@clisp.org>
53119
53120         * lib/fatal-signal.c (init_fatal_signals): Add comment.
53121         Reported by Eric Blake.
53122
53123 2008-06-18  Eric Blake  <ebb9@byu.net>
53124
53125         Work around cygwin 1.5.25 strsignal bug.
53126         * tests/test-strsignal.c: Allow for const char *.
53127         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
53128
53129 2008-06-18  Simon Josefsson  <simon@josefsson.org>
53130
53131         * users.txt: Update URL to article and add author/date
53132         information.
53133
53134 2008-06-17  Bruno Haible  <bruno@clisp.org>
53135
53136         New macro gl_DISABLE_THREADS.
53137         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
53138         if the user did not pass --enable-threads or --disable-threads option.
53139         (gl_DISABLE_THREADS): New macro.
53140         Reported by Eric Blake <ebb9@byu.net>.
53141
53142 2008-06-17  Bruno Haible  <bruno@clisp.org>
53143
53144         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
53145         when the macro ignores it.
53146         Based on a patch by Eric Blake <ebb9@byu.net>.
53147
53148 2008-06-17  Bruno Haible  <bruno@clisp.org>
53149
53150         * modules/tls (License): Change to LGPLv2+.
53151         Reported by Eric Blake.
53152
53153 2008-06-17  Eric Blake  <ebb9@byu.net>
53154
53155         Simplify c-stack prerequisites.
53156         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
53157         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
53158         no longer requires <ucontext.h> to exist.  Optimize setrlimit
53159         check.
53160         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
53161         <sys/resource.h>.
53162
53163         Move c-stack test into testsuite.
53164         * modules/c-stack-tests: New file.
53165         * lib/c-stack.c [DEBUG]: Move test program...
53166         * tests/test-c-stack.c: ...into this new file.  Skip rather than
53167         fail test if sigaltstack is lacking.
53168         * tests/test-c-stack.sh: New driver file.
53169
53170 2008-06-16  Eric Blake  <ebb9@byu.net>
53171
53172         Use raise module consistently.
53173         * modules/fatal-signal (Depends-on): Add raise.
53174         * modules/sigprocmask (Depends-on): Likewise.
53175         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
53176         * lib/sigprocmask.c (sigprocmask): Likewise.
53177         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
53178         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
53179
53180         Fix compliance bug in sigpending.
53181         * lib/sigprocmask.c (sigpending): Return pending array via
53182         parameter, not return value.
53183
53184 2008-06-14  Eric Blake  <ebb9@byu.net>
53185
53186         Improve obstack-printf test code.
53187         * tests/test-obstack-printf.c (test_function): Fix comment, and
53188         simplify usage of obstack_* in macros.  Add a test for coverage.
53189         Reported by Bruno Haible.
53190
53191 2008-06-14  Bruno Haible  <bruno@clisp.org>
53192
53193         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
53194         array size as a constant, not as a const variable.
53195         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
53196         AC_USE_SYSTEM_EXTENSIONS.
53197         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
53198         Test whether the obstack_printf function actually exists.
53199         * modules/obstack-printf (Depends-on): Add extensions.
53200         (Include): Remove obstack.h.
53201         * modules/obstack-printf-posix (Depends-on): Add extensions.
53202         (Include): Remove obstack.h.
53203
53204 2008-06-13  Eric Blake  <ebb9@byu.net>
53205
53206         Add obstack-printf and obstack-printf-posix modules.
53207         * modules/obstack-printf: New file.
53208         * modules/obstack-printf-posix: Likewise.
53209         * MODULES.html.sh (Misc): Mention them.
53210         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
53211         Likewise.
53212         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
53213         Likewise.
53214         * modules/stdio (Makefile.am): Accomodate new modules.
53215         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53216         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
53217         Declare.
53218         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
53219         functions.
53220         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
53221         (gl_REPLACE_OBSTACK_PRINTF): New macros
53222         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
53223         * tests/test-obstack-printf.c: New file.
53224         * modules/obstack-printf-tests: Likewise.
53225         * modules/obstack-printf-posix-tests: Likewise.
53226
53227 2008-06-11  Bruno Haible  <bruno@clisp.org>
53228
53229         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
53230         * lib/open.c: Include errno.h.
53231         (open): Fail when attempting to write to a file that has a trailing
53232         slash.
53233         * tests/test-open.c (main): Test against trailing slash bug.
53234         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53235
53236 2008-06-10  Bruno Haible  <bruno@clisp.org>
53237
53238         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53239         for $? to work inside the trap command, with various /bin/sh-s.
53240         * tests/test-vc-list-files-cvs.sh: Likewise.
53241
53242 2008-06-10  Bruno Haible  <bruno@clisp.org>
53243
53244         * lib/acl-internal.h: Don't include gettext.h here.
53245         * lib/set-mode-acl.c: Include gettext.h here.
53246         * lib/copy-acl.c: Likewise.
53247
53248 2008-06-10  Bruno Haible  <bruno@clisp.org>
53249
53250         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53251         * lib/wait-process.c (wait_subprocess): Likewise.
53252         * lib/execute.h (execute): Add termsigp argument.
53253         * lib/execute.c (execute): Likewise.
53254         * lib/csharpcomp.c (compile_csharp_using_pnet,
53255         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53256         * lib/csharpexec.c (execute_csharp_using_pnet,
53257         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53258         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53259         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53260         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53261         is_jikes_present): Update.
53262         * lib/javaexec.c (execute_java_class): Update.
53263         * lib/javaversion.c (execute_and_read_line): Update.
53264         * NEWS: Document the changes.
53265         Reported by Eric Blake.
53266
53267 2008-06-10  Eric Blake  <ebb9@byu.net>
53268
53269         Add missing include.
53270         * tests/test-strstr.c (includes): Add <signal.h>.
53271         * tests/test-strcasestr.c (includes): Likewise.
53272         * tests/test-memmem.c (includes): Likewise.
53273
53274 2008-06-10  Bruno Haible  <bruno@clisp.org>
53275
53276         * lib/wait-process.c (wait_subprocess): Add an assertion.
53277
53278 2008-06-10  Bruno Haible  <bruno@clisp.org>
53279
53280         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53281
53282 2008-06-10  Bruno Haible  <bruno@clisp.org>
53283
53284         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53285         using alarm().
53286         * tests/test-strcasestr.c (main): Likewise.
53287         * tests/test-strstr.c (main): Likewise.
53288
53289 2008-06-09  Bruno Haible  <bruno@clisp.org>
53290
53291         Work around the Solaris 10 ACE ACLs ABI change.
53292         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53293         declare if ACL_NO_TRIVIAL is present.
53294         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53295         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53296         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53297         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53298         define if ACL_NO_TRIVIAL is present.
53299         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53300         and use the current ABI.
53301         (file_has_acl): Use same #if condition as elsewhere.
53302         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53303         in use, and use the current ABI.
53304         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53305         Reported by Jim Meyering.
53306
53307 2008-06-09  Eric Blake  <ebb9@byu.net>
53308
53309         Work around environments that (stupidly) ignore SIGALRM.
53310         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53311         before using alarm().
53312         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53313         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53314         Reported by Ian Beckwith <ianb@erislabs.net>.
53315
53316         Produce autobuild blurb earlier in log.
53317         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53318
53319 2008-06-09  Jim Meyering  <meyering@redhat.com>
53320         and OndÅ™ej Vašík  <ovasik@redhat.com>
53321
53322         utimens.c: correct kernel bug work-around
53323         OndÅ™ej Vašík found that the invalid return value of 280 indicates
53324         failure, not success, and the kernel bug we're trying to work
53325         around affects not just the utimensat call, but also the fallback
53326         futimens call.
53327         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53328         not success.
53329         [HAVE_FUTIMENS]: Use the same work-around, here.
53330
53331 2008-06-09  Jim Meyering  <meyering@redhat.com>
53332
53333         add more guards around definition of ACE_-related code
53334         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
53335         ALLOW and ACE_OWNER are also defined.
53336
53337 2008-06-08  Bruno Haible  <bruno@clisp.org>
53338
53339         * lib/acl-internal.h: Add me as co-author.
53340         * lib/file-has-acl.c: Likewise.
53341         * lib/set-mode-acl.c: Likewise.
53342         * lib/copy-acl.c: Likewise.
53343
53344 2008-06-08  Bruno Haible  <bruno@clisp.org>
53345
53346         Add support for AIX ACLs.
53347         * lib/acl-internal.h (acl_nontrivial): New declaration.
53348         * lib/file-has-acl.c (acl_nontrivial): New function.
53349         (file_has_acl): Add implementation using AIX 4 ACL API.
53350         * lib/set-mode-acl.c (qset_acl): Likewise.
53351         * lib/copy-acl.c (qcopy_acl): Likewise.
53352
53353 2008-06-08  Bruno Haible  <bruno@clisp.org>
53354
53355         Add support for HP-UX ACLs.
53356         * lib/acl-internal.h (acl_nontrivial): New declaration.
53357         * lib/file-has-acl.c (acl_nontrivial): New function.
53358         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53359         * lib/set-mode-acl.c (qset_acl): Likewise.
53360         * lib/copy-acl.c (qcopy_acl): Likewise.
53361
53362 2008-06-08  Bruno Haible  <bruno@clisp.org>
53363
53364         Add support for Cygwin ACLs.
53365         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53366         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53367         the chmod_or_fchmod call.
53368         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53369
53370 2008-06-08  Bruno Haible  <bruno@clisp.org>
53371
53372         Fix bug with setuid modes in Solaris 10+ code.
53373         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53374         succeeded, when the mode contains some special bits.
53375
53376 2008-06-08  Bruno Haible  <bruno@clisp.org>
53377
53378         Add support for Solaris 7..10 ACLs.
53379         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53380         declarations.
53381         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53382         functions.
53383         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53384         * lib/set-mode-acl.c (qset_acl): Likewise.
53385         * lib/copy-acl.c (qcopy_acl): Likewise.
53386
53387 2008-06-08  Bruno Haible  <bruno@clisp.org>
53388
53389         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53390         declaration.
53391         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53392         (acl_access_nontrivial): Remove MacOS X case.
53393         (file_has_acl): Use acl_extended_nontrivial.
53394         * lib/copy-acl.c (qcopy_acl): Likewise.
53395
53396 2008-06-08  Bruno Haible  <bruno@clisp.org>
53397
53398         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53399
53400 2008-06-08  Jim Meyering  <meyering@redhat.com>
53401
53402         * modules/acl (Maintainer): Add Bruno Haible.
53403
53404 2008-06-07  Bruno Haible  <bruno@clisp.org>
53405
53406         Improve support for Tru64 ACLs.
53407         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53408         ACL on OSF/1.
53409
53410 2008-06-07  Bruno Haible  <bruno@clisp.org>
53411
53412         Add support for MacOS X ACLs.
53413         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53414         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53415         * lib/set-mode-acl.c (qset_acl): Likewise.
53416         * lib/copy-acl.c (qcopy_acl): Likewise.
53417
53418 2008-06-07  Bruno Haible  <bruno@clisp.org>
53419
53420         Fix memory leak introduced on 2008-05-22.
53421         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53422         use.
53423
53424 2008-06-07  Bruno Haible  <bruno@clisp.org>
53425
53426         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53427         to construct an empty ACL.
53428
53429 2008-06-07  Bruno Haible  <bruno@clisp.org>
53430
53431         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53432         precisely.
53433         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53434
53435 2008-06-07  Bruno Haible  <bruno@clisp.org>
53436
53437         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53438         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53439
53440 2008-06-07  Bruno Haible  <bruno@clisp.org>
53441
53442         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53443         regardless of POSIX.
53444         * doc/posix-functions/_longjmp.texi: Likewise.
53445         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53446         SystemV platform in this case.
53447
53448 2008-06-06  Eric Blake  <ebb9@byu.net>
53449
53450         Document abort() bugs.
53451         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53452
53453         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53454         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53455         sigsetjmp.
53456         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53457         siglongjmp, but only as a macro.
53458         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53459         is obsolete.
53460         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53461
53462         Tweak documentation to cover cygwin argz bugs.
53463         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53464         argz bug fix; no code change needed since no cygwin releases
53465         occurred between the last fix and the bug being tested.
53466         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53467         module and recently fixed cygwin bugs.
53468         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53469         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53470         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53471         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53472         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53473         Likewise.
53474         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53475         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53476         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53477         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53478         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53479         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53480         Likewise.
53481
53482         Avoid gcc warning on cygwin.
53483         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53484         !ACL_NO_TRIVIAL]: Avoid unused variable.
53485
53486 2008-06-05  Eric Blake  <ebb9@byu.net>
53487
53488         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53489         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53490         git-version-gen fails to come up with a version.
53491         Reported by Simon Josefsson.
53492
53493 2008-06-05  Jim Meyering  <meyering@redhat.com>
53494             Paul Eggert  <eggert@cs.ucla.edu>
53495
53496         utimens.c: work around a probable Linux kernel bug
53497         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53498         appears to be a kernel bug that causes utimensat to return 280
53499         instead of 0, indicating success.
53500
53501 2008-06-04  Bruno Haible  <bruno@clisp.org>
53502
53503         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53504         2008-06-01 commit.
53505
53506 2008-06-04  Bruno Haible  <bruno@clisp.org>
53507
53508         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53509         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53510         (file_has_acl): Use it. Save errno afterwards.
53511         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53512
53513 2008-06-03  Bruno Haible  <bruno@clisp.org>
53514
53515         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53516         draft code. Simplify #ifs.
53517         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53518         Put Solaris code after POSIX-draft code. Fix comments regarding
53519         Solaris 10, HP-UX. Mention Cygwin.
53520         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53521
53522 2008-06-03  Eric Blake  <ebb9@byu.net>
53523
53524         Provide fallback for older kernels.
53525         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53526         Provide runtime fallback if kernel lacks support.
53527         Reported by Mike Frysinger.
53528
53529 2008-06-02  Bruno Haible  <bruno@clisp.org>
53530
53531         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53532         it exists.
53533
53534 2008-06-02  Bruno Haible  <bruno@clisp.org>
53535
53536         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53537         * lib/copy-acl.c (qcopy_acl): Update comment.
53538
53539 2008-06-02  Bruno Haible  <bruno@clisp.org>
53540
53541         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53542         like ACL APIs.
53543
53544 2008-06-02  Bruno Haible  <bruno@clisp.org>
53545
53546         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53547         * tests/test-set-mode-acl.sh: Likewise.
53548         * tests/test-copy-acl.sh: Likewise.
53549         * tests/test-copy-file.sh: Likewise.
53550
53551 2008-06-02  Bruno Haible  <bruno@clisp.org>
53552
53553         * tests/test-file-has-acl.sh: Remove unused code.
53554
53555 2008-06-01  Bruno Haible  <bruno@clisp.org>
53556
53557         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53558         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53559         messages.
53560         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53561
53562 2008-06-01  Bruno Haible  <bruno@clisp.org>
53563
53564         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53565         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53566         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53567         APIs.
53568         * modules/acl-tests (configure.ac): Remove tests now contained in
53569         m4/acl.m4.
53570
53571 2008-06-02  Jim Meyering  <meyering@redhat.com>
53572
53573         announce-gen: use a better key-server host name
53574         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53575         it may be more consistently reliable.  Suggested by Werner Koch
53576         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53577
53578 2008-06-01  Bruno Haible  <bruno@clisp.org>
53579
53580         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53581         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53582
53583 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53584
53585         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53586
53587 2008-06-01  Bruno Haible  <bruno@clisp.org>
53588
53589         New ACL tests.
53590         * tests/test-file-has-acl.sh: New file.
53591         * tests/test-file-has-acl.c: New file.
53592         * tests/test-set-mode-acl.sh: New file.
53593         * tests/test-set-mode-acl.c: New file.
53594         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53595         * tests/test-copy-acl.c: New file.
53596         * modules/acl-tests: New file, based on modules/copy-file-tests.
53597         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53598         (Depends-on): Add acl-tests.
53599         (configure.ac): Remove checks.
53600         (Makefile.am): Don't create test-sameacls program here any more.
53601
53602 2008-06-01  Bruno Haible  <bruno@clisp.org>
53603
53604         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53605         * tests/test-sameacls.c: Include progname.h.
53606         (main): Invoke set_program_name. Portability fixes for MacOS X,
53607         Solaris, HP-UX.
53608
53609 2008-06-01  Bruno Haible  <bruno@clisp.org>
53610
53611         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53612         function.
53613         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53614
53615 2008-06-01  Bruno Haible  <bruno@clisp.org>
53616
53617         * modules/rpmatch (Depends-on): Add strdup.
53618
53619 2008-06-01  Bruno Haible  <bruno@clisp.org>
53620
53621         * lib/pipe.c: Include unistd-safer.h.
53622         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53623         * modules/pipe (Depends-on): Add unistd-safer.
53624
53625 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53626
53627         * modules/autobuild (configure.ac): Call AB_INIT.
53628
53629 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53630
53631         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53632         Suggested by Bruno Haible <bruno@clisp.org>.
53633
53634 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53635
53636         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53637         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53638         <bruno@clisp.org>.
53639
53640 2008-05-29  Eric Blake  <ebb9@byu.net>
53641
53642         Prefer new POSIX 200x interfaces over futimesat.
53643         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53644         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53645         when available.
53646         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53647
53648 2008-05-28  Bruno Haible  <bruno@clisp.org>
53649
53650         * modules/stpcpy (License): Change to LGPLv2+.
53651         Requested by David Lutterkort <dlutter@redhat.com>.
53652
53653 2008-05-27  Bruno Haible  <bruno@clisp.org>
53654
53655         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53656         current mingw.
53657         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53658
53659 2008-05-27  Bruno Haible  <bruno@clisp.org>
53660
53661         * modules/iconv_open (Link): New section, from module 'iconv'.
53662         * modules/striconv (Link): Likewise.
53663         * modules/striconveh (Link): Likewise.
53664         * modules/xstriconv (Link): Likewise.
53665         * modules/unicodeio (Link): Likewise.
53666         * modules/propername (Link): Likewise.
53667         Reported by Jim Meyering.
53668
53669 2008-05-26  Jim Meyering  <meyering@redhat.com>
53670
53671         sha256: do not artificially restrict buffer length to be < 2^32
53672         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53673         uint32_t to size_t.
53674         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53675         to match.
53676
53677         avoid unaligned access errors, e.g., on sparc
53678         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53679         direct access through a possibly-unaligned uint64* pointer.
53680         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53681         direct access through a possibly-unaligned uint32* pointer.
53682         Prompted by this patch from Tom "spot" Callaway:
53683         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53684
53685         sha512.c: fix typo in comment
53686         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53687
53688 2008-05-25  Bruno Haible  <bruno@clisp.org>
53689
53690         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53691         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53692         (Makefile.am): Update lib_SOURCES.
53693
53694 2008-05-25  Bruno Haible  <bruno@clisp.org>
53695
53696         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53697
53698 2008-05-25  Jim Meyering  <meyering@redhat.com>
53699
53700         useless-if-before-free: freed expr may have white-space differences
53701         * build-aux/useless-if-before-free: Recognize cases in which the
53702         freed expression differs from the tested one in embedded white
53703         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53704         $1 was used, so we can't make any regexp shy.  Improved tests now
53705         detect this.
53706
53707         useless-if-before-free: accept white space in the expression.
53708         * build-aux/useless-if-before-free: For now, any white space
53709         in the expression must be identical in the free argument.
53710
53711         useless-if-before-free: efficiency tweak
53712         * build-aux/useless-if-before-free: Make the expression-matching
53713         regexp "shy".
53714         Make the *outer* regexp shy, not the expr-matching one.
53715
53716         update code-in-comment to accept cast of free arg
53717         * build-aux/useless-if-before-free: Update regexp.
53718
53719 2008-05-25  Bruno Haible  <bruno@clisp.org>
53720
53721         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53722         * modules/copy-file-tests (Files, Makefile.am): Update.
53723         * tests/test-copy-file.c (func_test_copy): Update.
53724
53725 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53726
53727         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53728
53729 2008-05-23  Bruno Haible  <bruno@clisp.org>
53730
53731         Improve support for ACLs on OSF/1.
53732         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53733         Remove fallback for unknown flavors of ACLs.
53734
53735 2008-05-22  Bruno Haible  <bruno@clisp.org>
53736
53737         Add support for ACLs on OSF/1.
53738         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53739         replacements.
53740         (acl_free_text): New macro fallback.
53741         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53742         acl_free.
53743         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53744         acl_free_text function. Require AC_C_INLINE.
53745
53746 2008-05-22  Bruno Haible  <bruno@clisp.org>
53747
53748         Make copy_acl work on MacOS X 10.5.
53749         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53750         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53751         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53752         If MODE_INSIDE_ACL, don't assume that every system has the same text
53753         representation for ACLs as FreeBSD.
53754         * lib/copy-acl.c (copy_acl): Add support for platforms with
53755         !MODE_INSIDE_ACL.
53756         * lib/file-has-acl.c (file_has_acl): Likewise.
53757         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53758         FreeBSD, MacOS X, or IRIX, respectively.
53759
53760 2008-05-22  Bruno Haible  <bruno@clisp.org>
53761
53762         * lib/acl.h: Don't include <sys/acl.h>.
53763         (GETACLCNT): Move fallback to lib/acl-internal.h.
53764         * lib/acl-internal.h: Include <sys/acl.h> here.
53765         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53766
53767 2008-05-22  Bruno Haible  <bruno@clisp.org>
53768
53769         Split off copy_acl function to separate file.
53770         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53771         * lib/acl.c (copy_acl): Moved function to separate file.
53772         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53773         * modules/acl (Files): Add lib/copy-acl.c.
53774         (Makefiles.am): Augment lib_SOURCES.
53775
53776 2008-05-22  Bruno Haible  <bruno@clisp.org>
53777
53778         * modules/copy-file-tests: New file.
53779         * tests/test-copy-file.sh: New file.
53780         * tests/test-copy-file.c: New file.
53781         * tests/test-copy-file-sameacls.c: New file.
53782
53783 2008-05-22  Eric Blake  <ebb9@byu.net>
53784
53785         Avoid gcc warning.
53786         * tests/test-memcmp.c (main): Pass NULL indirectly.
53787
53788 2008-05-21  Bruno Haible  <bruno@clisp.org>
53789
53790         Add reference doc about ACLs.
53791         * doc/acl-resources.txt: New file.
53792         * doc/acl-cygwin.txt: New file.
53793
53794 2008-05-21  Bruno Haible  <bruno@clisp.org>
53795
53796         Avoid one more warning from gcc.
53797         * lib/vasnprintf.c (IF_LINT): Update comments.
53798         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53799
53800 2008-05-21  Jim Meyering  <meyering@redhat.com>
53801
53802         avoid a warning from gcc
53803         * lib/vasnprintf.c (IF_LINT): Define.
53804         (scale10_round_decimal_long_double):
53805         Use it to avoid a "may be used uninitialized" warning.
53806         (scale10_round_decimal_double): Likewise.
53807
53808 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53809
53810         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53811         declared.
53812
53813 2008-05-20  Bruno Haible  <bruno@clisp.org>
53814
53815         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53816         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53817
53818 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53819
53820         * modules/memcmp-tests: New file.
53821         * tests/test-memcmp.c: New file.
53822
53823 2008-05-19  Bruno Haible  <bruno@clisp.org>
53824
53825         * modules/propername (Notice, configure.ac): Put quoted "..." into
53826         --keyword option.
53827         * lib/propername.h: Update comments accordingly.
53828         Reported by Eric Blake.
53829
53830 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53831
53832         * modules/getpass-gnu (Depends-on): Add fseeko.
53833
53834 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53835
53836         * modules/base64-tests: New file.
53837
53838 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53839
53840         * lib/base64.c (base64_decode_ctx): If a decode context structure
53841         was passed in use it to ignore newlines.  If a context structure
53842         was _not_ passed in, continue to treat newlines as garbage (this
53843         is the historical behavior).  Formerly base64_decode.
53844         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53845         takes a decode context structure.
53846         * lib/base64.h (base64_decode): Macro for four-argument calls.
53847         (base64_decode_alloc): Likewise.
53848         * lib/base64.c (base64_decode_ctx): If a decode context structure
53849         was passed in use it to ignore newlines.  If a context structure
53850         was _not_ passed in, continue to treat newlines as garbage (this
53851         is the historical behavior).  Formerly base64_decode.
53852         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53853         takes a decode context structure.
53854         * lib/base64.h (base64_decode): Macro for four-argument calls.
53855         (base64_decode_alloc): Likewise.
53856
53857 2008-05-19  Jim Meyering  <meyering@redhat.com>
53858
53859         avoid a warning from gcc
53860         * lib/trim.c (IF_LINT): Define.
53861         (trim2): Use it to avoid a "may be used uninitialized" warning.
53862
53863         Fix doc typo.
53864         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53865
53866 2008-05-19  Bruno Haible  <bruno@clisp.org>
53867
53868         * doc/glibc-functions/getpass.texi: Document limits of other
53869         implementations.
53870
53871 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53872             Bruno Haible <bruno@clisp.org>
53873
53874         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53875
53876 2008-05-18  Bruno Haible  <bruno@clisp.org>
53877
53878         * modules/propername: New file, from GNU gettext.
53879         * lib/propername.h: New file, from GNU gettext.
53880         * lib/propername.c: New file, from GNU gettext.
53881         * MODULES.html.sh (Internationalization functions): Add propername.
53882
53883 2008-05-16  Jim Meyering  <meyering@redhat.com>
53884             Bruno Haible  <bruno@clisp.org>
53885
53886         Avoid some warnings from "gcc -Wshadow".
53887         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53888
53889 2008-05-15  Eric Blake  <ebb9@byu.net>
53890
53891         Extend previous patch to cygwin 1.7.0.
53892         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53893         fast implementation in cygwin >= 1.7.0.
53894         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53895         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53896
53897 2008-05-15  Bruno Haible  <bruno@clisp.org>
53898
53899         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53900         implementation in glibc >= 2.9.
53901         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53902         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53903
53904 2008-05-15  Bruno Haible  <bruno@clisp.org>
53905
53906         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53907         (Unicode string functions): Add unilbrk/*.
53908         Reported by Karl Berry.
53909
53910 2008-05-15  Eric Blake  <ebb9@byu.net>
53911
53912         Fix violation of <stdbool.h> replacement in regex.
53913         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53914         * lib/regexec.c (re_search_internal): Likewise.
53915         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53916
53917 2008-05-15  Jim Meyering  <meyering@redhat.com>
53918
53919         avoid distracting test output when git or cvs is not found
53920         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53921         * tests/test-vc-list-files-git.sh: Likewise.
53922
53923 2008-05-15  Eric Blake  <ebb9@byu.net>
53924
53925         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53926         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53927         glibc version.
53928         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53929         * doc/posix-functions/strstr.texi (strstr): Likewise.
53930         * lib/str-two-way.h (MAX): Sychronize with glibc.
53931
53932 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53933
53934         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53935         opr.ctx_type.
53936         (calc_first): Initialize constraint field.
53937         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53938         Fix grammar.
53939         (duplicate_node): Merge constraint field for all node types.
53940         (calc_eclosure_iter): Look at constraint field for all node types.
53941         * lib/regex_internal.c (create_cd_newstate): Don't look at
53942         opr.ctx_type.
53943
53944 2008-05-14  Bruno Haible  <bruno@clisp.org>
53945
53946         Help GCC to do better code generation.
53947         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53948         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53949         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53950         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53951         Declare with attribute 'malloc' if supported.
53952
53953 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53954
53955         use "echo STR|wc -c" rather than unportable "expr length STR"
53956         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53957         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53958
53959 2008-05-14  Jim Meyering  <meyering@redhat.com>
53960
53961         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53962         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53963         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53964         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53965         via Collin Lasse.
53966
53967 2008-05-14  Eric Blake  <ebb9@byu.net>
53968
53969         Avoid quadratic growth in gl_LIBSOURCES.
53970         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53971         Suggested by Bruno Haible.
53972
53973         Test xmemdup0.
53974         * modules/xmemdup0-tests: New file.
53975         * tests/test-xmemdup0.c: Likewise.
53976
53977 2008-05-13  Eric Blake  <ebb9@byu.net>
53978
53979         Split xmemdup0 into its own module.
53980         * modules/xmemdup0: New file.
53981         * lib/xmemdup0.h: Likewise.
53982         * lib/xmemdup0.c: Likewise.
53983         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53984         * lib/xalloc.h (xmemdup0): Remove.
53985         * lib/xmalloc.c (xmemdup0): Likewise.
53986
53987 2008-05-13  Eric Blake  <ebb9@byu.net>
53988             Bruno Haible  <bruno@clisp.org>
53989
53990         Reduce number of forks required during autoconf.
53991         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53992         and gl_LIBSOURCES_DIR.
53993         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53994         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53995         m4_syscmd per file.
53996         <m4_foreach_w>: Move...
53997         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53998
53999 2008-05-13  Eric Blake  <ebb9@byu.net>
54000
54001         * gnulib-tool: Fix various comment typos.
54002
54003 2008-05-12  Bruno Haible  <bruno@clisp.org>
54004
54005         Tailor the linebreaking algorithm.
54006         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
54007
54008 2008-05-12  Bruno Haible  <bruno@clisp.org>
54009
54010         Update to Unicode 5.0.0.
54011         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
54012         LBP_JV, LBP_JT. Redistribute values.
54013         (unilbrk_table): Change size.
54014         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
54015         Unicode TR#14 rev. 22.
54016         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
54017         LBP_JV, LBP_JT. Redistribute values.
54018         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
54019         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
54020         Update.
54021         * lib/unilbrk/lbrkprop1.h: Regenerated.
54022         * lib/unilbrk/lbrkprop2.h: Regenerated.
54023         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
54024         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
54025         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
54026         Likewise.
54027         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
54028         Likewise.
54029         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
54030         result.
54031         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
54032         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
54033         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
54034         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
54035         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
54036         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
54037
54038 2008-05-11  Bruno Haible  <bruno@clisp.org>
54039
54040         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
54041
54042 2008-05-11  Bruno Haible  <bruno@clisp.org>
54043
54044         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
54045         * modules/unilbrk/gen-lbrk: New file.
54046
54047 2008-05-11  Bruno Haible  <bruno@clisp.org>
54048
54049         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
54050         * m4/sha512.m4 (gl_SHA512): Likewise.
54051
54052 2008-05-11  Jim Meyering  <meyering@redhat.com>
54053
54054         New modules: crypto/sha256, crypto/sha512 (from coreutils)
54055         * modules/crypto/sha256: New file.
54056         * modules/crypto/sha512: Likewise.
54057         * lib/sha256.c: Likewise.
54058         * lib/sha256.h: Likewise.
54059         * lib/sha512.c: Likewise.
54060         * lib/sha512.h: Likewise.
54061         * lib/u64.h: Likewise.
54062         * m4/sha256.m4: Likewise.
54063         * m4/sha512.m4: Likewise.
54064         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
54065
54066 2008-05-10  Bruno Haible  <bruno@clisp.org>
54067
54068         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
54069         (Input/Output <stdio.h>): Add xprintf.
54070         (Signal handling <signal.h>): Add strsignal.
54071         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
54072         (Core language properties): Add func.
54073         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
54074         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
54075         strings.
54076         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
54077         (Input/output): New section.
54078         (File system functions): Add openat-die, stat-macros.
54079         (Networking functions): Add sockets.
54080         (Unicode string functions): Add unictype/*.
54081         (Support for building libraries and executables): Add gperf.
54082         (Support for building documentation): Add agpl-3.0.
54083         (Misc): Add nocrash.
54084
54085 2008-05-10  Bruno Haible  <bruno@clisp.org>
54086
54087         * modules/unictype/gen-ctype: New file.
54088
54089 2008-05-10  Jim Meyering  <meyering@redhat.com>
54090
54091         Make chdir-safer.c more efficient on a system with no symlinks.
54092         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
54093         also if ELOOP is zero.  Suggested by Bruno Haible.
54094
54095         Make chdir-safer.c slightly safer.
54096         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
54097         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
54098
54099         Avoid compile failure on systems without ELOOP (like mingw).
54100         * lib/chdir-safer.c (ELOOP): Define if not already defined.
54101         Reported by Bruno Haible.
54102
54103 2008-05-10  Bruno Haible  <bruno@clisp.org>
54104
54105         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
54106         (is_utf8_encoding): Use a case-insensitive comparison.
54107         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
54108         streq.
54109
54110 2008-05-10  Bruno Haible  <bruno@clisp.org>
54111
54112         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
54113         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
54114         * lib/unilbrk/ulc-common.h (iconv_string_length,
54115         iconv_string_keeping_offsets): Remove declarations.
54116         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
54117         Don't include <iconv.h>, streq.h, xsize.h.
54118         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
54119         conversion.
54120         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
54121         <iconv.h>, streq.h, xsize.h.
54122         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
54123         conversion.
54124         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
54125         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
54126         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
54127         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
54128
54129 2008-05-10  Bruno Haible  <bruno@clisp.org>
54130
54131         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
54132         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
54133
54134         * modules/unilbrk/u32-width-linebreaks-tests: New file.
54135         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
54136
54137         * modules/unilbrk/u16-width-linebreaks-tests: New file.
54138         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
54139
54140         * modules/unilbrk/u8-width-linebreaks-tests: New file.
54141         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
54142
54143         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
54144         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
54145
54146         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
54147         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
54148
54149         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
54150         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
54151
54152         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
54153         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
54154
54155 2008-05-10  Bruno Haible  <bruno@clisp.org>
54156
54157         Split up 'linebreak' module.
54158         * lib/unilbrk.h: New file, based on lib/linebreak.h.
54159         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
54160         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
54161         modifications.
54162         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
54163         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
54164         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
54165         lib/linebreak.c.
54166         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
54167         lib/linebreak.c.
54168         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
54169         lib/linebreak.c.
54170         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
54171         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
54172         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
54173         lib/linebreak.c.
54174         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
54175         lib/linebreak.c.
54176         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
54177         lib/linebreak.c.
54178         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
54179         lib/linebreak.c.
54180         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
54181         lib/linebreak.c.
54182         * modules/unilbrk/base: New file.
54183         * modules/unilbrk/tables: New file.
54184         * modules/unilbrk/u8-possible-linebreaks: New file.
54185         * modules/unilbrk/u16-possible-linebreaks: New file.
54186         * modules/unilbrk/u32-possible-linebreaks: New file.
54187         * modules/unilbrk/ulc-common: New file.
54188         * modules/unilbrk/ulc-possible-linebreaks: New file.
54189         * modules/unilbrk/u8-width-linebreaks: New file.
54190         * modules/unilbrk/u16-width-linebreaks: New file.
54191         * modules/unilbrk/u32-width-linebreaks: New file.
54192         * modules/unilbrk/ulc-width-linebreaks: New file.
54193         * lib/linebreak.h: Remove file.
54194         * lib/linebreak.c: Remove file.
54195         * m4/linebreak.m4: Remove file.
54196         * modules/linebreak: Remove file.
54197         * NEWS: Mention the changes.
54198
54199 2008-05-09  Eric Blake  <ebb9@byu.net>
54200
54201         Add xmemdup0.
54202         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
54203         implementation.
54204         * lib/xmalloc.c (xmemdup0): New C implementation.
54205
54206 2008-05-08  Bruno Haible  <bruno@clisp.org>
54207
54208         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
54209
54210 2008-05-07  Eric Blake  <ebb9@byu.net>
54211
54212         Support cross-compilation of <wctype.h>.
54213         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
54214         AC_CACHE_CHECK.
54215
54216 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
54217
54218         * build-aux/vc-list-files: Add support for bzr.
54219
54220 2008-05-03  Jim Meyering  <meyering@redhat.com>
54221
54222         avoid failed assertion with tight malloc
54223         * tests/test-getndelim2.c: Correct an off-by-one assertion.
54224
54225 2008-05-03  Simon Josefsson  <simon@josefsson.org>
54226
54227         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
54228         are needed from arpa/inet.h.
54229         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
54230         Reported by Bruno Haible.
54231
54232 2008-05-02  Jim Meyering  <meyering@redhat.com>
54233
54234         avoid compilation error on FreeBSD 6
54235         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54236
54237 2008-05-01  Jim Meyering  <meyering@redhat.com>
54238
54239         useless-if-before-free: correct --help's exit status description
54240         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54241         for one or more matches, etc.  Reported by Bruno Haible.
54242
54243         vc-list-files: make the stand-alone gnulib test work
54244         * modules/vc-list-files-tests (configure.ac):
54245         Define and AC_SUBST abs_aux_dir.
54246         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54247         $(abs_top_srcdir) to each script and having each of them
54248         duplicate the work of setting PATH, set PATH here, using
54249         the new variable, abs_aux_dir instead.
54250         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54251         * tests/test-vc-list-files-git.sh: Likewise.
54252         Reported by Bruno Haible.
54253
54254 2008-05-01  Bruno Haible  <bruno@clisp.org>
54255
54256         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54257         reallocation. Rename 'done' to 'found_delimiter'.
54258
54259 2008-05-01  Jim Meyering  <meyering@redhat.com>
54260
54261         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54262         * build-aux/vc-list-files: Use `...`, not $(...).
54263
54264 2008-04-30  Jim Meyering  <meyering@redhat.com>
54265
54266         add tests for vc-list-files
54267         * modules/vc-list-files-tests: New module.
54268         * tests/test-vc-list-files-cvs.sh: New file.
54269         * tests/test-vc-list-files-git.sh: New file.
54270
54271         avoid a warning from gcc
54272         * lib/getndelim2.c (IF_LINT): Define.
54273         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54274
54275         vc-list-files: work properly with build-aux/cvsu, too
54276         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54277         to all cvs-based clauses.
54278
54279         vc-list-files: work properly in the CVS+awk case, too
54280         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54281
54282         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54283         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54284         take more than one file argument, so .  Add quotes, just in case $dir
54285         ever contains a shell meta-character.  Prompted by Soren Hansen in
54286         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54287
54288 2008-04-29  Eric Blake  <ebb9@byu.net>
54289
54290         Optimize getndelim2 to use block operations when possible.
54291         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54292         freadseek, and memchr2.
54293         * lib/getndelim2.c (getndelim2): Use them for block reads.
54294
54295 2008-04-29  Bruno Haible  <bruno@clisp.org>
54296
54297         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54298         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54299         * modules/inet_ntop (Depends-on): Add extensions.
54300         * modules/inet_pton (Depends-on): Likewise.
54301         Reported by Simon Josefsson.
54302
54303 2008-04-29  Jim Meyering  <meyering@redhat.com>
54304
54305         When the is more than one match in a block, match all of them.
54306         * build-aux/useless-if-before-free: Iterate through each block
54307         until there are no more matches.
54308
54309         Fix broken useless-if-before-free script.
54310         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54311         the expression to match cast of argument to free-like function.
54312
54313 2008-04-29  Eric Blake  <ebb9@byu.net>
54314
54315         Use new header.
54316         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54317
54318 2008-04-29  Jim Meyering  <meyering@redhat.com>
54319
54320         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54321         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54322         by gnulib to exist and to declare e.g., inet_ntop.
54323         Don't include "inet_ntop.h", now removed.
54324
54325         * m4/arpa_inet_h.m4: Remove trailing blanks.
54326
54327 2008-04-29  Eric Blake  <ebb9@byu.net>
54328
54329         Silence valgrind on safe reads beyond potential array bounds.
54330         * lib/rawmemchr.valgrind: New file.
54331         * lib/strchrnul.valgrind: Likewise.
54332         * modules/rawmemchr (Files): Distribute new file.
54333         * modules/strchrnul (Files): Likewise.
54334         Suggested by Bruno Haible.
54335
54336 2008-04-29  Bruno Haible  <bruno@clisp.org>
54337
54338         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
54339         (inet_ntop, inet_pton): Change portability warning's wording.
54340         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
54341         Invoke gl_CHECK_NEXT_HEADERS.
54342         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
54343         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
54344         set ARPA_INET_H.
54345         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54346         * modules/arpa_inet (Description): No longer only for systems that
54347         lack it.
54348         (Depends-on): Add include_next.
54349         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
54350         HAVE_ARPA_INET_H.
54351
54352 2008-04-29  Jim Meyering  <meyering@redhat.com>
54353
54354         * modules/mkdir (License): Re-license as LGPLv2+.
54355
54356 2008-04-29  Bruno Haible  <bruno@clisp.org>
54357
54358         * modules/rawmemchr (Maintainer): Set to Eric.
54359         * modules/strchrnul (Maintainer): Likewise.
54360
54361 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54362
54363         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54364         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54365
54366         * modules/arpa_inet (arpa/inet.h): Use them.
54367
54368 2008-04-28  Eric Blake  <ebb9@byu.net>
54369
54370         Test getndelim2.
54371         * modules/getndelim2-tests: New file.
54372         * tests/test-getndelim2.c: Likewise.
54373         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54374         stream.
54375         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54376
54377         * MODULES.html.sh: Document new module.
54378
54379 2008-04-20  Bruno Haible  <bruno@clisp.org>
54380
54381         * lib/c-stack.c (die): Use raise.
54382         * modules/c-stack (Depends-on): Add raise.
54383
54384 2008-04-28  Bruno Haible  <bruno@clisp.org>
54385
54386         Expect rpmatch to be declared.
54387         * lib/yesno.c (rpmatch): Remove declaration.
54388
54389         Declare rpmatch.
54390         * lib/stdlib.in.h (rpmatch): New declaration.
54391         * lib/rpmatch.c: Include <stdlib.h> first.
54392         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54393         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54394         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54395         HAVE_RPMATCH.
54396         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54397         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54398         (Include): Set to <stdlib.h>.
54399         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54400         HAVE_RPMATCH.
54401         * NEWS: Document the change.
54402
54403 2008-04-28  Bruno Haible  <bruno@clisp.org>
54404
54405         Change rpmatch to use nl_langinfo when appropriate.
54406         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54407         (N_): New macro.
54408         (localized_pattern): New function/macro.
54409         (try): Remove match, nomatch arguments. Copy the pattern into safe
54410         memory before caching it.
54411         (rpmatch): Use localized_pattern. Add translator comments.
54412         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54413         Suggested by Eric Blake.
54414         * modules/rpmatch (Depends-on): Add stdbool.
54415
54416 2008-04-28  Eric Blake  <ebb9@byu.net>
54417
54418         Add rawmemchr module, matching glibc.
54419         * modules/string (Makefile.am): New indicator.
54420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54421         * lib/string.in.h (rawmemchr): Declare when appropriate.
54422         * modules/rawmemchr: New file.
54423         * m4/rawmemchr.m4: Likewise.
54424         * lib/rawmemchr.c: Likewise.
54425         * modules/rawmemchr-tests: Likewise.
54426         * tests/test-rawmemchr.c: Likewise.
54427         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54428         module.
54429         * modules/strchrnul (Depends-on): Add rawmemchr.
54430         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54431
54432         Whitespace cleanup.
54433         * tests/test-strchrnul.c: Reindent.
54434         * lib/strchrnul.c: Likewise.
54435
54436         Optimize and test strchrnul.
54437         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54438         * modules/strchrnul-tests: New file.
54439         * tests/test-strchrnul.c: Likewise.
54440
54441         Remove intprops dependency.
54442         * modules/memchr (Depends-on): Remove intprops.
54443         * modules/memrchr (Depends-on): Likewise.
54444         * modules/memchr2 (Depends-on): Likewise.
54445         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54446         * lib/memrchr.c (__memrchr): Likewise.
54447         * lib/memrchr2.c (memchr2): Likewise.
54448         Reported by Simon Josefsson.
54449
54450 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54451
54452         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54453         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54454
54455 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54456
54457         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54458
54459         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54460
54461         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54462
54463         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54464         declarations.
54465         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54466
54467         * m4/inet_pton.m4: Don't check for header files.
54468
54469         * m4/inet_ntop.m4: Don't check for header files.
54470
54471 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54472
54473         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54474         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54475         trigger for cygwin).
54476         Reported by Bruno Haible  <bruno@clisp.org>.
54477
54478 2008-04-28  Bruno Haible  <bruno@clisp.org>
54479
54480         * doc/posix-functions/strdup.texi: Mention mingw problem.
54481
54482 2008-04-27  Bruno Haible  <bruno@clisp.org>
54483
54484         * modules/stat-time-tests (Depends-on): Add sleep.
54485         * tests/test-stat-time.c (force_unlink): New function.
54486         (cleanup): Use it.
54487         (test_mtime): Remove the ctime related tests.
54488         (test_ctime): New function, containing the ctime related tests.
54489         (main): Call test_ctime, except on native Windows platforms.
54490
54491 2008-04-27  Bruno Haible  <bruno@clisp.org>
54492
54493         * lib/rpmatch.c (rpmatch): Add some comments.
54494         Reported by James Youngman <jay@gnu.org>.
54495
54496 2008-04-27  Bruno Haible  <bruno@clisp.org>
54497
54498         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54499         quiet NaNs.
54500
54501 2008-04-27  Bruno Haible  <bruno@clisp.org>
54502
54503         Make test-yesno.sh work on mingw.
54504         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54505         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54506         (main): Set stdin to binary mode.
54507         * modules/yesno-tests (Depends-on): Add binary-io.
54508
54509 2008-04-27  Bruno Haible  <bruno@clisp.org>
54510
54511         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54512         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54513         argument that lie outside the IEEE 854 domain.
54514         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54515         (gl_ISFINITE): Use it.
54516         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54517
54518 2008-04-27  Bruno Haible  <bruno@clisp.org>
54519
54520         Allow local renaming in config.h.
54521         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54522
54523 2008-04-27  Bruno Haible  <bruno@clisp.org>
54524
54525         * lib/memchr.c (__memchr): Change type of 'i'.
54526         * lib/memchr2.c (memchr2): Likewise.
54527
54528 2008-04-26  Eric Blake  <ebb9@byu.net>
54529         and Bruno Haible  <bruno@clisp.org>
54530
54531         Optimize and test memrchr.
54532         * modules/memrchr (Depends-on): Add intprops.
54533         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54534         * modules/memrchr-tests: New file.
54535         * tests/test-memrchr.c: New file.
54536
54537 2008-04-26  Bruno Haible  <bruno@clisp.org>
54538
54539         Add tentative support for DragonFly BSD.
54540         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54541         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54542         fp.
54543         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54544         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54545         * lib/fpurge.c (fpurge): Likewise.
54546         * lib/freadable.c (freaadable): Likewise.
54547         * lib/freadahead.c (freadahead): Likewise.
54548         * lib/freading.c (freading): Likewise.
54549         * lib/freadptr.c (freadptr): Likewise.
54550         * lib/freadseek.c (freadptrinc): Likewise.
54551         * lib/fseeko.c (fseeko): Likewise.
54552         * lib/fseterr.c (fseterr): Likewise.
54553         * lib/fwritable.c (fwritable): Likewise.
54554         * lib/fwriting.c (fwriting): Likewise.
54555
54556 2008-04-26  Bruno Haible  <bruno@clisp.org>
54557
54558         * lib/stdio-impl.h: New file.
54559         * lib/fbufmode.c: Include stdio-impl.h.
54560         (fbufmode): Use fp_, remove redundant #defines.
54561         * lib/fflush.c: Include stdio-impl.h.
54562         (clear_ungetc_buffer): Remove redundant #defines.
54563         * lib/fpurge.c: Include stdio-impl.h.
54564         (fpurge): Remove redundant #defines.
54565         * lib/freadable.c: Include stdio-impl.h.
54566         (freadable): Remove redundant #defines.
54567         * lib/freadahead.c: Include stdio-impl.h.
54568         (freadahead): Remove redundant #defines.
54569         * lib/freading.c: Include stdio-impl.h.
54570         (freading): Remove redundant #defines.
54571         * lib/freadptr.c: Include stdio-impl.h.
54572         (freadptr): Remove redundant #defines.
54573         * lib/freadseek.c: Include stdio-impl.h.
54574         (freadptrinc): Remove redundant #defines.
54575         * lib/fseeko.c: Include stdio-impl.h.
54576         (rpl_fseeko): Remove redundant #defines.
54577         * lib/fseterr.c: Include stdio-impl.h.
54578         (fseterr): Remove redundant #defines.
54579         * lib/fwritable.c: Include stdio-impl.h.
54580         (fwritable: Remove redundant #defines.
54581         * lib/fwriting.c: Include stdio-impl.h.
54582         (fwriting): Remove redundant #defines.
54583         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54584         * modules/fflush (Files): Likewise.
54585         * modules/fpurge (Files): Likewise.
54586         * modules/freadable (Files): Likewise.
54587         * modules/freadahead (Files): Likewise.
54588         * modules/freading (Files): Likewise.
54589         * modules/freadptr (Files): Likewise.
54590         * modules/freadseek (Files): Likewise.
54591         * modules/fseeko (Files): Likewise.
54592         * modules/fseterr (Files): Likewise.
54593         * modules/fwritable (Files): Likewise.
54594         * modules/fwriting (Files): Likewise.
54595
54596 2008-04-26  Bruno Haible  <bruno@clisp.org>
54597
54598         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54599         restore_seek_optimization, update_fpos_cache): New functions, extracted
54600         from rpl_fflush.
54601         (rpl_fflush): Use them.
54602         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54603         (gl_REPLACE_FFLUSH): Use it.
54604
54605 2008-04-26  Bruno Haible  <bruno@clisp.org>
54606
54607         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54608         on Solaris.
54609         * tests/test-xstrtoimax.sh: Likewise.
54610         * tests/test-xstrtoumax.sh: Likewise.
54611         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54612
54613 2008-04-26  Bruno Haible  <bruno@clisp.org>
54614
54615         * modules/memchr-tests: New file.
54616         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54617
54618 2008-04-26  Eric Blake  <ebb9@byu.net>
54619             Bruno Haible  <bruno@clisp.org>
54620
54621         * lib/memchr.c: Include intprops.h.
54622         (__memchr): Optimize parallel detection of matching bytes. Rename local
54623         variables. Add explanatory comments.
54624
54625 2008-04-26  Bruno Haible  <bruno@clisp.org>
54626
54627         Fix module 'memchr', broken since 2000-10-28.
54628         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54629
54630 2008-04-26  Bruno Haible  <bruno@clisp.org>
54631
54632         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54633         comments.
54634
54635 2008-04-25  Eric Blake  <ebb9@byu.net>
54636
54637         Use native fstatat on cygwin 1.7.0.
54638         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54639         first.
54640
54641 2008-04-23  Eric Blake  <ebb9@byu.net>
54642
54643         Improve memchr2 performance.
54644         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54645         NUL bytes.
54646         * modules/memchr2 (Depends-on): Use intprops.h.
54647
54648 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54649
54650         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54651         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54652         <blp@cs.stanford.edu>.
54653
54654 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54655
54656         * lib/arpa_inet.in.h: New file.
54657
54658         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54659         (Makefile.am): Sed in substitute header file.
54660
54661         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54662         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54663
54664         * modules/inet_ntop (configure.ac): Use
54665         gl_ARPA_INET_MODULE_INDICATOR.
54666
54667         * modules/inet_pton (configure.ac): Use
54668         gl_ARPA_INET_MODULE_INDICATOR.
54669
54670 2008-04-22  Jim Meyering  <meyering@redhat.com>
54671
54672         * modules/verify (License): Re-license as LGPLv2+.
54673
54674 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54675
54676         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54677         parameter to void* as per POSIX standard (MinGW uses char*).
54678
54679 2008-04-21  Bruno Haible  <bruno@clisp.org>
54680
54681         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54682         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54683         Define to replacements if REPLACE_ISWCNTRL is 1.
54684         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54685         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54686         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54687         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54688         what it fixes.
54689         * doc/posix-functions/iswalpha.texi: Likewise.
54690         * doc/posix-functions/iswblank.texi: Likewise.
54691         * doc/posix-functions/iswcntrl.texi: Likewise.
54692         * doc/posix-functions/iswdigit.texi: Likewise.
54693         * doc/posix-functions/iswgraph.texi: Likewise.
54694         * doc/posix-functions/iswlower.texi: Likewise.
54695         * doc/posix-functions/iswprint.texi: Likewise.
54696         * doc/posix-functions/iswpunct.texi: Likewise.
54697         * doc/posix-functions/iswspace.texi: Likewise.
54698         * doc/posix-functions/iswupper.texi: Likewise.
54699         * doc/posix-functions/iswxdigit.texi: Likewise.
54700         Reported by Alain Guibert.
54701
54702 2008-04-21  Bruno Haible  <bruno@clisp.org>
54703
54704         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54705         Patch by Alain Guibert.
54706
54707 2008-04-21  Bruno Haible  <bruno@clisp.org>
54708
54709         Fix test failures on mingw.
54710         * tests/test-xstrtol.c (print_no_progname): New function.
54711         (main): Install it in error_print_progname hook.
54712         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54713         * tests/test-xstrtoimax.sh: Likewise.
54714         * tests/test-xstrtoumax.sh: Likewise.
54715
54716 2008-04-21  Bruno Haible  <bruno@clisp.org>
54717
54718         Fix test failure on mingw.
54719         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54720
54721 2008-04-21  Bruno Haible  <bruno@clisp.org>
54722
54723         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54724         Actually assign a value.
54725
54726 2008-04-20  Bruno Haible  <bruno@clisp.org>
54727
54728         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54729         take 2.
54730         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54731         'canonicalize-lgpl' module is also used.
54732         * lib/canonicalize-lgpl.c: Undo last change.
54733         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54734
54735 2008-04-20  Bruno Haible  <bruno@clisp.org>
54736
54737         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54738         config.h. Provide _mkdir based fallback for mingw.
54739         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54740         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54741         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54742         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54743         rather than defining mkdir in config.h.
54744         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54745         (gl_SYS_STAT_H_DEFAULTS): New macro.
54746         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54747         HAVE_IO_H any more.
54748         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54749         HAVE_DECL_MKDIR and HAVE_IO_H.
54750
54751 2008-04-20  Bruno Haible  <bruno@clisp.org>
54752
54753         * lib/isapipe.c: Port to native Windows platforms.
54754
54755 2008-04-20  Bruno Haible  <bruno@clisp.org>
54756
54757         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54758
54759 2008-04-21  Eric Blake  <ebb9@byu.net>
54760
54761         Work around preprocessors that don't handle UINTMAX_MAX.
54762         * lib/memchr2.c (memchr2): Avoid embedded #if.
54763         Reported by Alain Guibert, fix suggested by Bruno Haible.
54764
54765 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54766
54767         * doc/posix-functions/strftime.texi (strftime): Explain better
54768         Windows incompatibility.  Suggested by Micah Cowan
54769         <micah@cowan.name>.
54770
54771 2008-04-20  Bruno Haible  <bruno@clisp.org>
54772
54773         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54774         unistr/u8-mblen.
54775
54776 2008-04-20  Bruno Haible  <bruno@clisp.org>
54777
54778         Fix test failure on platforms with non-GNU iconv.
54779         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54780         (U_TO_U8): Use it, rather than u16_to_u8.
54781         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54782         units at the end of the input string.
54783         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54784
54785 2008-04-20  Bruno Haible  <bruno@clisp.org>
54786
54787         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54788         when the resulting length is 0.
54789         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54790
54791 2008-04-20  Bruno Haible  <bruno@clisp.org>
54792
54793         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54794         works.
54795         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54796
54797 2008-04-20  Bruno Haible  <bruno@clisp.org>
54798
54799         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54800         * modules/tsearch-tests (configure.ac): Test for initstate function.
54801
54802 2008-04-20  Bruno Haible  <bruno@clisp.org>
54803
54804         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54805         for nlink_t if missing.
54806         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54807
54808 2008-04-19  Bruno Haible  <bruno@clisp.org>
54809
54810         Work around snprintf bug on Linux libc5.
54811         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54812         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54813         gl_SNPRINTF_SIZE1.
54814         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54815         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54816         that test failed.
54817         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54818         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54819         * modules/snprintf (Files): Add m4/printf.m4.
54820         * modules/vsnprintf (Files): Likewise.
54821         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54822         * doc/posix-functions/vsnprintf.texi: Likewise.
54823
54824 2008-04-19  Bruno Haible  <bruno@clisp.org>
54825
54826         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54827         from 0.0058 to less than 10^-7.
54828
54829 2008-04-19  Bruno Haible  <bruno@clisp.org>
54830
54831         Fix rounding when a precision is given.
54832         * lib/vasnprintf.c (is_borderline): New function.
54833         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54834         9...9x.
54835         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54836         %e, %g.
54837         * tests/test-vasprintf-posix.c (test_function): Likewise.
54838         * tests/test-snprintf-posix.h (test_function): Likewise.
54839         * tests/test-sprintf-posix.h (test_function): Likewise.
54840         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54841         * tests/test-printf-posix.h (test_function): Likewise.
54842         * tests/test-printf-posix.output: Update.
54843         Reported by John Darrington <john@darrington.wattle.id.au> via
54844         Ben Pfaff <blp@cs.stanford.edu>.
54845
54846 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54847
54848         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54849         Suggested by Bruno Haible <bruno@clisp.org>.
54850
54851 2008-04-17  Bruno Haible  <bruno@clisp.org>
54852
54853         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54854         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54855         implementation.
54856         Patch by Bruce Merry <bmerry@gmail.com>.
54857
54858 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54859
54860         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54861         doesn't work under Windows.
54862
54863 2008-04-16  Bruno Haible  <bruno@clisp.org>
54864
54865         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54866         New macros.
54867         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54868         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54869         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54870         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54871         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54872         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54873         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54874         macros.
54875         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54876         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54877         Northern Sotho, Uighur.
54878
54879 2008-04-16  Bruno Haible  <bruno@clisp.org>
54880
54881         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54882         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54883         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54884         Reported by Daniel Bergström <daniel@octocode.com>.
54885
54886 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54887             Bruno Haible  <bruno@clisp.org>
54888
54889         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54890         function.
54891         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54892         New functions, mostly extracted from gl_locale_name_default.
54893         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54894
54895 2008-04-16  Eric Blake  <ebb9@byu.net>
54896
54897         Adjust strtod detection to catch glibc 2.7 bug.
54898         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54899         Reported by John Gatewood Ham.
54900
54901 2008-04-16  Bruno Haible  <bruno@clisp.org>
54902
54903         Add tentative support for Linux libc5.
54904         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54905         * lib/fpurge.c (fpurge): Likewise.
54906         * lib/freadable.c (freadable): Likewise.
54907         * lib/freadahead.c (freadahead): Likewise.
54908         * lib/freading.c (freading): Likewise.
54909         * lib/freadptr.c (freadptr): Likewise.
54910         * lib/freadseek.c (freadptrinc): Likewise.
54911         * lib/fseeko.c (rpl_fseeko): Likewise.
54912         * lib/fseterr.c (fseterr): Likewise.
54913         * lib/fwritable.c (fwritable): Likewise.
54914         * lib/fwriting.c (fwriting): Likewise.
54915         Reported by Alain Guibert <alguibert+bts@free.fr>.
54916
54917 2008-04-15  Bruno Haible  <bruno@clisp.org>
54918
54919         * modules/mathl (configure.ac): Define module indicator.
54920
54921 2008-04-15  Bruno Haible  <bruno@clisp.org>
54922
54923         * lib/logl.c (logl): Remove unused variables.
54924
54925 2008-04-15  Bruno Haible  <bruno@clisp.org>
54926
54927         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54928         fails.
54929
54930 2008-04-15  Bruno Haible  <bruno@clisp.org>
54931
54932         * lib/trim.c (trim2): Fix argument of isspace() macro.
54933
54934 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54935
54936         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54937         to 0.
54938         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54939
54940 2008-04-14  Bruno Haible  <bruno@clisp.org>
54941
54942         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54943         AC_LANG_PROGRAM argument.
54944         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54945         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54947         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54948         * m4/math_h.m4 (gl_MATH_H): Likewise.
54949         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54950         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54951         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54952         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54953         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54954         * m4/regex.m4 (gl_REGEX): Likewise.
54955         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54956         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54957         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54958         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54959         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54960         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54961         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54962         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54963
54964 2008-04-14  Jim Meyering  <meyering@redhat.com>
54965
54966         test-strtod: fix typos: s/abs/fabs/
54967         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54968
54969 2008-04-13  Bruno Haible  <bruno@clisp.org>
54970
54971         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54972         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54973         module is also used and while not building the reloc-wrapper.
54974
54975 2008-04-13  Bruno Haible  <bruno@clisp.org>
54976
54977         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54978
54979 2008-04-13  Bruno Haible  <bruno@clisp.org>
54980
54981         Fix AIX compilation failure introduced on 2008-04-02.
54982         * tests/test-frexp.c (exp): Undefine before redefining.
54983         * tests/test-frexpl.c (exp): Likewise.
54984
54985 2008-04-13  Bruno Haible  <bruno@clisp.org>
54986
54987         Work around a HP-UX stdio bug.
54988         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54989         * tests/test-ftello.c (main): Likewise.
54990         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54991         * doc/posix-functions/ftello.texi: Likewise.
54992
54993 2008-04-13  Bruno Haible  <bruno@clisp.org>
54994
54995         Make test-signbit pass on HP-UX/hppa.
54996         * tests/test-signbit.c (minus_zerol): New variable.
54997         (test_signbitl): Use it.
54998
54999 2008-04-13  Bruno Haible  <bruno@clisp.org>
55000
55001         Make truncl work on OSF/1 4.0.
55002         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
55003         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
55004         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
55005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
55006         HAVE_DECL_TRUNCL.
55007         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
55008         HAVE_DECL_TRUNCL.
55009         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
55010
55011 2008-04-13  Bruno Haible  <bruno@clisp.org>
55012
55013         * lib/unictype.h: Remove trailing comma from enumeration definitions.
55014
55015 2008-04-13  Bruno Haible  <bruno@clisp.org>
55016
55017         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
55018         expression, so as to avoid HP-UX 11 cc compiler bug.
55019
55020 2008-04-13  Bruno Haible  <bruno@clisp.org>
55021
55022         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
55023
55024 2008-04-13  Bruno Haible  <bruno@clisp.org>
55025
55026         * lib/git-merge-changelog.c: Remove empty declaration outside of
55027         functions.
55028
55029 2008-04-13  Bruno Haible  <bruno@clisp.org>
55030
55031         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
55032
55033 2008-04-13  Bruno Haible  <bruno@clisp.org>
55034
55035         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
55036         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
55037         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
55038         also if it exists but lacks definitions of the SHUT_* macros.
55039         * modules/sys_socket (Description): Update.
55040         Reported by Elbert Pol <e.pol@chello.nl>.
55041
55042 2008-04-13  Bruno Haible  <bruno@clisp.org>
55043
55044         * lib/localcharset.c (OS2): Don't redefine if already defined.
55045         Reported by Elbert Pol <e.pol@chello.nl>.
55046
55047 2008-04-13  Bruno Haible  <bruno@clisp.org>
55048
55049         * lib/binary-io.h [__EMX__]: Include <io.h>.
55050         Reported by Elbert Pol <e.pol@chello.nl>.
55051
55052 2008-04-12  Bruno Haible  <bruno@clisp.org>
55053
55054         * lib/fpucw.h: Enable the definitions also for x86_64.
55055         Needed for NetBSD/x86_64.
55056         Reported by Thomas Klausner <tk@giga.or.at>.
55057
55058 2008-04-12  Bruno Haible  <bruno@clisp.org>
55059
55060         * tests/test-strtod.c: Include isnand.h.
55061         (main): Use isnand instead of isnan.
55062         Reported by Jim Meyering.
55063
55064 2008-04-12  Bruno Haible  <bruno@clisp.org>
55065
55066         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
55067         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55068
55069 2008-04-12  Jim Meyering  <meyering@redhat.com>
55070
55071         * m4/math_h.m4 (gl_MATH_H): Fix typos.
55072
55073 2008-04-12  Bruno Haible  <bruno@clisp.org>
55074
55075         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
55076         Reported by Elbert Pol <e.pol@chello.nl>.
55077
55078 2008-04-12  Eric Blake  <ebb9@byu.net>
55079
55080         Work around Solaris 10 math.h bug.
55081         * m4/math_h.m4 (gl_MATH_H): Check for bug.
55082         (gl_MATH_H_DEFAULTS): Set up default.
55083         * modules/math (Makefile.am): Replace new indicators.
55084         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
55085         * tests/test-math.c (main): Test this.
55086         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
55087         * doc/posix-headers/math.texi (math.h): Mention bug.
55088         Reported by Nelson H. F. Beebe and Jim Meyering.
55089
55090 2008-04-11  Bruno Haible  <bruno@clisp.org>
55091
55092         Adapt to future versions of Apple GCC.
55093         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
55094         Reported by Peter O'Gorman <peter@pogma.com>.
55095
55096 2008-04-11  Bruno Haible  <bruno@clisp.org>
55097
55098         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
55099
55100 2008-04-11  Bruno Haible  <bruno@clisp.org>
55101
55102         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
55103
55104         * modules/getaddrinfo-tests (Makefile.am): Define
55105         test_getaddrinfo_LDADD.
55106
55107 2008-04-11  Bruno Haible  <bruno@clisp.org>
55108
55109         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
55110         (init): Fix syntax error.
55111         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
55112         is declared.
55113
55114 2008-04-11  Bruno Haible  <bruno@clisp.org>
55115
55116         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
55117         * modules/glob (Depends-on): Add stdbool.
55118
55119 2008-04-11  Bruno Haible  <bruno@clisp.org>
55120
55121         * lib/trim.c: Include <string.h>.
55122
55123 2008-04-11  Eric Blake  <ebb9@byu.net>
55124
55125         Avoid compile failure on OS/2.
55126         * lib/regex_internal.h (internal_function): Disable optimization
55127         on OS/2 (__EMX__), where it caused compiler error.
55128         Reported by Elbert Pol.
55129
55130 2008-04-11  Bruno Haible  <bruno@clisp.org>
55131
55132         Flush the standard error stream before aborting. Needed on mingw.
55133         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
55134         * tests/test-array_list.c (ASSERT): Likewise.
55135         * tests/test-array_oset.c (ASSERT): Likewise.
55136         * tests/test-avltree_list.c (ASSERT): Likewise.
55137         * tests/test-avltree_oset.c (ASSERT): Likewise.
55138         * tests/test-avltreehash_list.c (ASSERT): Likewise.
55139         * tests/test-binary-io.c (ASSERT): Likewise.
55140         * tests/test-byteswap.c (ASSERT): Likewise.
55141         * tests/test-c-ctype.c (ASSERT): Likewise.
55142         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
55143         * tests/test-c-strcasestr.c (ASSERT): Likewise.
55144         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
55145         * tests/test-c-strstr.c (ASSERT): Likewise.
55146         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
55147         * tests/test-canonicalize.c (ASSERT): Likewise.
55148         * tests/test-carray_list.c (ASSERT): Likewise.
55149         * tests/test-ceilf1.c (ASSERT): Likewise.
55150         * tests/test-ceilf2.c (ASSERT): Likewise.
55151         * tests/test-ceill.c (ASSERT): Likewise.
55152         * tests/test-count-one-bits.c (ASSERT): Likewise.
55153         * tests/test-fbufmode.c (ASSERT): Likewise.
55154         * tests/test-fflush2.c (ASSERT): Likewise.
55155         * tests/test-floorf1.c (ASSERT): Likewise.
55156         * tests/test-floorf2.c (ASSERT): Likewise.
55157         * tests/test-floorl.c (ASSERT): Likewise.
55158         * tests/test-fopen.c (ASSERT): Likewise.
55159         * tests/test-fpending.c (ASSERT): Likewise.
55160         * tests/test-fprintf-posix.c (ASSERT): Likewise.
55161         * tests/test-fpurge.c (ASSERT): Likewise.
55162         * tests/test-freadable.c (ASSERT): Likewise.
55163         * tests/test-freadahead.c (ASSERT): Likewise.
55164         * tests/test-freading.c (ASSERT): Likewise.
55165         * tests/test-freadptr.c (ASSERT): Likewise.
55166         * tests/test-freadptr2.c (ASSERT): Likewise.
55167         * tests/test-freadseek.c (ASSERT): Likewise.
55168         * tests/test-freopen.c (ASSERT): Likewise.
55169         * tests/test-frexp.c (ASSERT): Likewise.
55170         * tests/test-frexpl.c (ASSERT): Likewise.
55171         * tests/test-fseek.c (ASSERT): Likewise.
55172         * tests/test-fseeko.c (ASSERT): Likewise.
55173         * tests/test-fstrcmp.c (ASSERT): Likewise.
55174         * tests/test-ftell.c (ASSERT): Likewise.
55175         * tests/test-ftello.c (ASSERT): Likewise.
55176         * tests/test-func.c (ASSERT): Likewise.
55177         * tests/test-fwritable.c (ASSERT): Likewise.
55178         * tests/test-fwriting.c (ASSERT): Likewise.
55179         * tests/test-getdelim.c (ASSERT): Likewise.
55180         * tests/test-getline.c (ASSERT): Likewise.
55181         * tests/test-i-ring.c (ASSERT): Likewise.
55182         * tests/test-iconv-utf.c (ASSERT): Likewise.
55183         * tests/test-iconv.c (ASSERT): Likewise.
55184         * tests/test-isfinite.c (ASSERT): Likewise.
55185         * tests/test-isnand.c (ASSERT): Likewise.
55186         * tests/test-isnanf.c (ASSERT): Likewise.
55187         * tests/test-isnanl.h (ASSERT): Likewise.
55188         * tests/test-ldexpl.c (ASSERT): Likewise.
55189         * tests/test-linked_list.c (ASSERT): Likewise.
55190         * tests/test-linkedhash_list.c (ASSERT): Likewise.
55191         * tests/test-localename.c (ASSERT): Likewise.
55192         * tests/test-lseek.c (ASSERT): Likewise.
55193         * tests/test-mbscasecmp.c (ASSERT): Likewise.
55194         * tests/test-mbscasestr1.c (ASSERT): Likewise.
55195         * tests/test-mbscasestr2.c (ASSERT): Likewise.
55196         * tests/test-mbscasestr3.c (ASSERT): Likewise.
55197         * tests/test-mbscasestr4.c (ASSERT): Likewise.
55198         * tests/test-mbschr.c (ASSERT): Likewise.
55199         * tests/test-mbscspn.c (ASSERT): Likewise.
55200         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
55201         * tests/test-mbspbrk.c (ASSERT): Likewise.
55202         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
55203         * tests/test-mbsrchr.c (ASSERT): Likewise.
55204         * tests/test-mbsspn.c (ASSERT): Likewise.
55205         * tests/test-mbsstr1.c (ASSERT): Likewise.
55206         * tests/test-mbsstr2.c (ASSERT): Likewise.
55207         * tests/test-mbsstr3.c (ASSERT): Likewise.
55208         * tests/test-memchr2.c (ASSERT): Likewise.
55209         * tests/test-memmem.c (ASSERT): Likewise.
55210         * tests/test-open.c (ASSERT): Likewise.
55211         * tests/test-printf-frexp.c (ASSERT): Likewise.
55212         * tests/test-printf-frexpl.c (ASSERT): Likewise.
55213         * tests/test-printf-posix.c (ASSERT): Likewise.
55214         * tests/test-quotearg.c (ASSERT): Likewise.
55215         * tests/test-rbtree_list.c (ASSERT): Likewise.
55216         * tests/test-rbtree_oset.c (ASSERT): Likewise.
55217         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
55218         * tests/test-round1.c (ASSERT): Likewise.
55219         * tests/test-roundf1.c (ASSERT): Likewise.
55220         * tests/test-roundl.c (ASSERT): Likewise.
55221         * tests/test-signbit.c (ASSERT): Likewise.
55222         * tests/test-sleep.c (ASSERT): Likewise.
55223         * tests/test-snprintf-posix.c (ASSERT): Likewise.
55224         * tests/test-snprintf.c (ASSERT): Likewise.
55225         * tests/test-sprintf-posix.c (ASSERT): Likewise.
55226         * tests/test-stat-time.c (ASSERT): Likewise.
55227         * tests/test-strcasestr.c (ASSERT): Likewise.
55228         * tests/test-strerror.c (ASSERT): Likewise.
55229         * tests/test-striconv.c (ASSERT): Likewise.
55230         * tests/test-striconveh.c (ASSERT): Likewise.
55231         * tests/test-striconveha.c (ASSERT): Likewise.
55232         * tests/test-strsignal.c (ASSERT): Likewise.
55233         * tests/test-strstr.c (ASSERT): Likewise.
55234         * tests/test-strtod.c (ASSERT): Likewise.
55235         * tests/test-trunc1.c (ASSERT): Likewise.
55236         * tests/test-trunc2.c (ASSERT): Likewise.
55237         * tests/test-truncf1.c (ASSERT): Likewise.
55238         * tests/test-truncf2.c (ASSERT): Likewise.
55239         * tests/test-truncl.c (ASSERT): Likewise.
55240         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55241         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55242         * tests/test-vasnprintf.c (ASSERT): Likewise.
55243         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55244         * tests/test-vasprintf.c (ASSERT): Likewise.
55245         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55246         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55247         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55248         * tests/test-vsnprintf.c (ASSERT): Likewise.
55249         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55250         * tests/test-wcwidth.c (ASSERT): Likewise.
55251         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55252         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55253         * tests/test-xvasprintf.c (ASSERT): Likewise.
55254         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55255         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55256         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55257         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55258         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55259         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55260         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55261         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55262         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55263         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55264         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55265         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55266         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55267         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55268         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55269         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55270         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55271         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55272         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55273         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55274         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55275         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55276         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55277         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55278         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55279         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55280         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55281         * tests/unictype/test-combining.c (ASSERT): Likewise.
55282         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55283         * tests/unictype/test-digit.c (ASSERT): Likewise.
55284         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55285         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55286         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55287         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55288         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55289         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55290         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55291         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55292         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55293         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55294         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55295         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55296         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55297         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55298         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55299         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55300         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55301         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55302         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55303         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55304         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55305         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55306         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55307         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55308         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55309         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55310         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55311         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55312         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55313         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55314         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55315         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55316         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55317         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55318         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55319         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55320         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55321         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55322         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55323         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55324         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55325         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55326         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55327         Reported by Eric Blake.
55328
55329 2008-04-11  Bruno Haible  <bruno@clisp.org>
55330
55331         * lib/wchar.in.h: Tweak comment.
55332
55333 2008-04-11  Bruno Haible  <bruno@clisp.org>
55334
55335         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
55336         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
55337         gl_COMMON.
55338         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
55339
55340 2008-04-11  Bruno Haible  <bruno@clisp.org>
55341
55342         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
55343
55344 2008-04-11  Simon Josefsson  <simon@josefsson.org>
55345
55346         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
55347         of attempting to use non-existing /dev/*random.  Based on patch
55348         from Adam Strzelecki <ono@java.pl> in
55349         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
55350
55351 2008-04-08  Bruno Haible  <bruno@clisp.org>
55352
55353         Add tentative support for emx+gcc.
55354         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55355         * lib/fpurge.c (fpurge): Likewise.
55356         * lib/freadable.c (freadable): Likewise.
55357         * lib/freadahead.c (freadahead): Likewise.
55358         * lib/freading.c (freading): Likewise.
55359         * lib/freadptr.c (freadptr): Likewise.
55360         * lib/freadseek.c (freadptrinc): Likewise.
55361         * lib/fseeko.c (rpl_fseeko): Likewise.
55362         * lib/fseterr.c (fseterr): Likewise.
55363         * lib/fwritable.c (fwritable): Likewise.
55364         * lib/fwriting.c (fwriting): Likewise.
55365         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55366
55367 2008-04-09  Eric Blake  <ebb9@byu.net>
55368
55369         Avoid some autoconf warnings.
55370         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55371         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55372         * m4/afs.m4 (gl_AFS): Likewise.
55373         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55374         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55375         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55376         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55377         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55378         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55379         (AC_CHECK_DECLS_ONCE): Likewise.
55380         Rename file...
55381         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55382         gnulib-tool requires autoconf 2.59 or better.
55383         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55384
55385 2008-04-08  Eric Blake  <ebb9@byu.net>
55386
55387         Use 'git describe --match' if present (added in git 1.5.5).
55388         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55389         if possible.
55390
55391 2008-04-08  Bruno Haible  <bruno@clisp.org>
55392
55393         Add tentative support for OpenServer.
55394         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55395         _ptr, _cnt.
55396         * lib/fpurge.c (fpurge): Likewise.
55397         * lib/freadable.c (freadable): Likewise.
55398         * lib/freadahead.c (freadahead): Likewise.
55399         * lib/freading.c (freading): Likewise.
55400         * lib/freadptr.c (freadptr): Likewise.
55401         * lib/freadseek.c (freadptrinc): Likewise.
55402         * lib/fseeko.c (rpl_fseeko): Likewise.
55403         * lib/fseterr.c (fseterr): Likewise.
55404         * lib/fwritable.c (fwritable): Likewise.
55405         * lib/fwriting.c (fwriting): Likewise.
55406         Reported by Roger Cornelius <rac@tenzing.org> and
55407         Brian K. White <brian@aljex.com>.
55408
55409 2008-04-06  Jim Meyering  <meyering@redhat.com>
55410
55411         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55412
55413 2008-04-06  Bruno Haible  <bruno@clisp.org>
55414
55415         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55416         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55417         * tests/test-printf-posix.sh: Likewise.
55418         * tests/test-vfprintf-posix.sh: Likewise.
55419         * tests/test-vprintf-posix.sh: Likewise.
55420         * tests/test-xprintf-posix.sh: Likewise.
55421
55422 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55423
55424         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55425         hide error from 'ls', needed on OS/2.
55426         Report by Elbert Pol <elbert.pol@gmail.com>.
55427
55428 2008-04-04  Eric Blake  <ebb9@byu.net>
55429
55430         Make test-fseeko.c failures meaningful.
55431         * tests/test-fseeko.c: Print line number on failure.
55432         * tests/test-fseek.c: Likewise.
55433         Reported by Nelson H. F. Beebe.
55434
55435         Improve strtod bug detection check.
55436         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55437         required for Solaris 10.
55438         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55439
55440 2008-04-04  Bruno Haible  <bruno@clisp.org>
55441
55442         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55443         by m4/setenv.m4.
55444
55445 2008-04-03  Eric Blake  <ebb9@byu.net>
55446
55447         Ensure sane .version contents.
55448         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55449         version string.
55450         * build-aux/git-version-gen: Improve documentation.
55451
55452         Make GNU make output nicer.
55453         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55454         MAKECMDGOALS to enforce message for all command line targets.  Set
55455         srcdir for use in maint.mk.
55456
55457         Another maintainer tweak.
55458         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55459         a target that regenerates version.
55460
55461 2008-04-03  Jim Meyering  <meyering@redhat.com>
55462
55463         vc-list-files: don't cause coreutils "make po-check" failure
55464         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55465
55466 2008-04-03  Eric Blake  <ebb9@byu.net>
55467
55468         Allow VPATH usage of vc-list-files.
55469         * build-aux/vc-list-files (scriptversion): Add timestamp.
55470         (options): Add --help, --version, -C.
55471         (CVS): Support installed cvsu.
55472
55473 2008-04-02  Bruno Haible  <bruno@clisp.org>
55474
55475         Avoid some "statement with no effect" warnings from gcc.
55476         * tests/test-wctype.c (main): Explicitly ignore unused values.
55477         Reported by Jim Meyering.
55478
55479 2008-04-02  Jim Meyering  <meyering@redhat.com>
55480
55481         Avoid some warnings from "gcc -Wshadow".
55482         * tests/test-frexp.c (exp): Define to a different identifier.
55483         * tests/test-frexpl.c (exp): Likewise.
55484
55485 2008-04-03  Jim Meyering  <meyering@redhat.com>
55486
55487         bootstrap: remove dangling *.[ch] symlinks from lib
55488         * build-aux/bootstrap [dangling symlink removal]: Move find's
55489         -depth option to precede all others, to avoid a warning.
55490         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55491
55492 2008-04-02  Bruno Haible  <bruno@clisp.org>
55493
55494         Avoid some warnings from "gcc -Wshadow".
55495         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55496         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55497         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55498         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55499         Reported by Jim Meyering.
55500
55501 2008-04-01  Bruno Haible  <bruno@clisp.org>
55502
55503         Fix test to work on IRIX 6.5 with cc.
55504         * tests/test-math.c (numeric_equal): New function.
55505         (main): Use it.
55506
55507 2008-04-01  Bruno Haible  <bruno@clisp.org>
55508
55509         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55510
55511 2008-04-01  Bruno Haible  <bruno@clisp.org>
55512
55513         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55514         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55515         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55516         (Depends-on): Remove math.
55517
55518         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55519         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55520         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55521         (Depends-on): Remove math.
55522
55523         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55524         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55525         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55526         (Depends-on): Remove math.
55527         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55528         (Depends-on): Remove math.
55529
55530         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55531         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55532         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55533         (Depends-on): Remove math.
55534         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55535         (Depends-on): Remove math.
55536
55537         * tests/test-round1.c: Include nan.h.
55538         (main): Use NaNd instead of NAN.
55539         * modules/round-tests (Files): Add tests/nan.h.
55540
55541         * tests/test-trunc1.c: Include nan.h.
55542         (main): Use NaNd instead of NAN.
55543         * modules/trunc-tests (Files): Add tests/nan.h.
55544
55545         * tests/test-roundf1.c: Include nan.h.
55546         (main): Use NaNf instead of NAN.
55547         * modules/roundf-tests (Files): Add tests/nan.h.
55548
55549         * tests/test-truncf1.c: Include nan.h.
55550         (main): Use NaNf instead of NAN.
55551         * modules/truncf-tests (Files): Add tests/nan.h.
55552
55553         * tests/test-ceilf1.c: Include nan.h.
55554         (main): Use NaNf instead of NAN.
55555         * modules/ceilf-tests (Files): Add tests/nan.h.
55556
55557         * tests/test-floorf1.c: Include nan.h.
55558         (main): Use NaNf instead of NAN.
55559         * modules/floorf-tests (Files): Add tests/nan.h.
55560
55561         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55562         (main): Use NaNf instead of NAN.
55563         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55564
55565         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55566         (main): Use NaNd instead of NAN.
55567         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55568
55569         * tests/test-frexp.c: Include nan.h.
55570         (main): Use NaNd instead of NAN.
55571         * modules/frexp-tests (Files): Add tests/nan.h.
55572
55573         * lib/isnan.c: Don't include <math.h>.
55574         (FUNC): Don't use NAN macro.
55575         * modules/isnand-nolibm (Depends-on): Remove math.
55576         * modules/isnanf-nolibm (Depends-on): Remove math.
55577         * modules/isnanl (Depends-on): Remove math.
55578         * modules/isnanl-nolibm (Depends-on): Remove math.
55579
55580         * tests/nan.h: New file.
55581
55582 2008-04-01  Eric Blake  <ebb9@byu.net>
55583
55584         Fix typos.
55585         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55586         values to be the right type.
55587
55588         For now, cater to gnulib strtod inaccuracies.
55589         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55590         fractional results.  While not as nice from a QoI perspective, it
55591         is a quicker patch than correctly implementing decimal to binary
55592         rounding.
55593
55594 2008-03-31  Eric Blake  <ebb9@byu.net>
55595
55596         Guarantee a definition of NAN.
55597         * lib/math.in.h (NAN): Define if missing.
55598         * tests/test-math.c (main): Test it.
55599         * doc/posix-headers/math.texi (math.h): Document this.
55600         * lib/isnan.c (rpl_isnand): Use it.
55601         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55602         * tests/test-floorf1.c (NaN): Likewise.
55603         * tests/test-frexp.c (NaN): Likewise.
55604         * tests/test-isnand.c (NaN): Likewise.
55605         * tests/test-isnanf.c (NaN): Likewise.
55606         * tests/test-round1.c (NaN): Likewise.
55607         * tests/test-roundf1.c (NaN): Likewise.
55608         * tests/test-snprintf-posix.h (NaN): Likewise.
55609         * tests/test-sprintf-posix.h (NaN): Likewise.
55610         * tests/test-trunc1.c (NaN): Likewise.
55611         * tests/test-truncf1.c (NaN): Likewise.
55612         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55613         * tests/test-vasprintf-posix.c (NaN): Likewise.
55614         * modules/isnand-nolibm (Depends-on): Add math.
55615         * modules/isnanf-nolibm (Depends-on): Likewise.
55616         * modules/isnanl (Depends-on): Likewise.
55617         * modules/isnanl-nolibm (Depends-on): Likewise.
55618         * modules/snprintf-posix-tests (Depends-on): Likewise.
55619         * modules/sprintf-posix-tests (Depends-on): Likewise.
55620         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55621         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55622         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55623         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55624
55625 2008-03-31  Bruno Haible  <bruno@clisp.org>
55626
55627         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55628         * doc/posix-functions/strtod.texi: Likewise.
55629
55630 2008-03-31  Bruno Haible  <bruno@clisp.org>
55631
55632         * tests/test-strtod.c (main): Don't use C99 syntax.
55633
55634 2008-03-31  Bruno Haible  <bruno@clisp.org>
55635
55636         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55637         Reported by Eric Blake.
55638
55639 2008-03-31  Jim Meyering  <meyering@redhat.com>
55640
55641         Don't compare actual signbit return values.
55642         * tests/test-strtod.c (main): Rather, compare only their
55643         zero/non-zero nature.
55644
55645 2008-03-31  Eric Blake  <ebb9@byu.net>
55646
55647         More strtod documentation.
55648         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55649         failures as distinct bugs.
55650
55651 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55652
55653         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55654         Problem reported by Erik Benada in
55655         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55656
55657 2008-03-30  Bruno Haible  <bruno@clisp.org>
55658
55659         * tests/test-strtod.c: Add comments about which assertion fails on which
55660         platform.
55661         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55662
55663 2008-03-30  Eric Blake  <ebb9@byu.net>
55664
55665         Test signbit behavior on zeros.
55666         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55667         (test_signbitd, test_signbitl): Likewise.
55668
55669         More strtod touchups.
55670         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55671         sign of negative underflow, for now.  Use .5, not .1.
55672         * doc/posix-functions/strtod.texi (strtod): Mention these
55673         limitations.
55674         Reported by Jim Meyering.
55675
55676 2008-03-30  Bruno Haible  <bruno@clisp.org>
55677
55678         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55679         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55680
55681 2008-03-30  Bruno Haible  <bruno@clisp.org>
55682
55683         Avoid failure when attempting to return empty iconv results on some
55684         platforms.
55685         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55686         allocation, don't report ENOMEM when the resulting string is empty.
55687
55688 2008-03-30  Bruno Haible  <bruno@clisp.org>
55689
55690         Fix buffer overrun.
55691         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55692         Don't consider the width for tmp_length. Check count against tmp_length
55693         before doing the padding. Ensure enough allocation during padding.
55694
55695 2008-03-30  Eric Blake  <ebb9@byu.net>
55696
55697         strtod touchups.
55698         * lib/strtod.c (strtod): Avoid compiler warnings.
55699         Reported by Jim Meyering.
55700
55701 2008-03-30  Bruno Haible  <bruno@clisp.org>
55702
55703         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55704         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55705         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55706         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55707         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55708         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55709         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55710         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55711
55712         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55713         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55714         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55715         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55716         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55717         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55718         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55719         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55720
55721         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55722         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55723         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55724         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55725         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55726         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55727         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55728         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55729
55730         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55731         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55732
55733         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55734         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55735
55736         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55737         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55738
55739         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55740         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55741         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55742
55743         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55744         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55745         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55746
55747         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55748         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55749         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55750
55751         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55752         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55753         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55754
55755         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55756         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55757         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55758         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55759         (Depends-on): Add EOVERFLOW.
55760         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55761         (Depends-on): Add EOVERFLOW.
55762         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55763         (Depends-on): Add EOVERFLOW.
55764         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55765         (Depends-on): Add EOVERFLOW.
55766         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55767         (Depends-on): Add EOVERFLOW.
55768         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55769         (Depends-on): Add EOVERFLOW.
55770         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55771         (Depends-on): Add EOVERFLOW.
55772         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55773         (Depends-on): Add EOVERFLOW.
55774
55775         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55776         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55777         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55778
55779         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55780         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55781         * modules/snprintf (Depends-on): Add EOVERFLOW.
55782
55783         * lib/poll.c (EOVERFLOW): Remove fallback.
55784         * modules/poll (Depends-on): Add EOVERFLOW.
55785
55786         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55787         * modules/getugroups (Depends-on): Add EOVERFLOW.
55788
55789         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55790         * modules/getdelim (Depends-on): Add EOVERFLOW.
55791
55792         * lib/ftell.c (EOVERFLOW): Remove fallback.
55793         * modules/ftell (Depends-on): Add EOVERFLOW.
55794
55795         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55797         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55798
55799         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55800
55801         * modules/EOVERFLOW-tests: New file.
55802         * tests/test-EOVERFLOW.c: New file.
55803
55804         * modules/EOVERFLOW: New file.
55805         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55806
55807 2008-03-30  Bruno Haible  <bruno@clisp.org>
55808
55809         Fix bug introduced on 2007-06-10.
55810         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55811         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55812
55813 2008-03-30  Bruno Haible  <bruno@clisp.org>
55814
55815         Improve freadseek's efficiency after ungetc.
55816         * lib/freadseek.c: Include freadahead.h.
55817         (freadptrinc): New function, extracted from freadseek.
55818         (freadseek): Use it in a loop. Use freadahead to determine the number
55819         of loop iterations.
55820         * modules/freadseek (Depends-on): Add freadahead.
55821         (configure.ac): Require AC_C_INLINE.
55822
55823 2008-03-30  Bruno Haible  <bruno@clisp.org>
55824
55825         * lib/freadseek.c (freadseek): Don't ignore the return value of
55826         freadptr.
55827
55828 2008-03-29  Eric Blake  <ebb9@byu.net>
55829
55830         Add hex float support.
55831         * modules/strtod (Depends-on): Add c-ctype.
55832         (Link): Mention POW_LIB.
55833         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55834         whitespace between 'e' and exponent.
55835         * tests/test-strtod.c (main): Enable hex float tests.
55836         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55837         now provides.
55838
55839         Document various strtod bugs, with some fixes.
55840         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55841         "-0x", "inf", "nan", and hex constants.
55842         * doc/posix-functions/atof.texi (atof): Likewise.
55843         * modules/stdlib (Makefile.am): Support strtod.
55844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55845         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55846         detect additional strtod bugs.
55847         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55848         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55849         bool where appropriate.  Parse 'inf' and 'nan'.
55850         * tests/test-strtod.c: New file.
55851         * modules/strtod (Depends-on): Add stdbool, stdlib.
55852         (configure.ac): Turn on module indicator.
55853         * modules/strtod-tests: New module.
55854
55855 2008-03-29  Eric Blake  <ebb9@byu.net>
55856
55857         Fix ftell on mingw.
55858         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55859         * modules/ftell-tests (Depends-on): Add binary-io.
55860         * modules/ftello-tests (Depends-on): Likewise.
55861         * tests/test-ftell.c (main): Enhance test to cover behavior after
55862         ungetc.  Enforce binary mode.
55863         * tests/test-ftello.c (main): Likewise.
55864
55865         Pass test-freadseek on cygwin.
55866         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55867         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55868         ungetc buffer.
55869
55870         * tests/test-fflush2.c (main): Fix typo.
55871
55872 2008-03-29  Bruno Haible  <bruno@clisp.org>
55873
55874         * tests/test-fflush2.c (main): Temporarily disable the contents of
55875         this test.
55876         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55877         Reported by Eric Blake.
55878
55879 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55880
55881         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55882         (GC_SHA224_DIGEST_SIZE): Add.
55883
55884         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55885         (gc_hash_digest_length): Likewise.
55886         (gc_hash_buffer): Likewise.
55887
55888 2008-03-25  Bruno Haible  <bruno@clisp.org>
55889
55890         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55891         detail which gettext release to use.
55892         Reported by Simon Josefsson.
55893
55894 2008-03-26  Jim Meyering  <meyering@redhat.com>
55895
55896         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55897         * modules/gnumakefile (clean-GNUmakefile): Also, use
55898         test ... && ... || : syntax rather than if-then ... fi.
55899
55900         gnumakefile: Don't double-quote-expand $(VPATH) value.
55901         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55902
55903 2008-03-24  Eric Blake  <ebb9@byu.net>
55904
55905         Alter GNUmakefile to install into top directory.
55906         * modules/maintainer-makefile: Split, and add dependency...
55907         * modules/gnumakefile: to this new module.
55908         * build-aux/GNUmakefile: Move...
55909         * top/GNUmakefile: ...here.
55910         * build-aux/maint.mk: Move...
55911         * top/maint.mk: ...here.
55912         * MODULES.html.sh (Support for maintaining...): Document new
55913         module.
55914
55915 2008-03-23  Bruno Haible  <bruno@clisp.org>
55916
55917         * gnulib-tool: New options --vc-files, --no-vc-files.
55918         (func_usage): Document them.
55919         (vc_files): New variable.
55920         (func_import): Consider vc_files.
55921         (func_create_testdir): Set vc_files to empty.
55922         Suggested by Jim Meyering and Karl Berry.
55923
55924 2008-03-23  Bruno Haible  <bruno@clisp.org>
55925
55926         Fix regex compilation error on HP-UX 11.
55927         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55928         * modules/regex (Files): Add m4/mbstate_t.m4.
55929         Reported by Ton Voon <ton.voon@altinity.com>.
55930
55931 2008-03-23  Bruno Haible  <bruno@clisp.org>
55932
55933         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55934
55935 2008-03-23  Eric Blake  <ebb9@byu.net>
55936             Bruno Haible  <bruno@clisp.org>
55937
55938         Install files from top/ in the destination directory.
55939         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55940         augmentation also for the files from top/.
55941         (func_import, func_create_testdir): Rewrite file names:
55942         top/filename -> filename.
55943
55944 2008-03-23  Bruno Haible  <bruno@clisp.org>
55945
55946         Tweak "gnulib --version" output.
55947         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55948
55949 2008-03-23  Bruno Haible  <bruno@clisp.org>
55950
55951         Tweak "gnulib --version" output.
55952         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55953         rather than contents of ChangeLog, when possible.
55954
55955 2008-03-21  Eric Blake  <ebb9@byu.net>
55956
55957         More --version tweaks.
55958         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55959         date of last ChangeLog entry.
55960
55961 2008-03-21  Jim Meyering  <meyering@redhat.com>
55962
55963         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55964
55965 2008-03-20  Eric Blake  <ebb9@byu.net>
55966
55967         VPATH fix.
55968         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55969
55970 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55971
55972         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55973         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55974
55975 2008-03-20  Eric Blake  <ebb9@byu.net>
55976
55977         Sync GNUmakefile with coreutils.
55978         * build-aux/GNUmakefile (have-Makefile): Rename...
55979         (_have-Makefile): ...to this, for namespace consideration.
55980         (GNUmakefile.cfg): Include, if present.
55981         (_autoreconf): Define a default.
55982         (_is-dist-target): New rule for rebuilds to pick up intra-release
55983         version.
55984         (maint-cfg.mk): Rename...
55985         (cfg.mk): ...to this.
55986
55987 2008-03-18  Jim Meyering  <meyering@redhat.com>
55988
55989         New script and module: mktempd
55990         * MODULES.html.sh (maint+release support): Add mktempd.
55991         * build-aux/mktempd: New file.
55992         * modules/mktempd: New file.
55993
55994 2008-03-15  Jim Meyering  <meyering@redhat.com>
55995
55996         Undo last change.
55997         * lib/sha1.c, lib/md5.c: 63 != ~63.
55998         Reported by Andreas Schwab.
55999
56000         sha1.c, md5.c: Hoist a redundant expression.
56001         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
56002         "ctx->buflen" only once, before calling *_process_block.
56003         * lib/md5.c (md5_process_bytes): Likewise.
56004
56005 2008-03-14  Eric Blake  <ebb9@byu.net>
56006
56007         Bump copyright year in files generated by gnulib-tool.
56008         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
56009         gnulib-tool, rather than hard-coding it.
56010
56011         Fix 'gnulib-tool --version' output to work with git.
56012         * gnulib-tool (func_gnulib_dir): New function, extracted from...
56013         (startup): ...here.
56014         (func_version): Use it to invoke git-version-gen, rather than
56015         relying on CVS keyword expansion.  Modernize wording.
56016         (cvsdatestamp, last_checkin_date, version): Kill unused
56017         variables.
56018
56019 2008-03-12  Jim Meyering  <meyering@redhat.com>
56020
56021         Recognize optional cast of the argument to free.
56022         * build-aux/useless-if-before-free: Update regexps.
56023
56024         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
56025
56026 2008-03-11  Bruno Haible  <bruno@clisp.org>
56027
56028         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
56029         by a single package.
56030         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
56031         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
56032         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
56033         Reported by Sam Steingold <sds@gnu.org>.
56034
56035 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56036
56037         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
56038         repositories.
56039
56040 2008-03-11  Bruno Haible  <bruno@clisp.org>
56041
56042         Avoid conflicts between local macro definitions.
56043         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56044         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
56045
56046 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
56047             Bruno Haible  <bruno@clisp.org>
56048
56049         Make va_copy work with some version of xlc on AIX 5.1.
56050         * lib/stdarg.in.h: New file.
56051         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
56052         On AIX, use a <stdarg.h> file substitute.
56053         * modules/stdarg (Files): Add lib/stdarg.in.h.
56054         (Depends-on): Add include_next.
56055         (Makefile.am): Build a stdarg.h substitute if requested.
56056         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
56057
56058 2008-03-10  Bruno Haible  <bruno@clisp.org>
56059
56060         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
56061         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56062         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56063
56064 2008-03-10  Bruno Haible  <bruno@clisp.org>
56065
56066         * modules/stdlib (Depends-on): Add include_next, remove
56067         absolute-header.
56068
56069 2008-03-09  Bruno Haible  <bruno@clisp.org>
56070
56071         * lib/freadahead.h (freadahead): Document more precisely.
56072         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
56073         the sum of both buffer sizes.
56074         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
56075         * NEWS: Document the change.
56076
56077 2008-03-09  Bruno Haible  <bruno@clisp.org>
56078
56079         Extend freadptr to return also the buffer size.
56080         * lib/freadptr.h (freadptr): Add sizep argument.
56081         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
56082         (freadptr): Add sizep argument. Determine buffer size like freadahead
56083         does.
56084         * tests/test-freadptr.c: Don't include freadahead.h.
56085         (main): Adapt for new calling convention of freadptr.
56086         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
56087         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
56088         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
56089         tests/test-freadptr2.sh.
56090         (Depends): Remove freadahead.
56091         (TESTS): Add test-freadptr2.sh.
56092         (check_PROGRAMS): Add test-freadptr2.
56093
56094 2008-03-09  Bruno Haible  <bruno@clisp.org>
56095
56096         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
56097         Report and solution by Simon Josefsson.
56098
56099 2008-03-06  Bruno Haible  <bruno@clisp.org>
56100
56101         Make fflush after ungetc work on BSD platforms.
56102         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
56103         * tests/test-fflush2.c: New file.
56104         * tests/test-fflush2.sh: New file.
56105         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
56106         tests/test-fflush2.c.
56107         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
56108         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
56109
56110 2008-03-06  Eric Blake  <ebb9@byu.net>
56111
56112         Likewise for ftello.
56113         * modules/ftello (Dependencies): Add extensions.
56114         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
56115
56116 2008-03-06  Bruno Haible  <bruno@clisp.org>
56117
56118         * modules/fseeko (Dependencies): Add extensions.
56119         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
56120         Needed on glibc systems.
56121
56122 2008-03-06  Bruno Haible  <bruno@clisp.org>
56123
56124         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
56125         email address.
56126         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56127
56128 2008-03-06  Bruno Haible  <bruno@clisp.org>
56129
56130         * users.txt: Add libgnupdf.
56131
56132 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
56133
56134         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
56135         (Header File Substitutes, Function Substitutes,
56136         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
56137         (Build robot for gnulib): Fix typo.
56138
56139 2008-03-06  Bruno Haible  <bruno@clisp.org>
56140
56141         * doc/gnulib-tool.texi (VCS Issues): Small updates.
56142         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56143
56144 2008-03-06  Bruno Haible  <bruno@clisp.org>
56145
56146         * doc/func.texi: New file, extracted from doc/gnulib.texi.
56147         * doc/gnulib.texi: Include it.
56148
56149 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56150
56151         * modules/func (License): Change license to unlimited; there was
56152         no LGPL parts in the module anyway.
56153
56154 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56155
56156         * modules/__func__: Renamed to modules/func.
56157         * modules/__func__-tests: Renamed to modules/func-tests.
56158         * tests/test-__func__.c: Renamed to tests/test-func.c.
56159         * m4/__func__.m4: Renamed to m4/func.m4.
56160         * doc/gnulib.texi (__func__): Section renamed to func.
56161         Suggested by Eric Blake <ebb9@byu.net>.
56162
56163 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56164
56165         * doc/gnulib.texi (__func__): Use C99 terminology when talking
56166         about __func__.  Make example self-contained.  Suggested by Eric
56167         Blake <ebb9@byu.net>.
56168
56169         * tests/test-__func__.c (main): Avoid extraneous () around __func.
56170         Suggested by Eric Blake <ebb9@byu.net>.
56171
56172 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56173
56174         * modules/__func__: New file.
56175         * modules/__func__-tests: New file.
56176         * tests/test-__func__.c: New file.
56177         * m4/__func__.m4: New file.
56178         * doc/gnulib.texi (__func__): Document __func__ module.
56179
56180 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56181
56182         * modules/byteswap (License): Re-license as LGPLv2+.
56183
56184 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56185
56186         * doc/Makefile: Add pdf target.
56187
56188 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56189
56190         * modules/inline (License): Use 'unlimited', since there are only
56191         *.m4 files in this module.
56192
56193 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56194             Bruno Haible  <bruno@clisp.org>
56195
56196         Add support for HP C 7.1 on OpenVMS 8.3.
56197         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
56198
56199 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56200
56201         Update VMS specifics.
56202         * lib/getopt.c [VMS]: Remove include of unixlib.h.
56203
56204 2008-03-02  Jim Meyering  <meyering@redhat.com>
56205
56206         Remove the last dependency on the "free" module.
56207         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
56208         Reported by Bob Proulx.
56209
56210         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
56211
56212         Remove useless "if" tests before free.  Deprecate "free" module.
56213         * doc/posix-functions/free.texi: Mention that this
56214         module is no longer useful.
56215         * modules/free (Notice): Say this module is obsolete.
56216         * modules/readutmp (Depends-on): Remove free.
56217         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
56218         * lib/putenv.c (putenv): Likewise.
56219         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
56220         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
56221         * tests/test-c-strcasestr.c (main): Likewise.
56222         * tests/test-c-strstr.c (main): Likewise.
56223         * tests/test-mbscasestr1.c (main): Likewise.
56224         * tests/test-mbscasestr2.c (main): Likewise.
56225         * tests/test-mbsstr1.c (main): Likewise.
56226         * tests/test-mbsstr2.c (main): Likewise.
56227         * tests/test-memmem.c (main): Likewise.
56228         * tests/test-strcasestr.c (main): Likewise.
56229         * tests/test-striconv.c (main): Likewise.
56230         * tests/test-striconveh.c (main): Likewise.
56231         * tests/test-striconveha.c (main): Likewise.
56232         * tests/test-strstr.c (main): Likewise.
56233
56234         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56235
56236         bootstrap: sync from coreutils again
56237         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56238
56239 2008-03-01  Jim Meyering  <meyering@redhat.com>
56240
56241         bootstrap: sync from coreutils
56242         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56243         also when the target doesn't exist.
56244
56245 2008-03-01  Eric Blake  <ebb9@byu.net>
56246
56247         Fix bugs in last patch.
56248         * lib/memchr2.c (memchr2): Fix typo.
56249         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56250         extension.
56251         Reported by Bruce Korb.
56252
56253         New module 'memchr2'.
56254         * modules/memchr2: New file.
56255         * modules/memchr2-tests: Likewise.
56256         * lib/memchr2.h: Likewise.
56257         * lib/memchr2.c: Likewise, based on memchr.c.
56258         * tests/test-memchr2.c: New test.
56259         * MODULES.html.sh (String handling): Add memchr2.
56260
56261 2008-02-29  Bruno Haible  <bruno@clisp.org>
56262
56263         * modules/freadseek-tests: New file.
56264         * tests/test-freadseek.sh: New file.
56265         * tests/test-freadseek.c: New file.
56266
56267         New module 'freadseek'.
56268         * modules/freadseek: New file.
56269         * lib/freadseek.h: New file.
56270         * lib/freadseek.c: New file.
56271         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56272
56273 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56274
56275         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56276         wydawca.
56277
56278         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56279         program_invocation_name and program_invocation_short_name are
56280         present.
56281
56282 2008-02-28  Bruno Haible  <bruno@clisp.org>
56283
56284         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56285         * tests/test-freadptr.sh: Also test non-seekable stdin.
56286
56287 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56288
56289         * build-aux/bootstrap (source_base, m4_base)
56290         (doc_base, tests_base): New variables.
56291         (gnulib_tool_options): Do not hardcode base directories, use
56292         the above variables instead.
56293
56294 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56295
56296         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56297
56298 2008-02-28  Bruno Haible  <bruno@clisp.org>
56299
56300         * modules/freadptr-tests: New file.
56301         * tests/test-freadptr.sh: New file.
56302         * tests/test-freadptr.c: New file.
56303
56304         New module 'freadptr'.
56305         * modules/freadptr: New file.
56306         * lib/freadptr.h: New file.
56307         * lib/freadptr.c: New file.
56308         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56309
56310 2008-02-26  Karl Berry  <karl@freefriends.org>
56311
56312         Sync from Libtool:
56313         * libltdl/argz.c (argz_add, argz_count): New functions.
56314         * libltdl/argz.in.h: Declare them.
56315         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56316
56317 2008-02-22  Bruno Haible  <bruno@clisp.org>
56318
56319         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56320         is a pointer type.  Needed for HP-UX 10.
56321         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56322         * doc/posix-functions/gmtime_r.texi: Likewise.
56323         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56324
56325 2008-02-24  Bruno Haible  <bruno@clisp.org>
56326
56327         * modules/environ-tests: New file.
56328         * tests/test-environ.c: New file.
56329
56330         New module 'environ'.
56331         * modules/environ: New file.
56332         * lib/unistd.in.h (environ): New declaration.
56333         * m4/environ.m4: New file.
56334         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
56335         after use.
56336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
56337         HAVE_DECL_ENVIRON.
56338         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
56339         HAVE_DECL_ENVIRON.
56340         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
56341         wrong claim that 'environ' is missing on some systems.
56342         * modules/execute (Depends-on): Add environ.
56343         * lib/execute.c (environ): Remove fallback declaration.
56344         * modules/pipe (Depends-on): Add environ.
56345         * lib/pipe.c (environ): Remove fallback declaration.
56346         * modules/setenv (Depends-on): Add environ.
56347         * lib/setenv.c (environ): Remove fallback declaration.
56348         * modules/unsetenv (Depends-on): Add environ.
56349         * lib/unsetenv.c (environ): Remove fallback declaration.
56350         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
56351         m4/environ.m4.
56352         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56353         (gl_PREREQ_UNSETENV): Likewise.
56354
56355 2008-02-24  Bruno Haible  <bruno@clisp.org>
56356
56357         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56358
56359 2008-02-20  Bob Proulx  <bob@proulx.com>
56360
56361         Enable use of older two part flavor 'git describe'.
56362         * build-aux/git-version-gen: If using the older two part flavor of
56363         git version then recreate the third part now present in the
56364         newer three part flavor of git describe.
56365
56366 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56367
56368         * lib/fts.c (fts_build): Typo correction to comment.
56369
56370 2008-02-17  Bruno Haible  <bruno@clisp.org>
56371
56372         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56373         generating no-op conflicts.
56374
56375 2008-02-17  Bruno Haible  <bruno@clisp.org>
56376
56377         Speed up by 10%.
56378         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56379         result_entries, rather than an index-based loop.
56380
56381 2008-02-17  Bruno Haible  <bruno@clisp.org>
56382
56383         Speed up by 25%.
56384         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56385         'hashcode_cached'.
56386         (entry_create): New function.
56387         (entry_hashcode): Use the cached hashcode if possible.
56388         (read_changelog_file, try_split_merged_entry): Use entry_create.
56389
56390 2008-02-17  Bruno Haible  <bruno@clisp.org>
56391
56392         Speed up from O(n^2) to O(n) for long ChangeLog files.
56393         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56394         (read_changelog_file): Change implementation of entries_reversed list
56395         to rbtreehash.
56396         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56397
56398 2008-02-17  Bruno Haible  <bruno@clisp.org>
56399
56400         New option --split-merged-entry.
56401         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56402         (find_paragraph_end, try_split_merged_entry): New functions.
56403         (long_options): Add option --split-merged-entry.
56404         (usage): Document option --split-merged-entry.
56405         (main): Implement option --split-merged-entry.
56406         Reported by Eric Blake.
56407
56408 2008-02-17  Bruno Haible  <bruno@clisp.org>
56409
56410         * lib/git-merge-changelog.c: Include c-strstr.h.
56411         (main): Support the "git pull --rebase" situation.
56412         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56413         Reported by Eric Blake.
56414
56415 2008-02-16  Eric Blake  <ebb9@byu.net>
56416
56417         Avoid doubling \ in common case of "c-maybe" quoting style.
56418         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56419         eliding outer quotes.
56420         * lib/quotearg.h: Document this.
56421         * tests/test-quotearg.c (result_strings, inputs, results_g)
56422         (flag_results, locale_results): Test it by adding a new string to
56423         each test group.
56424         (compare_strings): Test new string.
56425
56426 2008-02-13  Eric Blake  <ebb9@byu.net>
56427
56428         Avoid trigraph quoting in default output.
56429         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56430         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56431         unless explicitly requested.
56432         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56433
56434 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56435
56436         Don't rely on signed integer overflowing to negative value.
56437         * lib/getugroups.c (getugroups): Include <limits.h>.
56438         Instead, compare against INT_MAX, and increment only if the test passes.
56439
56440 2008-02-13  Jim Meyering  <meyering@redhat.com>
56441         and Eric Blake  <ebb9@byu.net>
56442
56443         Avoid shadowing warning and compile errors on Linux.
56444         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56445         forwarding macros on Linux.
56446         (dcgettext): Define a stub, for Linux.
56447         (results_g, main): Avoid warnings.
56448
56449 2008-02-12  Eric Blake  <ebb9@byu.net>
56450
56451         Silence warning in last patch.
56452         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56453
56454         Quotearg part 4: add tests, fix c-maybe colon quoting.
56455         * lib/quotearg.h: Improve documentation.
56456         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56457         escapes when adding outer quotes.  When quoting trigraphs, use
56458         valid C notation.  When quoting NUL, omit extra characters if next
56459         character is not digit.  Alter prototype.
56460         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56461         callers.
56462         * modules/quotearg-tests: New module.
56463         * tests/test-quotearg.c: New test.
56464
56465 2008-02-07  Eric Blake  <ebb9@byu.net>
56466
56467         Quotearg part 3: add flag to control outer quote elision.
56468         * lib/quotearg.h (c_maybe_quoting_style): New style.
56469         (enum quoting_flags): Better documentation of flags.
56470         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56471         c-maybe style.
56472         (quotearg_buffer_restyled): Handle new flag to elide outer
56473         quotes.
56474
56475         Quotearg part 2: add flag that can control NUL elision.
56476         * lib/quotearg.h (set_quoting_flags): New prototype.
56477         * lib/quotearg.c (struct quoting_options): Add flag field.
56478         (set_quoting_flags): New function.
56479         (quotearg_buffer_restyled): Add flags parameter.
56480         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56481         (quotearg_n_options): Set the flag, since length cannot be
56482         returned.
56483         (quoting_options_from_style): Default flags correctly.
56484
56485         Quotearg part 1: more wrappers, restore quotearg_char state.
56486         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56487         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56488         (quotearg_colon_mem): New wrappers.
56489         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56490         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56491         functions.
56492         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56493         (quotearg_colon_mem): New functions.
56494
56495 2008-02-11  Bruno Haible  <bruno@clisp.org>
56496
56497         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56498         library in the current directory: it does not work with parallel make.
56499         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56500
56501 2008-02-11  Bruno Haible  <bruno@clisp.org>
56502
56503         * .gitattributes: New file.
56504
56505 2008-02-11  Jim Meyering  <meyering@redhat.com>
56506
56507         useless-if-before-free: Fix reversed exit values.
56508         * build-aux/useless-if-before-free: Use correct values
56509         for EXIT_MATCH and EXIT_NO_MATCH.
56510
56511         * build-aux/useless-if-before-free: Close stdout carefully.
56512
56513 2008-02-10  Bruno Haible  <bruno@clisp.org>
56514
56515         New module 'git-merge-changelog'.
56516         * modules/git-merge-changelog: New file.
56517         * lib/git-merge-changelog.c: New file.
56518
56519 2008-02-10  Jim Meyering  <meyering@redhat.com>
56520
56521         useless-if-before-free: New option: --list (-l).
56522
56523         useless-if-before-free: Don't exit immediately upon open failure.
56524         * build-aux/useless-if-before-free: Exit 2 for errors.
56525         Upon failure to open a file, don't exit immediately.
56526         Rather, just warn and continue with any remaining files.
56527
56528 2008-02-10  Bruno Haible  <bruno@clisp.org>
56529
56530         New abstract list operation 'node_set_value'.
56531         * lib/gl_list.h (gl_list_node_set_value): New function.
56532         (struct gl_list_implementation): New field node_set_value.
56533         * lib/gl_list.c (gl_list_node_set_value): New function.
56534         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56535         (gl_array_list_implementation): Update.
56536         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56537         (gl_carray_list_implementation): Update.
56538         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56539         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56540         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56541         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56542         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56543         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56544         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56545         Update.
56546         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56547         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56548         (gl_sublist_list_implementation): Update.
56549
56550 2008-02-10  Bruno Haible  <bruno@clisp.org>
56551
56552         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56553         Needed when ELEMENT is #defined to 'some_type *'.
56554
56555 2008-02-10  Jim Meyering  <meyering@redhat.com>
56556
56557         New script and module: useless-if-before-free
56558         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56559         * build-aux/useless-if-before-free: New file.
56560         * modules/useless-if-before-free: New file.
56561
56562         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56563
56564         xstrtol_error: Fix typo.
56565         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56566         s/exit_failure/exit_status/.
56567
56568 2008-02-09  Jim Meyering  <meyering@redhat.com>
56569
56570         New script and module: gitlog-to-changelog
56571         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56572         * modules/gitlog-to-changelog: New file.
56573         * build-aux/gitlog-to-changelog: New file.
56574
56575 2008-02-08  Jim Meyering  <meyering@redhat.com>
56576
56577         Avoid two "parameter unused" warnings.
56578         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56579         Mark "st" as used.
56580
56581         Use "git COMMAND", not "git-COMMAND".
56582         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56583         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56584         * build-aux/git-version-gen: Use "git status", not "git-status".
56585
56586 2008-02-07  Bruno Haible  <bruno@clisp.org>
56587
56588         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56589         Avoids a crash on Windows Vista.
56590         Reported by Adam Strzelecki <ono@java.pl> via
56591         Simon Josefsson <simon@josefsson.org>.
56592
56593 2008-02-06  Bruno Haible  <bruno@clisp.org>
56594
56595         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56596         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56597         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56598         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56599         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56600         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56601         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56602         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56603         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56604         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56605         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56606         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56607         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56608         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56609         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56610         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56611         left-adjust flag.
56612         * tests/test-snprintf-posix.h (test_function): Likewise.
56613         * tests/test-sprintf-posix.h (test_function): Likewise.
56614         * tests/test-vasprintf-posix.c (test_function): Likewise.
56615         * doc/posix-functions/fprintf.texi: Update.
56616         * doc/posix-functions/printf.texi: Update.
56617         * doc/posix-functions/snprintf.texi: Update.
56618         * doc/posix-functions/sprintf.texi: Update.
56619         * doc/posix-functions/vfprintf.texi: Update.
56620         * doc/posix-functions/vprintf.texi: Update.
56621         * doc/posix-functions/vsnprintf.texi: Update.
56622         * doc/posix-functions/vsprintf.texi: Update.
56623         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56624
56625 2008-02-06  Bruno Haible  <bruno@clisp.org>
56626
56627         Fix bug introduced on 2008-01-26.
56628         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56629
56630 2008-02-06  Bruno Haible  <bruno@clisp.org>
56631
56632         Fix bug introduced on 2007-06-10.
56633         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56634         !NEED_PRINTF_FLAG_ZERO.
56635
56636 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56637
56638         getloadavg: use libperfstat on AIX5
56639         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56640
56641 2008-02-03  Bruno Haible  <bruno@clisp.org>
56642
56643         * lib/diffseq.h: Add comments about required #includes.
56644         Reported by Michael Biggs <gnulib@doubleplum.net>.
56645
56646 2008-02-01  Bruno Haible  <bruno@clisp.org>
56647
56648         * users.txt: Add gnuit.
56649
56650 2008-01-31  Bruno Haible  <bruno@clisp.org>
56651
56652         * lib/md4.c (set_uint32): Mark as inline.
56653         * lib/md5.c (set_uint32): Likewise.
56654         * lib/sha1.c (set_uint32): Likewise.
56655         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56656         * m4/md5.m4 (gl_MD5): Likewise.
56657         * m4/sha1.m4 (gl_SHA1): Likewise.
56658
56659 2008-01-31  Jim Meyering  <meyering@redhat.com>
56660
56661         Use "sizeof VAR", rather than a literal "4".
56662         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56663         * lib/md4.c (md4_read_ctx): Likewise.
56664         * lib/sha1.c (sha1_read_ctx): Likewise.
56665
56666 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56667
56668         * tests/test-sha1.c: New file, based on test-md5.c.
56669
56670         * modules/crypto/sha1-tests: New file.
56671
56672 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56673
56674         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56675
56676 2008-01-31  Jim Meyering  <meyering@redhat.com>
56677
56678         Prefer "sizeof v" over the equivalent "4".
56679         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56680         * lib/md5.c (set_uint32): Likewise.
56681         * lib/sha1.c (set_uint32): Likewise.
56682
56683 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56684
56685         * lib/sha1.c (set_uint32): Mark function as static.
56686
56687 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56688
56689         md2: clarify comments to say that alignment is not required.
56690         * lib/md2.h: Remove warning about alignment in comment.
56691         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56692         never been required.
56693
56694 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56695
56696         md4: adapt alignment constraint fix from sha1.
56697         * lib/md4.c (set_uint32): New function, from sha1.c
56698         (md4_read_ctx): Use it.
56699         (md4_finish_ctx): Doc fix.
56700         * lib/md4.h: Doc fix.
56701
56702 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56703
56704         md5: adapt alignment constraint fix from sha1.
56705         * lib/md5.c (set_uint32): New function, from sha1.c
56706         (md5_read_ctx): Use it.
56707         (md5_finish_ctx): Doc fix.
56708         * lib/md5.h: Doc fix.
56709
56710 2008-01-30  Peter Palfrader  <weasel@debian.org>
56711
56712         sha1: remove the result buffer alignment constraint
56713         * lib/sha1.c (set_uint32): New function.
56714         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56715         constraint.
56716         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56717         * lib/sha1.h: Likewise.
56718
56719 2008-01-30  Andreas Schwab  <schwab@suse.de>
56720             Bruno Haible  <bruno@clisp.org>
56721
56722         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56723         correct definition of LDBL_MIN_EXP.
56724
56725 2008-01-30  Karl Berry  <karl@gnu.org>
56726
56727         * config/srclist-update: try to preserve x bit on updates.
56728         * config/srclistvars.sh: update for karl.
56729
56730 2008-01-29  Jim Meyering  <meyering@redhat.com>
56731
56732         vasnprintf.c: Avoid warning about unused label
56733         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56734         "overflow" label definition and associated code with the
56735         same cpp condition that guards the sole use of that label.
56736
56737 2008-01-26  Bruno Haible  <bruno@clisp.org>
56738
56739         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56740         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56741         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56742         * lib/isnanl-nolibm.h (isnanl): Likewise.
56743         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56744
56745 2008-01-26  Bruno Haible  <bruno@clisp.org>
56746
56747         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56748         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56749
56750 2008-01-26  Bruno Haible  <bruno@clisp.org>
56751
56752         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56753         GCC >= 4.0 built-in.
56754         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56755
56756 2008-01-26  Bruno Haible  <bruno@clisp.org>
56757
56758         Rename isnan, applicable to 'double' only, to isnand.
56759         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56760         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56761         (configure.ac): Update.
56762         (Include): Replace "isnan.h" with "isnand.h".
56763         * m4/isnand.m4: Renamed from m4/isnan.m4.
56764         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56765         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56766         instead of isnan.c.
56767         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56768         instead of HAVE_ISNAN_IN_LIBC.
56769         (isnand): Renamed from isnan.
56770         * lib/isnand.c: New file.
56771         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56772         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56773         (Makefile.am): Update.
56774         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56775         Include isnand.h instead of isnan.h.
56776         (main): Test isnand instead of isnan.
56777         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56778         isnan-nolibm.
56779         * modules/frexp (Depends-on): Likewise.
56780         * modules/frexp-tests (Depends-on): Likewise.
56781         * modules/frexp-nolibm (Depends-on): Likewise.
56782         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56783         * modules/isfinite (Depends-on): Likewise.
56784         * modules/round-tests (Depends-on): Likewise.
56785         * modules/signbit (Depends-on): Likewise.
56786         * modules/signbit-tests (Depends-on): Likewise.
56787         * modules/snprintf-posix (Depends-on): Likewise.
56788         * modules/sprintf-posix (Depends-on): Likewise.
56789         * modules/trunc-tests (Depends-on): Likewise.
56790         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56791         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56792         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56793         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56794         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56795         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56796         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56797         * modules/vasnprintf-posix (Depends-on): Likewise.
56798         * modules/vasprintf-posix (Depends-on): Likewise.
56799         * modules/vfprintf-posix (Depends-on): Likewise.
56800         * modules/vsnprintf-posix (Depends-on): Likewise.
56801         * modules/vsprintf-posix (Depends-on): Likewise.
56802         * lib/frexp.c: Include isnand.h instead of isnan.h.
56803         (ISNAN): Set to isnand instead of isnan.
56804         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56805         (gl_isfinited): Use isnand instead of isnan.
56806         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56807         (gl_signbitd): Use isnand instead of isnan.
56808         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56809         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56810         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56811         (main): Use isnand instead of isnan.
56812         * tests/test-round1.c: Include isnand.h.
56813         (main): Use isnand instead of isnan.
56814         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56815         (ISNAN): Set to isnand instead of isnan.
56816         * tests/test-trunc1.c: Include isnand.h.
56817         (main): Use isnand instead of isnan.
56818         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56819         (equal): Use isnand instead of isnan.
56820         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56821         isnand-nolibm.
56822         * NEWS: Mention the change.
56823
56824 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56825             Bruno Haible  <bruno@clisp.org>
56826
56827         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56828         the GCC builtins for signbits are present and set
56829         REPLACE_SIGNBIT_USING_GCC if so.
56830         * lib/math.in.h (signbit): Define using GCC builtins if
56831         REPLACE_SIGNBIT_USING_GCC is set.
56832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56833         REPLACE_SIGNBIT_USING_GCC.
56834         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56835
56836 2008-01-25  Jim Meyering  <meyering@redhat.com>
56837
56838         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56839         * lib/poll.c: Include <config.h>, not "config.h".
56840         * tests/test-getaddrinfo.c: Likewise.
56841
56842 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56843
56844         * modules/sockets-tests: New file.
56845
56846 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56847
56848         * modules/sockets: New module, can be used to call WSA_Startup and
56849         WSA_Cleanup when needed.
56850
56851         * lib/sockets.h, lib/sockets.c: New files.
56852
56853         * m4/sockets.m4: New file.
56854
56855         * tests/test-sockets.c: New file.
56856
56857 2008-01-19  Bruno Haible  <bruno@clisp.org>
56858
56859         * doc/posix-headers: Renamed from doc/headers.
56860         * doc/posix-functions: Renamed from doc/functions.
56861         * doc/gnulib.texi: Update.
56862
56863 2008-01-19  Bruno Haible  <bruno@clisp.org>
56864
56865         * doc/glibc-functions/strcasestr.texi: Include contents of
56866         doc/functions/strcasestr.texi, fixing the list of platforms.
56867         * doc/functions/strcasestr.texi: Remove file.
56868
56869 2008-01-19  Bruno Haible  <bruno@clisp.org>
56870
56871         * doc/glibc-functions/memmem.texi: Include contents of
56872         doc/functions/memmem.texi.
56873         * doc/functions/memmem.texi: Remove file.
56874
56875 2008-01-18  Bruno Haible  <bruno@clisp.org>
56876
56877         * doc/glibc-functions/*.texi: New files.
56878         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56879         to use the new files.
56880
56881 2008-01-17  Bruno Haible  <bruno@clisp.org>
56882
56883         * tests/test-gethostname.c (main): Fix printf statement.
56884
56885 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56886
56887         * modules/gethostname-tests: New file.
56888
56889         * tests/test-gethostname.c: New file.
56890
56891 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56892
56893         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56894         used by the UNAME case.  Reported by Bruno Haible
56895         <bruno@clisp.org>.
56896
56897 2008-01-17  Eric Blake  <ebb9@byu.net>
56898
56899         Convert c-strcasestr to be more efficient.
56900         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56901         (Depends-on): Add c-strcase, remove malloca, strnlen.
56902         * tests/test-c-strcasestr.c (main): Enhance test.
56903         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56904
56905 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56906
56907         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56908         Use it in creating po/Makevars.
56909
56910 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56911
56912         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56913         Applications that requires it should initialize libgcrypt
56914         manually.
56915
56916 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56917
56918         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56919
56920 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56921
56922         Fix problem with getdate on mingw32 reported by Simon Josefsson
56923         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56924         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56925         tzname", when deciding whether to declare tzname.
56926         * lib/strftime.c (tzname): Likewise.
56927
56928 2008-01-15  Bruno Haible  <bruno@clisp.org>
56929
56930         Work around a MacOS X 10.5 bug in frexpl().
56931         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56932         * doc/functions/frexpl.texi: Document the bug.
56933         Reported by Elias Pipping <pipping@gentoo.org>.
56934
56935 2008-01-14  Eric Blake  <ebb9@byu.net>
56936
56937         Touch up previous patch.
56938         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56939         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56940
56941         Convert strcasestr module to use Two-Way algorithm.
56942         * modules/strcasestr-simple: New module, based on the old
56943         strcasestr, but with Two-Way rather than KMP.
56944         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56945         * lib/string.in.h (rpl_strcasestr): Declare.
56946         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56947         performance.
56948         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56949         * modules/string (Makefile.am): Support strcasestr.
56950         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56951         * modules/strcasestr-tests (Depends-on): Check for alarm.
56952         * tests/test-strcasestr.c: Augment test.
56953         * lib/str-two-way.h: Clean up stray macro.
56954         * NEWS: Document new module.
56955         * MODULES.html.sh (string handling): Likewise.
56956         * doc/functions/strcasestr.texi: New file.
56957         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56958         here, since it is not a POSIX function.
56959
56960 2008-01-14  Colin Watson  <cjwatson@debian.org>
56961             Bruno Haible  <bruno@clisp.org>
56962
56963         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56964         works fine; if not, set REPLACE_STRSIGNAL.
56965         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56966         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56967         REPLACE_STRSIGNAL.
56968         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56969         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56970         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56971
56972 2008-01-14  Bruno Haible  <bruno@clisp.org>
56973
56974         * modules/strsignal (Include): Change to <string.h>.
56975
56976 2008-01-14  Colin Watson  <cjwatson@debian.org>
56977
56978         * modules/argp (Notice): Add a notice recommending to change
56979         XGETTEXT_OPTIONS.
56980         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56981
56982 2008-01-13  Colin Watson  <cjwatson@debian.org>
56983
56984         * modules/strsignal-tests: New file.
56985         * tests/test-strsignal.c: New file.
56986
56987         * lib/strsignal.c: New file, from glibc with modifications.
56988         * lib/siglist.h: New file, from glibc with modifications.
56989         * lib/string.in.h (strsignal): New declaration.
56990         * m4/strsignal.m4: New file.
56991         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56992         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56993         * modules/strsignal: New file.
56994         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56995         HAVE_DECL_STRSIGNAL.
56996
56997 2008-01-13  Bruno Haible  <bruno@clisp.org>
56998
56999         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
57000         locale encoding is not ASCII. Needed for OpenBSD 4.0.
57001         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57002         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57003
57004 2008-01-13  Bruno Haible  <bruno@clisp.org>
57005
57006         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
57007         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
57008         * lib/argp.h (__attribute__): Likewise.
57009         * lib/c-stack.c (__attribute__): Likewise.
57010         * lib/error.h (__attribute__): Likewise.
57011         * lib/fts.c (__attribute__): Likewise.
57012         * lib/openat.h (__attribute__): Likewise.
57013         * lib/stdio.in.h (__attribute__): Likewise.
57014         * lib/string.in.h (__attribute__): Likewise.
57015         * lib/utimens.c (__attribute__): Likewise.
57016         * lib/vasnprintf.h (__attribute__): Likewise.
57017         * lib/xalloc.h (__attribute__): Likewise.
57018         * lib/xprintf.h (__attribute__): Likewise.
57019         * lib/xstrtol.h (__attribute__): Likewise.
57020         * lib/xvasprintf.h (__attribute__): Likewise.
57021
57022 2008-01-12  Bruno Haible  <bruno@clisp.org>
57023
57024         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
57025         * doc/glibc-headers/a.out.texi: New file.
57026         * doc/glibc-headers/aliases.texi: New file.
57027         * doc/glibc-headers/alloca.texi: New file.
57028         * doc/glibc-headers/ar.texi: New file.
57029         * doc/glibc-headers/argp.texi: New file.
57030         * doc/glibc-headers/argz.texi: New file.
57031         * doc/glibc-headers/byteswap.texi: New file.
57032         * doc/glibc-headers/crypt.texi: New file.
57033         * doc/glibc-headers/endian.texi: New file.
57034         * doc/glibc-headers/envz.texi: New file.
57035         * doc/glibc-headers/err.texi: New file.
57036         * doc/glibc-headers/error.texi: New file.
57037         * doc/glibc-headers/execinfo.texi: New file.
57038         * doc/glibc-headers/fpu_control.texi: New file.
57039         * doc/glibc-headers/fstab.texi: New file.
57040         * doc/glibc-headers/fts.texi: New file.
57041         * doc/glibc-headers/getopt.texi: New file.
57042         * doc/glibc-headers/ieee754.texi: New file.
57043         * doc/glibc-headers/ifaddrs.texi: New file.
57044         * doc/glibc-headers/libintl.texi: New file.
57045         * doc/glibc-headers/mcheck.texi: New file.
57046         * doc/glibc-headers/mntent.texi: New file.
57047         * doc/glibc-headers/obstack.texi: New file.
57048         * doc/glibc-headers/paths.texi: New file.
57049         * doc/glibc-headers/printf.texi: New file.
57050         * doc/glibc-headers/pty.texi: New file.
57051         * doc/glibc-headers/resolv.texi: New file.
57052         * doc/glibc-headers/shadow.texi: New file.
57053         * doc/glibc-headers/sysexits.texi: New file.
57054         * doc/glibc-headers/ttyent.texi: New file.
57055
57056 2008-01-12  Jim Meyering  <meyering@redhat.com>
57057
57058         announce-gen: emit Gnulib's git-based version string.
57059         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
57060         New option --gnulib-version=V, where V is expected to be
57061         the output of running git describe in the gnulib directory.
57062         (get_tool_versions): Request feedback on xdelta.  I suspect it's
57063         not useful, and plan to stop publishing an xdelta file with each
57064         coreutils release.
57065
57066         * build-aux/announce-gen: Also check for lzma-compressed files.
57067
57068 2008-01-11  Bruno Haible  <bruno@clisp.org>
57069
57070         * tests/test-memmem.c (main): Increase maximum allowed time.
57071         * tests/test-strstr.c (main): Likewise.
57072
57073 2008-01-11  Bruno Haible  <bruno@clisp.org>
57074
57075         * doc/functions/memmem.texi: Add more precisions about platforms.
57076         * doc/functions/strstr.texi: Likewise.
57077
57078 2008-01-10  Eric Blake  <ebb9@byu.net>
57079
57080         * m4/strstr.m4: Delete cruft from copy-n-paste.
57081         Reported by Bruno Haible.
57082
57083 2008-01-10  Bruno Haible  <bruno@clisp.org>
57084
57085         Make c-strstr rely on strstr.
57086         * lib/c-strstr.c: Don't include str-kmp.h.
57087         (c_strstr): Define in terms of strstr.
57088         * modules/c-strstr (Files): Remove lib/str-kmp.h.
57089         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
57090
57091 2008-01-10  Bruno Haible  <bruno@clisp.org>
57092
57093         * doc/gnulib.texi (String Functions in C Locale): New section.
57094         * doc/c-ctype.texi: New file.
57095         * doc/c-strcase.texi: New file.
57096         * doc/c-strcaseeq.texi: New file.
57097         * doc/c-strcasestr.texi: New file.
57098         * doc/c-strstr.texi: New file.
57099         * doc/c-strtod.texi: New file.
57100         * doc/c-strtold.texi: New file.
57101
57102 2008-01-10  Eric Blake  <ebb9@byu.net>
57103
57104         * lib/relocatable.h: Fix a comment.
57105
57106 2008-01-10  Eric Blake  <ebb9@byu.net>
57107
57108         Share two-way algorithm.
57109         * lib/str-two-way.h: New file, merged from...
57110         * lib/memmem.c: ...here...
57111         * lib/strstr.c: ...and here.
57112         * modules/memmem (Files): Use it.
57113         * modules/strstr (Files): Likewise.
57114
57115         Avoid quadratic strstr implementations.
57116         * lib/strstr.c: New file.
57117         * m4/strstr.m4: Likewise.
57118         * modules/strstr: Likewise.
57119         * modules/strstr-tests: Likewise.
57120         * tests/test-strstr.c: Likewise.
57121         * lib/string.in.h (rpl_strstr): Declare.
57122         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
57123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
57124         * modules/string (Makefile.am): Likewise.
57125         * MODULES.html.sh (string handling): Mention new module.
57126         * doc/functions/strstr.texi (strstr): Document the bug.
57127
57128 2008-01-10  Bruno Haible  <bruno@clisp.org>
57129
57130         * lib/relocatable.h (relocate): State whether result is freshly
57131         allocated or not.
57132         * lib/relocatable.c (relocate): Return a freshly allocated string
57133         instead of a pointer to a privately held string.
57134         Reported by Sylvain Beucler <beuc@gnu.org>.
57135
57136 2008-01-10  Colin Watson  <cjwatson@debian.org>
57137
57138         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
57139         s/S_ISNLK/S_ISLNK/.
57140
57141 2008-01-09  Bruno Haible  <bruno@clisp.org>
57142
57143         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
57144         and other files.
57145         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
57146         if it's only a guess.
57147         * modules/memmem: Simplify by depending on memmem-simple.
57148
57149 2008-01-09  Bruno Haible  <bruno@clisp.org>
57150
57151         Work around OpenBSD 4.0 tdelete() bug.
57152         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
57153         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
57154         macros and don't redefine the enum values.
57155         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
57156         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
57157         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
57158
57159 2008-01-09  Bruno Haible  <bruno@clisp.org>
57160
57161         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
57162         (main): Don't perform the tests if setlocale did not install a UTF-8
57163         locale. Needed on OpenBSD 4.0.
57164         * modules/wcwidth-tests (Depends-on): Add localcharset.
57165
57166 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
57167
57168         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
57169         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
57170         * NEWS: announce this.
57171         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
57172
57173 2008-01-09  Simon Josefsson  <simon@josefsson.org>
57174         and Eric Blake  <ebb9@byu.net>
57175
57176         Add memmem-simple module.
57177         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
57178         (gl_FUNC_MEMMEM): Separate performance from presence checks.
57179         * modules/memmem-simple: New file.
57180         * modules/memmem (Description): Tweak.
57181         * MODULES.html.sh (string handling): Mention new module.
57182         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
57183         addressed by memmem-simple.
57184         * NEWS: Document the difference.
57185
57186 2008-01-09  Eric Blake  <ebb9@byu.net>
57187
57188         Give gcc some memmem optimization hints.
57189         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
57190         (strcasestr): Declare as pure.
57191         * modules/memmem (Maintainer): Claim my implementation.
57192
57193 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57194
57195         Support AIX 6.1 and higher.
57196         * build-aux/config.libpath: Likewise.
57197         * build-aux/config.rpath: Likewise.
57198
57199 2008-01-08  Jim Meyering  <meyering@redhat.com>
57200             Bruno Haible  <bruno@clisp.org>
57201
57202         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
57203         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
57204         Reported by Peter Fales in
57205         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
57206
57207 2008-01-08  Bruno Haible  <bruno@clisp.org>
57208
57209         * modules/unictype/category-of (Depends-on): Add
57210         unictype/category-none.
57211         * modules/unictype/category-and-tests (Depends-on): Add
57212         unictype/category-{L,N,Lu,Nd}.
57213         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
57214         * modules/unictype/category-or-tests (Depends-on): Add
57215         unictype/category-{L,N}.
57216         * modules/unictype/category-name-tests (Depends-on): Add
57217         unictype/category-{Z,Nl}.
57218         Reported by Simon Josefsson.
57219
57220 2008-01-08  Bruno Haible  <bruno@clisp.org>
57221
57222         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
57223         convention better.
57224         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
57225         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
57226         Reported by Peter Miller <millerp@canb.auug.org.au>.
57227
57228 2008-01-08  Eric Blake  <ebb9@byu.net>
57229
57230         Rewrite memmem to guarantee linear complexity without malloc.
57231         * lib/memmem.c (memmem): Use Two-Way rather than
57232         Knuth-Morris-Pratt, to allow O(1) space usage.
57233         (critical_factorization, two_way_short_needle)
57234         (two_way_long_needle): New functions.
57235         (knuth_morris_pratt): Delete.
57236         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57237         Add stdint.
57238         * tests/test-memmem.c (main): Add tests for periodic needle and
57239         sublinear performance.
57240         * doc/functions/memmem.texi (memmem): Document other deficiencies
57241         in cygwin and older glibc.
57242
57243 2008-01-08  Bruno Haible  <bruno@clisp.org>
57244
57245         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57246         augmentation.
57247
57248 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57249
57250         Add a configure time option: --disable-acl.
57251         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57252         AC_ARG_ENABLE(acl).
57253
57254 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57255
57256         * tests/test-localename.c: Don't include obsolete "setenv.h".
57257
57258         * modules/localename-tests (Depends-on): Need unsetenv.
57259
57260 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57261
57262         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57263
57264 2008-01-06  Colin Watson  <cjwatson@debian.org>
57265
57266         * users.txt: Add man-db.
57267
57268 2008-01-07  Bruno Haible  <bruno@clisp.org>
57269
57270         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57271         previous section name.
57272
57273 2008-01-07  Bruno Haible  <bruno@clisp.org>
57274
57275         * lib/progname.c (set_program_name): Don't strip off a leading
57276         "lt-" prefix outside a .libs directory.
57277         Suggested by Paul Eggert.
57278
57279 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57280             Bruno Haible  <bruno@clisp.org>
57281
57282         Improve memory cleanup in 'relocatable' module.
57283         * lib/relocatable.h (compute_curr_prefix): Change return type to
57284         'char *'.
57285         * lib/relocatable.c (compute_curr_prefix): Change return type to
57286         'char *'. Free curr_installdir after use.
57287         (relocate): Free curr_prefix_better after use.
57288         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57289
57290 2008-01-01  Bruno Haible  <bruno@clisp.org>
57291
57292         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57293         failure on older glibc systems.
57294         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57295
57296 2008-01-05  Eric Blake  <ebb9@byu.net>
57297
57298         Avoid quadratic system memmem.
57299         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57300         Reported by Ralf Wildenhues.
57301
57302         Fix memmem test for mingw.
57303         * modules/memmem-tests (configure.ac): Check for alarm.
57304         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57305         it.
57306         * doc/functions/memmem.texi: New file.
57307         * doc/gnulib.texi (Function Substitutes): Add memmem.
57308         Reported by Bruno Haible.
57309
57310 2008-01-04  Bruno Haible  <bruno@clisp.org>
57311
57312         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57313         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57314         gl_HEADER_STRING_H_DEFAULTS.
57315
57316 2008-01-04  Eric Blake  <ebb9@byu.net>
57317
57318         Shorten duration of memmem test.
57319         * tests/test-memmem.c (main): Use alarm to declare failure if test
57320         is taking too long.
57321         Reported by Ralf Wildenhues.
57322
57323 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57324
57325         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57326         string, needed by strerror.
57327
57328 2008-01-03  Colin Watson  <cjwatson@debian.org>
57329             Bruno Haible  <bruno@clisp.org>
57330
57331         * doc/gnulib-tool.texi (Localization): New section.
57332
57333 2008-01-02  Bruno Haible  <bruno@clisp.org>
57334
57335         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
57336         variables to 'unsigned char *' type.
57337         Reported by Paul Eggert.
57338
57339 2008-01-02  Jim Meyering  <jim@meyering.net>
57340
57341         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
57342
57343 2007-12-31  Jim Meyering  <jim@meyering.net>
57344
57345         Avoid use of private FTS type name.
57346         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
57347
57348 2007-12-30  Karl Berry  <karl@gnu.org>
57349
57350         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
57351         work around defect in Texinfo and/or the standalone Info browser.
57352
57353 2007-12-30  Bruno Haible  <bruno@clisp.org>
57354
57355         Unify 5 copies of the KMP code.
57356         * lib/str-kmp.h: New file.
57357         * lib/c-strcasestr.c: Include str-kmp.h.
57358         (knuth_morris_pratt): Remove function.
57359         (c_strcasestr): Update.
57360         * lib/c-strstr.c: Include str-kmp.h.
57361         (knuth_morris_pratt): Remove function.
57362         (c_strcasestr): Update.
57363         * lib/mbscasestr.c: Include str-kmp.h.
57364         (knuth_morris_pratt_unibyte): Remove function.
57365         * lib/mbsstr.c: Include str-kmp.h.
57366         (knuth_morris_pratt_unibyte): Remove function.
57367         * lib/strcasestr.c: Include str-kmp.h.
57368         (knuth_morris_pratt): Remove function.
57369         (strcasestr): Update.
57370         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57371         * modules/c-strstr (Files): Likewise.
57372         * modules/mbscasestr (Files): Likewise.
57373         * modules/mbsstr (Files): Likewise.
57374         * modules/strcasestr (Files): Likewise.
57375         Suggested by Paul Eggert.
57376
57377 2007-12-30  Bruno Haible  <bruno@clisp.org>
57378
57379         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57380         defined.
57381
57382 2007-12-30  Bruno Haible  <bruno@clisp.org>
57383
57384         * lib/xmalloca.h: Include xalloc.h.
57385         (xnmalloca): New macro.
57386
57387 2007-12-30  Bruno Haible  <bruno@clisp.org>
57388
57389         * lib/malloca.h (nmalloca): New macro.
57390         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57391         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57392         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57393         knuth_morris_pratt_multibyte): Likewise.
57394         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57395         knuth_morris_pratt_multibyte): Likewise.
57396         * lib/memmem.c (knuth_morris_pratt): Likewise.
57397         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57398
57399 2007-12-25  Bruno Haible  <bruno@clisp.org>
57400
57401         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57402         * lib/glob.c: Don't include openat.h.
57403         (link_exists2_p): Add back the code that deals with the
57404         !GLOB_ALTDIRFUNC case.
57405         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57406         let it do the filename concatenation.
57407         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57408         * modules/glob (Depends-on): Remove openat.
57409
57410 2007-12-31  Bruno Haible  <bruno@clisp.org>
57411
57412         * modules/dirfd (License): Change to LGPLv2+.
57413         Approved by Jim Meyering.
57414
57415 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57416
57417         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57418         when multiplying M by sizeof (size_t).
57419
57420 2007-12-10  Martin Lambers  <marlam@marlam.de>
57421
57422         Override getpagesize on mingw.
57423         * lib/getpagesize.c: New file.
57424         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57425         * modules/getpagesize (Files): Add lib/getpagesize.c.
57426         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57428         REPLACE_GETPAGESIZE.
57429         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57430
57431 2007-12-25  Bruno Haible  <bruno@clisp.org>
57432
57433         * modules/localcharset (Notice): New field.
57434         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57435         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57436
57437 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57438             Bruno Haible  <bruno@clisp.org>
57439
57440         Avoid using the syntax symbol() in formatted documentation.
57441         * MODULES.html.sh (func_module): When replacing symbol() with a
57442         hyperlink, remove the parentheses. Show an error if some remain.
57443         Recognize and render the '...' syntax.
57444         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57445         Rework. Add paragraph about GCC's inlining.
57446         * doc/alloca.texi: Likewise.
57447         * doc/error.texi: Remove parentheses from symbol reference.
57448         * doc/gnulib-intro.texi: Likewise.
57449         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57450         * modules/fnmatch (Description): Reword to say "the ... function".
57451         * modules/full-read (Description): Likewise.
57452         * modules/full-write (Description): Likewise.
57453         * modules/safe-read (Description): Likewise.
57454         * modules/safe-write (Description): Likewise.
57455         * modules/strchrnul (Description): Likewise.
57456         * modules/trim (Description): Likewise.
57457         * modules/error (Description): Remove parentheses from symbol
57458         references.
57459         * modules/verror (Description): Likewise.
57460         Reported by Karl Berry.
57461
57462 2007-12-25  Bruno Haible  <bruno@clisp.org>
57463
57464         Fixup after 2007-10-16 commit.
57465         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57466
57467 2007-12-24  Bruno Haible  <bruno@clisp.org>
57468
57469         Make --enable-relocatable work with DESTDIR.
57470         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57471         to compute installdir from destprog.
57472         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57473         also set the RELOC_DESTDIR variable.
57474         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57475
57476 2007-12-24  Bruno Haible  <bruno@clisp.org>
57477
57478         Fix link error due to xalloc_die().
57479         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57480         of xreadlink.
57481         * lib/relocwrapper.c: Update comments.
57482         * build-aux/install-reloc: Remove xreadlink.c from file list.
57483         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57484         xreadlink.c.
57485         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57486
57487 2007-12-24  Bruno Haible  <bruno@clisp.org>
57488
57489         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57490         * lib/setenv.h: Remove file.
57491         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57492         lib/setenv.h.
57493         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57494         (Depends-on): Add stdlib.
57495         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57496         gl_FUNC_UNSETENV.
57497         (Include): Replace setenv.h with <stdlib.h>.
57498         * modules/unsetenv: New file.
57499         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57500         * lib/unsetenv.c: Include <stdlib.h> first.
57501         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57502         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57503         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57504         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57505         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57506         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57507         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57508         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57509         * doc/functions/unsetenv.texi: Update.
57510         * modules/xsetenv (Depends-on): Add unsetenv.
57511         * modules/getdate (Depends-on): Likewise.
57512         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57513         * lib/xsetenv.c: Don't include setenv.h.
57514         * lib/getdate.y: Likewise.
57515         * lib/relocwrapper.c: Likewise.
57516         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57517         (Depends-on): Add stdlib.
57518         * NEWS: Mention the changes.
57519         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57520
57521 2007-12-23  Bruno Haible  <bruno@clisp.org>
57522
57523         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57524         indentation.
57525
57526 2007-12-23  Bruno Haible  <bruno@clisp.org>
57527
57528         * lib/c-strcasestr.c: Add more comments.
57529         * lib/c-strstr.c: Likewise.
57530         * lib/mbscasestr.c: Likewise.
57531         * lib/mbsstr.c: Likewise.
57532         * lib/strcasestr.c: Likewise.
57533         * lib/memmem.c: Likewise.
57534
57535 2007-12-23  Bruno Haible  <bruno@clisp.org>
57536
57537         * tests/test-memmem.c: Include <string.h> first.
57538
57539 2007-12-22  Bruno Haible  <bruno@clisp.org>
57540
57541         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57542         the contents of $testsbase.
57543         Reported by Ralf Wildenhues.
57544
57545 2007-12-22  Bruno Haible  <bruno@clisp.org>
57546
57547         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57548         two variables local_ldadd_before, local_ldadd_last.
57549
57550 2007-12-20  Eric Blake  <ebb9@byu.net>
57551
57552         Work around circular library issue when cross-compiling.
57553         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57554         that progname.o does not need to pull in rpl_memcmp.
57555
57556 2007-12-19  Eric Blake  <ebb9@byu.net>
57557
57558         Fix memmem to avoid O(n^2) worst-case complexity.
57559         * lib/memmem.c (knuth_morris_pratt): New function.
57560         (memmem): Use it if first few naive iterations fail.
57561         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57562         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57563         * modules/memchr (License): Likewise.
57564         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57565         malloca.
57566         * tests/test-memmem.c: Rewrite, borrowing ideas from
57567         test-mbsstr1.c; the old version wouldn't even compile!
57568         * modules/memmem-tests: New file.
57569         * lib/string.in.h (rpl_memmem): Add declaration.
57570         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57571         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57572         REPLACE_MEMMEM.
57573
57574 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57575
57576         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57577         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57578         before any system include files, and undef after them all.  This
57579         should fix a problem on VMS reported by John E. Malmberg in
57580         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57581
57582 2007-12-17  Eric Blake  <ebb9@byu.net>
57583
57584         Revert addition of verify, for BSD/OS.
57585         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57586         can't handle large files, for the sake of obsolete platforms.
57587         * modules/fseeko (Depends-on): Remove verify.
57588         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57589         * doc/functions/ftello.texi (ftello): Likewise.
57590         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57591         Reported by Larry Jones.
57592
57593 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57594
57595         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57596         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57597
57598 2007-12-17  Jim Meyering  <meyering@redhat.com>
57599
57600         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57601         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57602         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57603         * modules/getcwd (Depends-on): Add openat.
57604         Reported by Petr Salinger.
57605
57606 2007-12-17  Bruno Haible  <bruno@clisp.org>
57607
57608         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57609         avoid a segmentation fault of the configure test on x86_64 systems.
57610
57611 2007-12-15  Jim Meyering  <meyering@redhat.com>
57612
57613         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57614
57615 2007-12-13  Eric Blake  <ebb9@byu.net>
57616
57617         Another fseek test.
57618         * tests/test-fseek.c (main): Also test ungetc handling.
57619         * tests/test-fseeko.c (main): Likewise.
57620         * modules/fseeko (Depends-on): Add verify.
57621         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57622         large.
57623         Reported by Larry Jones.
57624
57625         Fix fseeko on mingw.
57626         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57627         seek.
57628
57629         Beef up fseek tests.
57630         * tests/test-fseek.c (main): Also test eof handling.
57631         * tests/test-fseeko.c (main): Likewise.
57632         Reported by Larry Jones.
57633
57634 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57635
57636         Fix fseeko on BSD-based platforms.
57637         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57638         successful seek.
57639
57640 2007-12-12  Eric Blake  <ebb9@byu.net>
57641
57642         Allow circular dependency of separate libtests.a
57643         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57644         when use_libtests.
57645
57646 2007-12-11  Eric Blake  <ebb9@byu.net>
57647
57648         Fix bug with -0.0L in previous patch.
57649         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57650         * tests/test-isnan.c (main): Also test on zeroes.
57651         * tests/test-isnanf.c (main): Likewise.
57652         * tests/test-isnanl.h (main): Likewise.
57653
57654         Detect pseudo-denormals on x86 even when cross-compiling.
57655         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57656         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57657         invalid bit patterns that happen to satisfy ==.
57658
57659         Avoid link failures with separate libtests.a.
57660         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57661         last, to satisfy circular dependencies.
57662
57663 2007-12-11  Eric Blake  <ebb9@byu.net>
57664         and Bruno Haible  <bruno@clisp.org>
57665
57666         Fix OpenBSD 4.0 <float.h> handling of long double.
57667         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57668         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57669         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57670
57671 2007-12-11  Jim Meyering  <meyering@redhat.com>
57672
57673         * users.txt: Add libvirt.
57674
57675         Support versions of autoconf prior to 2.59c.
57676         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57677         if it is not already defined.
57678
57679 2007-12-09  Bruno Haible  <bruno@clisp.org>
57680
57681         Let 'gnulib-tool --import' collect sources needed for the tests in
57682         tests/ rather than in lib/.
57683         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57684         argument. If true, add rules to generate libtests.a, and put libtests.a
57685         into $(LDADD). Consider source files in subdirectories and set
57686         uses_subdirs.
57687         (func_emit_initmacro_start, func_emit_initmacro_end,
57688         func_emit_initmacro_done): Pass all arguments explicitly.
57689         (func_import): Determine two module lists main_modules,
57690         testsrelated_modules. Determine use_libtests. Determine two variables
57691         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57692         instead of just sed_transform_lib_file. Determine two variables
57693         main_files and testsrelated_files. Compute 'files' as the union of
57694         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57695         func_add_or_update. In the generated gnulib-comp.m4, collect the
57696         object files for tests/ in different variables than those for lib/.
57697         Substitute LIBTESTS_LIBDEPS.
57698         (func_create_testdir): Combine the uses_subdirs results from
57699         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57700
57701 2007-12-09  Bruno Haible  <bruno@clisp.org>
57702
57703         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57704         the build-aux directory.
57705
57706 2007-12-09  Bruno Haible  <bruno@clisp.org>
57707
57708         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57709         introduced on 2006-09-09.
57710
57711 2007-12-07  Jim Meyering  <meyering@redhat.com>
57712
57713         Let these macros work also with autoconf-2.59.
57714         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57715         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57716         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57717
57718 2007-12-06  Jim Meyering  <meyering@redhat.com>
57719
57720         Avoid a configure-time syntax error in gl_FUNC_ACL.
57721         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57722         function in each branch, before testing the cache variable.
57723
57724 2007-12-04  Eric Blake  <ebb9@byu.net>
57725
57726         Make scripts executable.
57727         * build-aux/config.guess: Add execute permissions.
57728         * build-aux/config.sub: Likewise.
57729         * build-aux/gendocs.sh: Likewise.
57730
57731         Fix frexp on mingw.
57732         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57733         cross-compiling.
57734         * doc/functions/frexp.texi (frexp): Document the bug.
57735
57736         Make cygwin fseeko check more reliable.
57737         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57738         version numbers, rather than unrelated feature check.
57739         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57740         * doc/functions/ftello.texi (ftello): Likewise.
57741         Reported by Bruno Haible.
57742
57743         * m4/strerror.m4: Bump version number.
57744
57745 2007-12-03  Bruno Haible  <bruno@clisp.org>
57746
57747         * doc/functions/mprotect.texi: Mention the mingw problem.
57748
57749 2007-12-03  Eric Blake  <ebb9@byu.net>
57750
57751         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57752         REPLACE_STRERROR is initialized before this macro.
57753
57754 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57755
57756         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57757         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57758         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57759         put -lsec in even for programs other than 'ls'.  This fixes a problem
57760         for gettext reported by Bruno Haible in
57761         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57762         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57763         Add support for Solaris 10.  This isn't efficient, but should get the
57764         job done for now.
57765
57766 2007-12-03  James Youngman  <jay@gnu.org>
57767
57768         * doc/regexprops-generic.texi: change "an close-group" to "a
57769         close-group" and "illegal" to "not allowed".
57770
57771 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57772
57773         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57774         pr_byname.h. Needed for the rare case when the maintainer has done
57775         "make maintainer-clean" in the source directory and then attempts a
57776         build outside the source directory.
57777         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57778         scripts_byname.h.
57779
57780 2007-12-02  Martin Lambers <marlam@marlam.de>
57781             Bruno Haible  <bruno@clisp.org>
57782
57783         * lib/getpagesize.h: Remove file.
57784         * lib/unistd.in.h: Include declaration of getpagesize here.
57785         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57786         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57787         HAVE_SYS_PARAM_H.
57788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57789         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57790         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57791         (Depends-on): Add unistd.
57792         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57793         (Include): Use <unistd.h> instead of getpagesize.h.
57794         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57795         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57796         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57797         gl_GETPAGESIZE invocation, already handled by module dependency.
57798         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57799
57800 2007-12-02  Bruno Haible  <bruno@clisp.org>
57801
57802         * modules/strings-tests: New file.
57803         * tests/test-strings.c: New file.
57804
57805         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57806         * lib/strings.in.h: New file.
57807         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57808         * m4/strings_h.m4: New file.
57809         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57810         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57811         * modules/strings: New file.
57812         * modules/string (Makefile.am): Update.
57813         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57814         Reported by Karl Berry.
57815
57816 2007-12-01  Eric Blake  <ebb9@byu.net>
57817
57818         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57819         accomodate fix in cygwin 1.5.25.
57820
57821 2007-12-01  Jim Meyering  <meyering@redhat.com>
57822
57823         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57824         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57825         that would inhibit utf8-optimization of a regexp containing line-
57826         or buffer-anchors, e.g., `^', `$'.
57827
57828 2007-11-30  Bruno Haible  <bruno@clisp.org>
57829
57830         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57831         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57832         glthread_recursive_lock_init.
57833         * lib/lock.c (glthread_recursive_lock_init)
57834         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57835         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57836
57837 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57838
57839         New function qset_acl, like set_acl but with syscall semantics.
57840         * lib/acl.h (qset_acl): New decl.
57841         * lib/acl.c (qset_acl): New function.
57842         (set_acl): Use new function.  Use more-consistent diagnostics.
57843
57844 2007-11-28  Jim Meyering  <meyering@redhat.com>
57845
57846         * modules/physmem (License): Change from GPL to LGPLv2+.
57847
57848 2007-11-26  Bruno Haible  <bruno@clisp.org>
57849
57850         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57851         'long double' type has excess precision.
57852         Reported by Jim Meyering in
57853         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57854
57855 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57856
57857         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57858         Sync from <http://gnu.org/licenses>.
57859         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57860         with license text from same location.
57861         * doc/maintain.texi, doc/standards.texi:  Sync from
57862         <http://savannah.gnu.org/projects/gnustandards>.
57863
57864 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
57865         and Jim Meyering  <meyering@redhat.com>
57866
57867         Adjust getdate' grammar to accept a slightly more regular language.
57868         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57869         Before, the former was rejected.
57870         * lib/getdate.y (digits_to_date_time): New function, factored
57871         out of ...
57872         (number): ...here.  Just call digits_to_date_time.
57873         (hybrid): New non-terminal to handle an <unsigned number,
57874         signed relative offset> sequence consistently.
57875
57876 2007-11-18  Jim Meyering  <meyering@redhat.com>
57877
57878         Pull my changes from coreutils:
57879         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57880         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57881         use of $gnulib_tool_option_extras, so that it's separated from the
57882         preceding argument.
57883
57884         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57885         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57886         parent destination directories before copying a file into place.
57887
57888 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57889
57890         bootstrap: work also with 4-argument variant of AC_INIT
57891         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57892
57893 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57894
57895         Port test-getaddrinfo to Solaris.
57896         Problem reported by Bruno Haible in
57897         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57898         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57899         explanation of setting 'hints'.
57900         Don't reject an implementation merely because it returns EAI_SERVICE.
57901         (EAI_SERVICE): Define to 0 if not defined.
57902
57903 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57904
57905         The license of gnu-make and posix-shell is now "GPLed build tool".
57906         * modules/gnu-make (License): Likewise.
57907         * modules/posix-shell (License): Likewise.
57908
57909         New module posix-shell, for determining a POSIX shell
57910         or perhaps something that is close enough to a POSIX shell.
57911         * m4/posix-shell.m4: New file.
57912         * modules/posix-shell: New file.
57913
57914         * MODULES.html.sh: Mention new module.
57915
57916         New module gnu-make, for determining whether we're using GNU Make.
57917         * m4/gnu-make.m4: New file.
57918         * modules/gnu-make: New file.
57919         * MODULES.html.sh: Mention new module.
57920
57921 2007-11-14  Jim Meyering  <meyering@redhat.com>
57922
57923         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57924         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57925         use this macro to create a function _definition_.
57926         Remove useless "#undef ARGMATCH_DIE".
57927
57928 2007-11-14  Bruno Haible  <bruno@clisp.org>
57929
57930         * lib/config.charset: Update for OpenBSD 4.1.
57931         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57932
57933 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57934
57935         Document 64-bit #if problems in stdint.texi.
57936         * doc/headers/stdint.texi (stdint.h): Mention problems with
57937         64-bit-#if, and how to work around them.
57938
57939         Don't insist on 'long long int' support in the preprocessor.  It
57940         breaks too many things.  For example, PRIdMAX still uses a 'long
57941         long int' format with the latest Sun compiler, even though
57942         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57943         preprocessor problem.  This causes the latest coreutils to dump
57944         core on Solaris 10 sparc with the Sun C compiler.
57945         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57946         the troublesome expressions at configure-time, not at #if-time.
57947         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57948         preprocessor.
57949         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57950         compile-time C checks, done at 'configure'-time.
57951         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57952         * modules/inttypes (Makefile): Substitute the new symbols that
57953         gl_INTTYPES_H now generates.
57954         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57955
57956 2007-11-12  Bruno Haible  <bruno@clisp.org>
57957
57958         Tests for Unicode character classification functions.
57959
57960         * modules/unictype/bidicategory-byname-tests: New file.
57961         * modules/unictype/bidicategory-name-tests: New file.
57962         * modules/unictype/bidicategory-of-tests: New file.
57963         * modules/unictype/bidicategory-test-tests: New file.
57964         * modules/unictype/block-list-tests: New file.
57965         * modules/unictype/block-of-tests: New file.
57966         * modules/unictype/block-test-tests: New file.
57967         * modules/unictype/category-C-tests: New file.
57968         * modules/unictype/category-Cc-tests: New file.
57969         * modules/unictype/category-Cf-tests: New file.
57970         * modules/unictype/category-Cn-tests: New file.
57971         * modules/unictype/category-Co-tests: New file.
57972         * modules/unictype/category-Cs-tests: New file.
57973         * modules/unictype/category-L-tests: New file.
57974         * modules/unictype/category-Ll-tests: New file.
57975         * modules/unictype/category-Lm-tests: New file.
57976         * modules/unictype/category-Lo-tests: New file.
57977         * modules/unictype/category-Lt-tests: New file.
57978         * modules/unictype/category-Lu-tests: New file.
57979         * modules/unictype/category-M-tests: New file.
57980         * modules/unictype/category-Mc-tests: New file.
57981         * modules/unictype/category-Me-tests: New file.
57982         * modules/unictype/category-Mn-tests: New file.
57983         * modules/unictype/category-N-tests: New file.
57984         * modules/unictype/category-Nd-tests: New file.
57985         * modules/unictype/category-Nl-tests: New file.
57986         * modules/unictype/category-No-tests: New file.
57987         * modules/unictype/category-P-tests: New file.
57988         * modules/unictype/category-Pc-tests: New file.
57989         * modules/unictype/category-Pd-tests: New file.
57990         * modules/unictype/category-Pe-tests: New file.
57991         * modules/unictype/category-Pf-tests: New file.
57992         * modules/unictype/category-Pi-tests: New file.
57993         * modules/unictype/category-Po-tests: New file.
57994         * modules/unictype/category-Ps-tests: New file.
57995         * modules/unictype/category-S-tests: New file.
57996         * modules/unictype/category-Sc-tests: New file.
57997         * modules/unictype/category-Sk-tests: New file.
57998         * modules/unictype/category-Sm-tests: New file.
57999         * modules/unictype/category-So-tests: New file.
58000         * modules/unictype/category-Z-tests: New file.
58001         * modules/unictype/category-Zl-tests: New file.
58002         * modules/unictype/category-Zp-tests: New file.
58003         * modules/unictype/category-Zs-tests: New file.
58004         * modules/unictype/category-and-not-tests: New file.
58005         * modules/unictype/category-and-tests: New file.
58006         * modules/unictype/category-byname-tests: New file.
58007         * modules/unictype/category-name-tests: New file.
58008         * modules/unictype/category-none-tests: New file.
58009         * modules/unictype/category-of-tests: New file.
58010         * modules/unictype/category-or-tests: New file.
58011         * modules/unictype/category-test-withtable-tests: New file.
58012         * modules/unictype/combining-class-tests: New file.
58013         * modules/unictype/ctype-alnum-tests: New file.
58014         * modules/unictype/ctype-alpha-tests: New file.
58015         * modules/unictype/ctype-blank-tests: New file.
58016         * modules/unictype/ctype-cntrl-tests: New file.
58017         * modules/unictype/ctype-digit-tests: New file.
58018         * modules/unictype/ctype-graph-tests: New file.
58019         * modules/unictype/ctype-lower-tests: New file.
58020         * modules/unictype/ctype-print-tests: New file.
58021         * modules/unictype/ctype-punct-tests: New file.
58022         * modules/unictype/ctype-space-tests: New file.
58023         * modules/unictype/ctype-upper-tests: New file.
58024         * modules/unictype/ctype-xdigit-tests: New file.
58025         * modules/unictype/decimal-digit-tests: New file.
58026         * modules/unictype/digit-tests: New file.
58027         * modules/unictype/mirror-tests: New file.
58028         * modules/unictype/numeric-tests: New file.
58029         * modules/unictype/property-alphabetic-tests: New file.
58030         * modules/unictype/property-ascii-hex-digit-tests: New file.
58031         * modules/unictype/property-bidi-arabic-digit-tests: New file.
58032         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
58033         * modules/unictype/property-bidi-block-separator-tests: New file.
58034         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
58035         * modules/unictype/property-bidi-common-separator-tests: New file.
58036         * modules/unictype/property-bidi-control-tests: New file.
58037         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
58038         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
58039         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
58040         * modules/unictype/property-bidi-european-digit-tests: New file.
58041         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
58042         * modules/unictype/property-bidi-left-to-right-tests: New file.
58043         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
58044         * modules/unictype/property-bidi-other-neutral-tests: New file.
58045         * modules/unictype/property-bidi-pdf-tests: New file.
58046         * modules/unictype/property-bidi-segment-separator-tests: New file.
58047         * modules/unictype/property-bidi-whitespace-tests: New file.
58048         * modules/unictype/property-byname-tests: New file.
58049         * modules/unictype/property-combining-tests: New file.
58050         * modules/unictype/property-composite-tests: New file.
58051         * modules/unictype/property-currency-symbol-tests: New file.
58052         * modules/unictype/property-dash-tests: New file.
58053         * modules/unictype/property-decimal-digit-tests: New file.
58054         * modules/unictype/property-default-ignorable-code-point-tests: New file.
58055         * modules/unictype/property-deprecated-tests: New file.
58056         * modules/unictype/property-diacritic-tests: New file.
58057         * modules/unictype/property-extender-tests: New file.
58058         * modules/unictype/property-format-control-tests: New file.
58059         * modules/unictype/property-grapheme-base-tests: New file.
58060         * modules/unictype/property-grapheme-extend-tests: New file.
58061         * modules/unictype/property-grapheme-link-tests: New file.
58062         * modules/unictype/property-hex-digit-tests: New file.
58063         * modules/unictype/property-hyphen-tests: New file.
58064         * modules/unictype/property-id-continue-tests: New file.
58065         * modules/unictype/property-id-start-tests: New file.
58066         * modules/unictype/property-ideographic-tests: New file.
58067         * modules/unictype/property-ids-binary-operator-tests: New file.
58068         * modules/unictype/property-ids-trinary-operator-tests: New file.
58069         * modules/unictype/property-ignorable-control-tests: New file.
58070         * modules/unictype/property-iso-control-tests: New file.
58071         * modules/unictype/property-join-control-tests: New file.
58072         * modules/unictype/property-left-of-pair-tests: New file.
58073         * modules/unictype/property-line-separator-tests: New file.
58074         * modules/unictype/property-logical-order-exception-tests: New file.
58075         * modules/unictype/property-lowercase-tests: New file.
58076         * modules/unictype/property-math-tests: New file.
58077         * modules/unictype/property-non-break-tests: New file.
58078         * modules/unictype/property-not-a-character-tests: New file.
58079         * modules/unictype/property-numeric-tests: New file.
58080         * modules/unictype/property-other-alphabetic-tests: New file.
58081         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
58082         * modules/unictype/property-other-grapheme-extend-tests: New file.
58083         * modules/unictype/property-other-id-continue-tests: New file.
58084         * modules/unictype/property-other-id-start-tests: New file.
58085         * modules/unictype/property-other-lowercase-tests: New file.
58086         * modules/unictype/property-other-math-tests: New file.
58087         * modules/unictype/property-other-uppercase-tests: New file.
58088         * modules/unictype/property-paired-punctuation-tests: New file.
58089         * modules/unictype/property-paragraph-separator-tests: New file.
58090         * modules/unictype/property-pattern-syntax-tests: New file.
58091         * modules/unictype/property-pattern-white-space-tests: New file.
58092         * modules/unictype/property-private-use-tests: New file.
58093         * modules/unictype/property-punctuation-tests: New file.
58094         * modules/unictype/property-quotation-mark-tests: New file.
58095         * modules/unictype/property-radical-tests: New file.
58096         * modules/unictype/property-sentence-terminal-tests: New file.
58097         * modules/unictype/property-soft-dotted-tests: New file.
58098         * modules/unictype/property-space-tests: New file.
58099         * modules/unictype/property-terminal-punctuation-tests: New file.
58100         * modules/unictype/property-test-tests: New file.
58101         * modules/unictype/property-titlecase-tests: New file.
58102         * modules/unictype/property-unassigned-code-value-tests: New file.
58103         * modules/unictype/property-unified-ideograph-tests: New file.
58104         * modules/unictype/property-uppercase-tests: New file.
58105         * modules/unictype/property-variation-selector-tests: New file.
58106         * modules/unictype/property-white-space-tests: New file.
58107         * modules/unictype/property-xid-continue-tests: New file.
58108         * modules/unictype/property-xid-start-tests: New file.
58109         * modules/unictype/property-zero-width-tests: New file.
58110         * modules/unictype/scripts-tests: New file.
58111         * modules/unictype/syntax-c-ident-tests: New file.
58112         * modules/unictype/syntax-c-whitespace-tests: New file.
58113         * modules/unictype/syntax-java-ident-tests: New file.
58114         * modules/unictype/syntax-java-whitespace-tests: New file.
58115         * tests/unictype/test-bidi_byname.c: New file.
58116         * tests/unictype/test-bidi_name.c: New file.
58117         * tests/unictype/test-bidi_of.c: New file.
58118         * tests/unictype/test-bidi_test.c: New file.
58119         * tests/unictype/test-block_list.c: New file.
58120         * tests/unictype/test-block_of.c: New file.
58121         * tests/unictype/test-block_test.c: New file.
58122         * tests/unictype/test-categ_and.c: New file.
58123         * tests/unictype/test-categ_and_not.c: New file.
58124         * tests/unictype/test-categ_byname.c: New file.
58125         * tests/unictype/test-categ_name.c: New file.
58126         * tests/unictype/test-categ_none.c: New file.
58127         * tests/unictype/test-categ_of.c: New file.
58128         * tests/unictype/test-categ_or.c: New file.
58129         * tests/unictype/test-categ_test_withtable.c: New file.
58130         * tests/unictype/test-combining.c: New file.
58131         * tests/unictype/test-decdigit.c: New file.
58132         * tests/unictype/test-digit.c: New file.
58133         * tests/unictype/test-mirror.c: New file.
58134         * tests/unictype/test-numeric.c: New file.
58135         * tests/unictype/test-pr_byname.c: New file.
58136         * tests/unictype/test-pr_test.c: New file.
58137         * tests/unictype/test-predicate-part1.h: New file.
58138         * tests/unictype/test-predicate-part2.h: New file.
58139         * tests/unictype/test-scripts.c: New file.
58140         * tests/unictype/test-sy_c_ident.c: New file.
58141         * tests/unictype/test-sy_java_ident.c: New file.
58142
58143         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
58144         for Unicode 5.0.0.
58145         * tests/unictype/test-categ_Cc.c: Likewise.
58146         * tests/unictype/test-categ_Cf.c: Likewise.
58147         * tests/unictype/test-categ_Cn.c: Likewise.
58148         * tests/unictype/test-categ_Co.c: Likewise.
58149         * tests/unictype/test-categ_Cs.c: Likewise.
58150         * tests/unictype/test-categ_L.c: Likewise.
58151         * tests/unictype/test-categ_Ll.c: Likewise.
58152         * tests/unictype/test-categ_Lm.c: Likewise.
58153         * tests/unictype/test-categ_Lo.c: Likewise.
58154         * tests/unictype/test-categ_Lt.c: Likewise.
58155         * tests/unictype/test-categ_Lu.c: Likewise.
58156         * tests/unictype/test-categ_M.c: Likewise.
58157         * tests/unictype/test-categ_Mc.c: Likewise.
58158         * tests/unictype/test-categ_Me.c: Likewise.
58159         * tests/unictype/test-categ_Mn.c: Likewise.
58160         * tests/unictype/test-categ_N.c: Likewise.
58161         * tests/unictype/test-categ_Nd.c: Likewise.
58162         * tests/unictype/test-categ_Nl.c: Likewise.
58163         * tests/unictype/test-categ_No.c: Likewise.
58164         * tests/unictype/test-categ_P.c: Likewise.
58165         * tests/unictype/test-categ_Pc.c: Likewise.
58166         * tests/unictype/test-categ_Pd.c: Likewise.
58167         * tests/unictype/test-categ_Pe.c: Likewise.
58168         * tests/unictype/test-categ_Pf.c: Likewise.
58169         * tests/unictype/test-categ_Pi.c: Likewise.
58170         * tests/unictype/test-categ_Po.c: Likewise.
58171         * tests/unictype/test-categ_Ps.c: Likewise.
58172         * tests/unictype/test-categ_S.c: Likewise.
58173         * tests/unictype/test-categ_Sc.c: Likewise.
58174         * tests/unictype/test-categ_Sk.c: Likewise.
58175         * tests/unictype/test-categ_Sm.c: Likewise.
58176         * tests/unictype/test-categ_So.c: Likewise.
58177         * tests/unictype/test-categ_Z.c: Likewise.
58178         * tests/unictype/test-categ_Zl.c: Likewise.
58179         * tests/unictype/test-categ_Zp.c: Likewise.
58180         * tests/unictype/test-categ_Zs.c: Likewise.
58181         * tests/unictype/test-ctype_alnum.c: Likewise.
58182         * tests/unictype/test-ctype_alpha.c: Likewise.
58183         * tests/unictype/test-ctype_blank.c: Likewise.
58184         * tests/unictype/test-ctype_cntrl.c: Likewise.
58185         * tests/unictype/test-ctype_digit.c: Likewise.
58186         * tests/unictype/test-ctype_graph.c: Likewise.
58187         * tests/unictype/test-ctype_lower.c: Likewise.
58188         * tests/unictype/test-ctype_print.c: Likewise.
58189         * tests/unictype/test-ctype_punct.c: Likewise.
58190         * tests/unictype/test-ctype_space.c: Likewise.
58191         * tests/unictype/test-ctype_upper.c: Likewise.
58192         * tests/unictype/test-ctype_xdigit.c: Likewise.
58193         * tests/unictype/test-decdigit.h: Likewise.
58194         * tests/unictype/test-digit.h: Likewise.
58195         * tests/unictype/test-numeric.h: Likewise.
58196         * tests/unictype/test-pr_alphabetic.c: Likewise.
58197         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
58198         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
58199         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
58200         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
58201         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
58202         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
58203         * tests/unictype/test-pr_bidi_control.c: Likewise.
58204         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
58205         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
58206         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
58207         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
58208         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
58209         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
58210         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
58211         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
58212         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
58213         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
58214         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
58215         * tests/unictype/test-pr_combining.c: Likewise.
58216         * tests/unictype/test-pr_composite.c: Likewise.
58217         * tests/unictype/test-pr_currency_symbol.c: Likewise.
58218         * tests/unictype/test-pr_dash.c: Likewise.
58219         * tests/unictype/test-pr_decimal_digit.c: Likewise.
58220         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
58221         * tests/unictype/test-pr_deprecated.c: Likewise.
58222         * tests/unictype/test-pr_diacritic.c: Likewise.
58223         * tests/unictype/test-pr_extender.c: Likewise.
58224         * tests/unictype/test-pr_format_control.c: Likewise.
58225         * tests/unictype/test-pr_grapheme_base.c: Likewise.
58226         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
58227         * tests/unictype/test-pr_grapheme_link.c: Likewise.
58228         * tests/unictype/test-pr_hex_digit.c: Likewise.
58229         * tests/unictype/test-pr_hyphen.c: Likewise.
58230         * tests/unictype/test-pr_id_continue.c: Likewise.
58231         * tests/unictype/test-pr_id_start.c: Likewise.
58232         * tests/unictype/test-pr_ideographic.c: Likewise.
58233         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
58234         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58235         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58236         * tests/unictype/test-pr_iso_control.c: Likewise.
58237         * tests/unictype/test-pr_join_control.c: Likewise.
58238         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58239         * tests/unictype/test-pr_line_separator.c: Likewise.
58240         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58241         * tests/unictype/test-pr_lowercase.c: Likewise.
58242         * tests/unictype/test-pr_math.c: Likewise.
58243         * tests/unictype/test-pr_non_break.c: Likewise.
58244         * tests/unictype/test-pr_not_a_character.c: Likewise.
58245         * tests/unictype/test-pr_numeric.c: Likewise.
58246         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58247         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58248         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58249         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58250         * tests/unictype/test-pr_other_id_start.c: Likewise.
58251         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58252         * tests/unictype/test-pr_other_math.c: Likewise.
58253         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58254         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58255         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58256         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58257         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58258         * tests/unictype/test-pr_private_use.c: Likewise.
58259         * tests/unictype/test-pr_punctuation.c: Likewise.
58260         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58261         * tests/unictype/test-pr_radical.c: Likewise.
58262         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58263         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58264         * tests/unictype/test-pr_space.c: Likewise.
58265         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58266         * tests/unictype/test-pr_titlecase.c: Likewise.
58267         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58268         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58269         * tests/unictype/test-pr_uppercase.c: Likewise.
58270         * tests/unictype/test-pr_variation_selector.c: Likewise.
58271         * tests/unictype/test-pr_white_space.c: Likewise.
58272         * tests/unictype/test-pr_xid_continue.c: Likewise.
58273         * tests/unictype/test-pr_xid_start.c: Likewise.
58274         * tests/unictype/test-pr_zero_width.c: Likewise.
58275         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58276         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58277
58278 2007-11-12  Bruno Haible  <bruno@clisp.org>
58279
58280         Unicode character classification functions.
58281         * lib/unictype.h: New file.
58282         * modules/unictype/base: New file.
58283         * modules/unictype/category-L: New file.
58284         * modules/unictype/category-Lu: New file.
58285         * modules/unictype/category-Ll: New file.
58286         * modules/unictype/category-Lt: New file.
58287         * modules/unictype/category-Lm: New file.
58288         * modules/unictype/category-Lo: New file.
58289         * modules/unictype/category-M: New file.
58290         * modules/unictype/category-Mn: New file.
58291         * modules/unictype/category-Mc: New file.
58292         * modules/unictype/category-Me: New file.
58293         * modules/unictype/category-N: New file.
58294         * modules/unictype/category-Nd: New file.
58295         * modules/unictype/category-Nl: New file.
58296         * modules/unictype/category-No: New file.
58297         * modules/unictype/category-P: New file.
58298         * modules/unictype/category-Pc: New file.
58299         * modules/unictype/category-Pd: New file.
58300         * modules/unictype/category-Ps: New file.
58301         * modules/unictype/category-Pe: New file.
58302         * modules/unictype/category-Pi: New file.
58303         * modules/unictype/category-Pf: New file.
58304         * modules/unictype/category-Po: New file.
58305         * modules/unictype/category-S: New file.
58306         * modules/unictype/category-Sm: New file.
58307         * modules/unictype/category-Sc: New file.
58308         * modules/unictype/category-Sk: New file.
58309         * modules/unictype/category-So: New file.
58310         * modules/unictype/category-Z: New file.
58311         * modules/unictype/category-Zs: New file.
58312         * modules/unictype/category-Zl: New file.
58313         * modules/unictype/category-Zp: New file.
58314         * modules/unictype/category-C: New file.
58315         * modules/unictype/category-Cc: New file.
58316         * modules/unictype/category-Cf: New file.
58317         * modules/unictype/category-Cs: New file.
58318         * modules/unictype/category-Co: New file.
58319         * modules/unictype/category-Cn: New file.
58320         * modules/unictype/category-or: New file.
58321         * modules/unictype/category-of: New file.
58322         * modules/unictype/category-test: New file.
58323         * modules/unictype/category-test-withtable: New file.
58324         * modules/unictype/category-byname: New file.
58325         * modules/unictype/category-none: New file.
58326         * modules/unictype/category-and: New file.
58327         * modules/unictype/category-and-not: New file.
58328         * modules/unictype/category-name: New file.
58329         * modules/unictype/combining-class: New file.
58330         * modules/unictype/category-all: New file.
58331         * modules/unictype/bidicategory-all: New file.
58332         * modules/unictype/bidicategory-byname: New file.
58333         * modules/unictype/bidicategory-name: New file.
58334         * modules/unictype/bidicategory-of: New file.
58335         * modules/unictype/bidicategory-test: New file.
58336         * modules/unictype/decimal-digit: New file.
58337         * modules/unictype/digit: New file.
58338         * modules/unictype/numeric: New file.
58339         * modules/unictype/mirror: New file.
58340         * modules/unictype/property-white-space: New file.
58341         * modules/unictype/property-alphabetic: New file.
58342         * modules/unictype/property-other-alphabetic: New file.
58343         * modules/unictype/property-not-a-character: New file.
58344         * modules/unictype/property-default-ignorable-code-point: New file.
58345         * modules/unictype/property-other-default-ignorable-code-point: New
58346         file.
58347         * modules/unictype/property-deprecated: New file.
58348         * modules/unictype/property-logical-order-exception: New file.
58349         * modules/unictype/property-variation-selector: New file.
58350         * modules/unictype/property-private-use: New file.
58351         * modules/unictype/property-unassigned-code-value: New file.
58352         * modules/unictype/property-uppercase: New file.
58353         * modules/unictype/property-other-uppercase: New file.
58354         * modules/unictype/property-lowercase: New file.
58355         * modules/unictype/property-other-lowercase: New file.
58356         * modules/unictype/property-titlecase: New file.
58357         * modules/unictype/property-soft-dotted: New file.
58358         * modules/unictype/property-id-start: New file.
58359         * modules/unictype/property-other-id-start: New file.
58360         * modules/unictype/property-id-continue: New file.
58361         * modules/unictype/property-other-id-continue: New file.
58362         * modules/unictype/property-xid-start: New file.
58363         * modules/unictype/property-xid-continue: New file.
58364         * modules/unictype/property-pattern-white-space: New file.
58365         * modules/unictype/property-pattern-syntax: New file.
58366         * modules/unictype/property-join-control: New file.
58367         * modules/unictype/property-grapheme-base: New file.
58368         * modules/unictype/property-grapheme-extend: New file.
58369         * modules/unictype/property-other-grapheme-extend: New file.
58370         * modules/unictype/property-grapheme-link: New file.
58371         * modules/unictype/property-bidi-control: New file.
58372         * modules/unictype/property-bidi-left-to-right: New file.
58373         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58374         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58375         * modules/unictype/property-bidi-european-digit: New file.
58376         * modules/unictype/property-bidi-eur-num-separator: New file.
58377         * modules/unictype/property-bidi-eur-num-terminator: New file.
58378         * modules/unictype/property-bidi-arabic-digit: New file.
58379         * modules/unictype/property-bidi-common-separator: New file.
58380         * modules/unictype/property-bidi-block-separator: New file.
58381         * modules/unictype/property-bidi-segment-separator: New file.
58382         * modules/unictype/property-bidi-whitespace: New file.
58383         * modules/unictype/property-bidi-non-spacing-mark: New file.
58384         * modules/unictype/property-bidi-boundary-neutral: New file.
58385         * modules/unictype/property-bidi-pdf: New file.
58386         * modules/unictype/property-bidi-embedding-or-override: New file.
58387         * modules/unictype/property-bidi-other-neutral: New file.
58388         * modules/unictype/property-hex-digit: New file.
58389         * modules/unictype/property-ascii-hex-digit: New file.
58390         * modules/unictype/property-ideographic: New file.
58391         * modules/unictype/property-unified-ideograph: New file.
58392         * modules/unictype/property-radical: New file.
58393         * modules/unictype/property-ids-binary-operator: New file.
58394         * modules/unictype/property-ids-trinary-operator: New file.
58395         * modules/unictype/property-zero-width: New file.
58396         * modules/unictype/property-space: New file.
58397         * modules/unictype/property-non-break: New file.
58398         * modules/unictype/property-iso-control: New file.
58399         * modules/unictype/property-format-control: New file.
58400         * modules/unictype/property-dash: New file.
58401         * modules/unictype/property-hyphen: New file.
58402         * modules/unictype/property-punctuation: New file.
58403         * modules/unictype/property-line-separator: New file.
58404         * modules/unictype/property-paragraph-separator: New file.
58405         * modules/unictype/property-quotation-mark: New file.
58406         * modules/unictype/property-sentence-terminal: New file.
58407         * modules/unictype/property-terminal-punctuation: New file.
58408         * modules/unictype/property-currency-symbol: New file.
58409         * modules/unictype/property-math: New file.
58410         * modules/unictype/property-other-math: New file.
58411         * modules/unictype/property-paired-punctuation: New file.
58412         * modules/unictype/property-left-of-pair: New file.
58413         * modules/unictype/property-combining: New file.
58414         * modules/unictype/property-composite: New file.
58415         * modules/unictype/property-decimal-digit: New file.
58416         * modules/unictype/property-numeric: New file.
58417         * modules/unictype/property-diacritic: New file.
58418         * modules/unictype/property-extender: New file.
58419         * modules/unictype/property-ignorable-control: New file.
58420         * modules/unictype/property-test: New file.
58421         * modules/unictype/property-byname: New file.
58422         * modules/unictype/property-all: New file.
58423         * modules/unictype/scripts: New file.
58424         * modules/unictype/scripts-all: New file.
58425         * modules/unictype/block-of: New file.
58426         * modules/unictype/block-test: New file.
58427         * modules/unictype/block-list: New file.
58428         * modules/unictype/block-all: New file.
58429         * modules/unictype/syntax-c-whitespace: New file.
58430         * modules/unictype/syntax-java-whitespace: New file.
58431         * modules/unictype/syntax-c-ident: New file.
58432         * modules/unictype/syntax-java-ident: New file.
58433         * modules/unictype/ctype-alnum: New file.
58434         * modules/unictype/ctype-alpha: New file.
58435         * modules/unictype/ctype-cntrl: New file.
58436         * modules/unictype/ctype-digit: New file.
58437         * modules/unictype/ctype-graph: New file.
58438         * modules/unictype/ctype-lower: New file.
58439         * modules/unictype/ctype-print: New file.
58440         * modules/unictype/ctype-punct: New file.
58441         * modules/unictype/ctype-space: New file.
58442         * modules/unictype/ctype-upper: New file.
58443         * modules/unictype/ctype-xdigit: New file.
58444         * modules/unictype/ctype-blank: New file.
58445         * lib/unictype/bidi_byname.c: New file.
58446         * lib/unictype/bidi_name.c: New file.
58447         * lib/unictype/bidi_of.c: New file.
58448         * lib/unictype/bidi_test.c: New file.
58449         * lib/unictype/bitmap.h: New file.
58450         * lib/unictype/block_test.c: New file.
58451         * lib/unictype/blocks.c: New file.
58452         * lib/unictype/categ_C.c: New file.
58453         * lib/unictype/categ_Cc.c: New file.
58454         * lib/unictype/categ_Cf.c: New file.
58455         * lib/unictype/categ_Cn.c: New file.
58456         * lib/unictype/categ_Co.c: New file.
58457         * lib/unictype/categ_Cs.c: New file.
58458         * lib/unictype/categ_L.c: New file.
58459         * lib/unictype/categ_Ll.c: New file.
58460         * lib/unictype/categ_Lm.c: New file.
58461         * lib/unictype/categ_Lo.c: New file.
58462         * lib/unictype/categ_Lt.c: New file.
58463         * lib/unictype/categ_Lu.c: New file.
58464         * lib/unictype/categ_M.c: New file.
58465         * lib/unictype/categ_Mc.c: New file.
58466         * lib/unictype/categ_Me.c: New file.
58467         * lib/unictype/categ_Mn.c: New file.
58468         * lib/unictype/categ_N.c: New file.
58469         * lib/unictype/categ_Nd.c: New file.
58470         * lib/unictype/categ_Nl.c: New file.
58471         * lib/unictype/categ_No.c: New file.
58472         * lib/unictype/categ_P.c: New file.
58473         * lib/unictype/categ_Pc.c: New file.
58474         * lib/unictype/categ_Pd.c: New file.
58475         * lib/unictype/categ_Pe.c: New file.
58476         * lib/unictype/categ_Pf.c: New file.
58477         * lib/unictype/categ_Pi.c: New file.
58478         * lib/unictype/categ_Po.c: New file.
58479         * lib/unictype/categ_Ps.c: New file.
58480         * lib/unictype/categ_S.c: New file.
58481         * lib/unictype/categ_Sc.c: New file.
58482         * lib/unictype/categ_Sk.c: New file.
58483         * lib/unictype/categ_Sm.c: New file.
58484         * lib/unictype/categ_So.c: New file.
58485         * lib/unictype/categ_Z.c: New file.
58486         * lib/unictype/categ_Zl.c: New file.
58487         * lib/unictype/categ_Zp.c: New file.
58488         * lib/unictype/categ_Zs.c: New file.
58489         * lib/unictype/categ_and.c: New file.
58490         * lib/unictype/categ_and_not.c: New file.
58491         * lib/unictype/categ_byname.c: New file.
58492         * lib/unictype/categ_name.c: New file.
58493         * lib/unictype/categ_none.c: New file.
58494         * lib/unictype/categ_of.c: New file.
58495         * lib/unictype/categ_or.c: New file.
58496         * lib/unictype/categ_test.c: New file.
58497         * lib/unictype/combining.c: New file.
58498         * lib/unictype/ctype_alnum.c: New file.
58499         * lib/unictype/ctype_alpha.c: New file.
58500         * lib/unictype/ctype_blank.c: New file.
58501         * lib/unictype/ctype_cntrl.c: New file.
58502         * lib/unictype/ctype_digit.c: New file.
58503         * lib/unictype/ctype_graph.c: New file.
58504         * lib/unictype/ctype_lower.c: New file.
58505         * lib/unictype/ctype_print.c: New file.
58506         * lib/unictype/ctype_punct.c: New file.
58507         * lib/unictype/ctype_space.c: New file.
58508         * lib/unictype/ctype_upper.c: New file.
58509         * lib/unictype/ctype_xdigit.c: New file.
58510         * lib/unictype/decdigit.c: New file.
58511         * lib/unictype/digit.c: New file.
58512         * lib/unictype/identsyntaxmap.h: New file.
58513         * lib/unictype/mirror.c: New file.
58514         * lib/unictype/numeric.c: New file.
58515         * lib/unictype/pr_alphabetic.c: New file.
58516         * lib/unictype/pr_ascii_hex_digit.c: New file.
58517         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58518         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58519         * lib/unictype/pr_bidi_block_separator.c: New file.
58520         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58521         * lib/unictype/pr_bidi_common_separator.c: New file.
58522         * lib/unictype/pr_bidi_control.c: New file.
58523         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58524         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58525         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58526         * lib/unictype/pr_bidi_european_digit.c: New file.
58527         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58528         * lib/unictype/pr_bidi_left_to_right.c: New file.
58529         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58530         * lib/unictype/pr_bidi_other_neutral.c: New file.
58531         * lib/unictype/pr_bidi_pdf.c: New file.
58532         * lib/unictype/pr_bidi_segment_separator.c: New file.
58533         * lib/unictype/pr_bidi_whitespace.c: New file.
58534         * lib/unictype/pr_byname.c: New file.
58535         * lib/unictype/pr_byname.gperf: New file.
58536         * lib/unictype/pr_combining.c: New file.
58537         * lib/unictype/pr_composite.c: New file.
58538         * lib/unictype/pr_currency_symbol.c: New file.
58539         * lib/unictype/pr_dash.c: New file.
58540         * lib/unictype/pr_decimal_digit.c: New file.
58541         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58542         * lib/unictype/pr_deprecated.c: New file.
58543         * lib/unictype/pr_diacritic.c: New file.
58544         * lib/unictype/pr_extender.c: New file.
58545         * lib/unictype/pr_format_control.c: New file.
58546         * lib/unictype/pr_grapheme_base.c: New file.
58547         * lib/unictype/pr_grapheme_extend.c: New file.
58548         * lib/unictype/pr_grapheme_link.c: New file.
58549         * lib/unictype/pr_hex_digit.c: New file.
58550         * lib/unictype/pr_hyphen.c: New file.
58551         * lib/unictype/pr_id_continue.c: New file.
58552         * lib/unictype/pr_id_start.c: New file.
58553         * lib/unictype/pr_ideographic.c: New file.
58554         * lib/unictype/pr_ids_binary_operator.c: New file.
58555         * lib/unictype/pr_ids_trinary_operator.c: New file.
58556         * lib/unictype/pr_ignorable_control.c: New file.
58557         * lib/unictype/pr_iso_control.c: New file.
58558         * lib/unictype/pr_join_control.c: New file.
58559         * lib/unictype/pr_left_of_pair.c: New file.
58560         * lib/unictype/pr_line_separator.c: New file.
58561         * lib/unictype/pr_logical_order_exception.c: New file.
58562         * lib/unictype/pr_lowercase.c: New file.
58563         * lib/unictype/pr_math.c: New file.
58564         * lib/unictype/pr_non_break.c: New file.
58565         * lib/unictype/pr_not_a_character.c: New file.
58566         * lib/unictype/pr_numeric.c: New file.
58567         * lib/unictype/pr_other_alphabetic.c: New file.
58568         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58569         * lib/unictype/pr_other_grapheme_extend.c: New file.
58570         * lib/unictype/pr_other_id_continue.c: New file.
58571         * lib/unictype/pr_other_id_start.c: New file.
58572         * lib/unictype/pr_other_lowercase.c: New file.
58573         * lib/unictype/pr_other_math.c: New file.
58574         * lib/unictype/pr_other_uppercase.c: New file.
58575         * lib/unictype/pr_paired_punctuation.c: New file.
58576         * lib/unictype/pr_paragraph_separator.c: New file.
58577         * lib/unictype/pr_pattern_syntax.c: New file.
58578         * lib/unictype/pr_pattern_white_space.c: New file.
58579         * lib/unictype/pr_private_use.c: New file.
58580         * lib/unictype/pr_punctuation.c: New file.
58581         * lib/unictype/pr_quotation_mark.c: New file.
58582         * lib/unictype/pr_radical.c: New file.
58583         * lib/unictype/pr_sentence_terminal.c: New file.
58584         * lib/unictype/pr_soft_dotted.c: New file.
58585         * lib/unictype/pr_space.c: New file.
58586         * lib/unictype/pr_terminal_punctuation.c: New file.
58587         * lib/unictype/pr_test.c: New file.
58588         * lib/unictype/pr_titlecase.c: New file.
58589         * lib/unictype/pr_unassigned_code_value.c: New file.
58590         * lib/unictype/pr_unified_ideograph.c: New file.
58591         * lib/unictype/pr_uppercase.c: New file.
58592         * lib/unictype/pr_variation_selector.c: New file.
58593         * lib/unictype/pr_white_space.c: New file.
58594         * lib/unictype/pr_xid_continue.c: New file.
58595         * lib/unictype/pr_xid_start.c: New file.
58596         * lib/unictype/pr_zero_width.c: New file.
58597         * lib/unictype/scripts.c: New file.
58598         * lib/unictype/sy_c_ident.c: New file.
58599         * lib/unictype/sy_c_whitespace.c: New file.
58600         * lib/unictype/sy_java_ident.c: New file.
58601         * lib/unictype/sy_java_whitespace.c: New file.
58602
58603         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58604         Unicode 5.0.0.
58605         * lib/unictype/blocks.h: Likewise.
58606         * lib/unictype/categ_C.h: Likewise.
58607         * lib/unictype/categ_Cc.h: Likewise.
58608         * lib/unictype/categ_Cf.h: Likewise.
58609         * lib/unictype/categ_Cn.h: Likewise.
58610         * lib/unictype/categ_Co.h: Likewise.
58611         * lib/unictype/categ_Cs.h: Likewise.
58612         * lib/unictype/categ_L.h: Likewise.
58613         * lib/unictype/categ_Ll.h: Likewise.
58614         * lib/unictype/categ_Lm.h: Likewise.
58615         * lib/unictype/categ_Lo.h: Likewise.
58616         * lib/unictype/categ_Lt.h: Likewise.
58617         * lib/unictype/categ_Lu.h: Likewise.
58618         * lib/unictype/categ_M.h: Likewise.
58619         * lib/unictype/categ_Mc.h: Likewise.
58620         * lib/unictype/categ_Me.h: Likewise.
58621         * lib/unictype/categ_Mn.h: Likewise.
58622         * lib/unictype/categ_N.h: Likewise.
58623         * lib/unictype/categ_Nd.h: Likewise.
58624         * lib/unictype/categ_Nl.h: Likewise.
58625         * lib/unictype/categ_No.h: Likewise.
58626         * lib/unictype/categ_P.h: Likewise.
58627         * lib/unictype/categ_Pc.h: Likewise.
58628         * lib/unictype/categ_Pd.h: Likewise.
58629         * lib/unictype/categ_Pe.h: Likewise.
58630         * lib/unictype/categ_Pf.h: Likewise.
58631         * lib/unictype/categ_Pi.h: Likewise.
58632         * lib/unictype/categ_Po.h: Likewise.
58633         * lib/unictype/categ_Ps.h: Likewise.
58634         * lib/unictype/categ_S.h: Likewise.
58635         * lib/unictype/categ_Sc.h: Likewise.
58636         * lib/unictype/categ_Sk.h: Likewise.
58637         * lib/unictype/categ_Sm.h: Likewise.
58638         * lib/unictype/categ_So.h: Likewise.
58639         * lib/unictype/categ_Z.h: Likewise.
58640         * lib/unictype/categ_Zl.h: Likewise.
58641         * lib/unictype/categ_Zp.h: Likewise.
58642         * lib/unictype/categ_Zs.h: Likewise.
58643         * lib/unictype/categ_of.h: Likewise.
58644         * lib/unictype/combining.h: Likewise.
58645         * lib/unictype/ctype_alnum.h: Likewise.
58646         * lib/unictype/ctype_alpha.h: Likewise.
58647         * lib/unictype/ctype_blank.h: Likewise.
58648         * lib/unictype/ctype_cntrl.h: Likewise.
58649         * lib/unictype/ctype_digit.h: Likewise.
58650         * lib/unictype/ctype_graph.h: Likewise.
58651         * lib/unictype/ctype_lower.h: Likewise.
58652         * lib/unictype/ctype_print.h: Likewise.
58653         * lib/unictype/ctype_punct.h: Likewise.
58654         * lib/unictype/ctype_space.h: Likewise.
58655         * lib/unictype/ctype_upper.h: Likewise.
58656         * lib/unictype/ctype_xdigit.h: Likewise.
58657         * lib/unictype/decdigit.h: Likewise.
58658         * lib/unictype/digit.h: Likewise.
58659         * lib/unictype/mirror.h: Likewise.
58660         * lib/unictype/numeric.h: Likewise.
58661         * lib/unictype/pr_alphabetic.h: Likewise.
58662         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58663         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58664         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58665         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58666         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58667         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58668         * lib/unictype/pr_bidi_control.h: Likewise.
58669         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58670         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58671         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58672         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58673         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58674         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58675         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58676         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58677         * lib/unictype/pr_bidi_pdf.h: Likewise.
58678         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58679         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58680         * lib/unictype/pr_combining.h: Likewise.
58681         * lib/unictype/pr_composite.h: Likewise.
58682         * lib/unictype/pr_currency_symbol.h: Likewise.
58683         * lib/unictype/pr_dash.h: Likewise.
58684         * lib/unictype/pr_decimal_digit.h: Likewise.
58685         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58686         * lib/unictype/pr_deprecated.h: Likewise.
58687         * lib/unictype/pr_diacritic.h: Likewise.
58688         * lib/unictype/pr_extender.h: Likewise.
58689         * lib/unictype/pr_format_control.h: Likewise.
58690         * lib/unictype/pr_grapheme_base.h: Likewise.
58691         * lib/unictype/pr_grapheme_extend.h: Likewise.
58692         * lib/unictype/pr_grapheme_link.h: Likewise.
58693         * lib/unictype/pr_hex_digit.h: Likewise.
58694         * lib/unictype/pr_hyphen.h: Likewise.
58695         * lib/unictype/pr_id_continue.h: Likewise.
58696         * lib/unictype/pr_id_start.h: Likewise.
58697         * lib/unictype/pr_ideographic.h: Likewise.
58698         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58699         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58700         * lib/unictype/pr_ignorable_control.h: Likewise.
58701         * lib/unictype/pr_iso_control.h: Likewise.
58702         * lib/unictype/pr_join_control.h: Likewise.
58703         * lib/unictype/pr_left_of_pair.h: Likewise.
58704         * lib/unictype/pr_line_separator.h: Likewise.
58705         * lib/unictype/pr_logical_order_exception.h: Likewise.
58706         * lib/unictype/pr_lowercase.h: Likewise.
58707         * lib/unictype/pr_math.h: Likewise.
58708         * lib/unictype/pr_non_break.h: Likewise.
58709         * lib/unictype/pr_not_a_character.h: Likewise.
58710         * lib/unictype/pr_numeric.h: Likewise.
58711         * lib/unictype/pr_other_alphabetic.h: Likewise.
58712         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58713         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58714         * lib/unictype/pr_other_id_continue.h: Likewise.
58715         * lib/unictype/pr_other_id_start.h: Likewise.
58716         * lib/unictype/pr_other_lowercase.h: Likewise.
58717         * lib/unictype/pr_other_math.h: Likewise.
58718         * lib/unictype/pr_other_uppercase.h: Likewise.
58719         * lib/unictype/pr_paired_punctuation.h: Likewise.
58720         * lib/unictype/pr_paragraph_separator.h: Likewise.
58721         * lib/unictype/pr_pattern_syntax.h: Likewise.
58722         * lib/unictype/pr_pattern_white_space.h: Likewise.
58723         * lib/unictype/pr_private_use.h: Likewise.
58724         * lib/unictype/pr_punctuation.h: Likewise.
58725         * lib/unictype/pr_quotation_mark.h: Likewise.
58726         * lib/unictype/pr_radical.h: Likewise.
58727         * lib/unictype/pr_sentence_terminal.h: Likewise.
58728         * lib/unictype/pr_soft_dotted.h: Likewise.
58729         * lib/unictype/pr_space.h: Likewise.
58730         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58731         * lib/unictype/pr_titlecase.h: Likewise.
58732         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58733         * lib/unictype/pr_unified_ideograph.h: Likewise.
58734         * lib/unictype/pr_uppercase.h: Likewise.
58735         * lib/unictype/pr_variation_selector.h: Likewise.
58736         * lib/unictype/pr_white_space.h: Likewise.
58737         * lib/unictype/pr_xid_continue.h: Likewise.
58738         * lib/unictype/pr_xid_start.h: Likewise.
58739         * lib/unictype/pr_zero_width.h: Likewise.
58740         * lib/unictype/scripts.h: Likewise.
58741         * lib/unictype/scripts_byname.gperf: Likewise.
58742         * lib/unictype/sy_c_ident.h: Likewise.
58743         * lib/unictype/sy_c_whitespace.h: Likewise.
58744         * lib/unictype/sy_java_ident.h: Likewise.
58745         * lib/unictype/sy_java_whitespace.h: Likewise.
58746
58747         * lib/unictype/Makefile: New file.
58748         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58749         glibc.
58750         * lib/unictype/3level.h: New file, copied from glibc.
58751         * lib/unictype/3levelbit.h: New file.
58752
58753 2007-11-11  Bruno Haible  <bruno@clisp.org>
58754
58755         * modules/gperf: New file.
58756         * modules/iconv_open (Depends-on): Add it.
58757         (Makefile.am): Remove the GPERF definition.
58758
58759 2007-11-11  Bruno Haible  <bruno@clisp.org>
58760
58761         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58762         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58763
58764 2007-11-11  Bruno Haible  <bruno@clisp.org>
58765
58766         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58767         (usage): Remove function.
58768
58769 2007-11-11  Bruno Haible  <bruno@clisp.org>
58770
58771         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58772         gl_FUNC_CEILF_LIBS.
58773         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58774         gl_FUNC_CEIL_LIBS.
58775         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58776         gl_FUNC_CEILL_LIBS.
58777         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58778         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58779         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58780
58781 2007-11-11  Bruno Haible  <bruno@clisp.org>
58782
58783         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58784         roundf were declared but do not exist on functions.
58785         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58786         roundl were declared but do not exist on functions.
58787         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58788         HAVE_FLOORL_AND_CEILL, respectively.
58789         Needed for Sun C on Solaris 10.
58790
58791 2007-11-11  Bruno Haible  <bruno@clisp.org>
58792
58793         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58794         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58795         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58796         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58797         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58798         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58799         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58800         HAVE_DECL_ROUNDF.
58801         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58802         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58804         of HAVE_DECL_ROUND*.
58805         * modules/math (Makefile.am): Update.
58806
58807 2007-11-10  Bruno Haible  <bruno@clisp.org>
58808
58809         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58810         ptrdiff_t as m4/intl.m4.
58811
58812 2007-11-10  Jim Meyering  <meyering@redhat.com>
58813
58814         Avoid link failure for the argmatch test.
58815         * tests/test-argmatch.c (usage): Define function to avoid a link
58816         failure: argmatch_die requires a usage function.
58817
58818 2007-11-09  Bruno Haible  <bruno@clisp.org>
58819
58820         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58821         * doc/functions/vsnprintf.texi: Likewise.
58822         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58823         with a size argument < 2.
58824
58825 2007-11-09  Bruno Haible  <bruno@clisp.org>
58826
58827         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58828         buffer. Fixes an inefficiency introduced on 2007-11-03.
58829
58830 2007-11-09  Bruno Haible  <bruno@clisp.org>
58831
58832         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58833         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58834
58835 2007-11-08  Jim Meyering  <meyering@redhat.com>
58836
58837         Change cache variable name prefix "jm_" to "gl_" everywhere.
58838         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58839         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58840         * m4/uptime.m4: s/gl_/jm_/
58841
58842 2007-11-07  Bruno Haible  <bruno@clisp.org>
58843
58844         Update to GNU gettext 0.17.
58845         * m4/intl.m4: Update to GNU gettext 0.17.
58846         * m4/po.m4: Likewise.
58847         * modules/gettext (Files): Remove m4/ulonglong.m4.
58848         (configure.ac): Require gettext infrastructure from version 0.17.
58849
58850 2007-11-06  Bruno Haible  <bruno@clisp.org>
58851
58852         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58853         symbolic values are not defined in a public header.
58854         * lib/freadable.c (freadable) [QNX]: Likewise.
58855         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58856         * lib/freading.c (freading) [QNX]: Likewise.
58857         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58858         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58859         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58860         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58861         Reported by Alain Magloire.
58862
58863         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58864
58865 2007-11-05  Bruno Haible  <bruno@clisp.org>
58866
58867         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58868         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58869         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58870         Reported by Eric Blake.
58871
58872 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58873             Bruno Haible  <bruno@clisp.org>
58874
58875         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58876         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58877         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58878         (malloc): Undefine also before including <stdlib.h>.
58879         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58880         Needed on OSF/1 4.0.
58881
58882 2007-11-05  Jim Meyering  <meyering@redhat.com>
58883
58884         git-version-gen: sync from coreutils.
58885         * build-aux/git-version-gen: Add comments.
58886         Change the first '-' to '.' in the snapshot version string,
58887         e.g., 6.9-377-08144 -> 6.9.377-08144
58888         Remove first parameter.
58889         Don't declare a version "-dirty" merely because a time
58890         stamp has changed.
58891
58892 2007-11-04  Bruno Haible  <bruno@clisp.org>
58893
58894         * lib/lock.h: Protect all macro definitions containing an 'if'
58895         statement through a "do { ... } while (0)".
58896         * lib/tls.h: Likewise.
58897
58898 2007-11-04  Bruno Haible  <bruno@clisp.org>
58899
58900         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58901
58902 2007-11-04  Bruno Haible  <bruno@clisp.org>
58903
58904         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58905         * modules/fprintf-posix (Depends-on): Add nocrash.
58906         * modules/snprintf-posix (Depends-on): Likewise.
58907         * modules/sprintf-posix (Depends-on): Likewise.
58908         * modules/vasnprintf-posix (Depends-on): Likewise.
58909         * modules/vasprintf-posix (Depends-on): Likewise.
58910         * modules/vfprintf-posix (Depends-on): Likewise.
58911         * modules/vsnprintf-posix (Depends-on): Likewise.
58912         * modules/vsprintf-posix (Depends-on): Likewise.
58913         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58914         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58915         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58916         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58917         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58918         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58919         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58920
58921 2007-11-04  Bruno Haible  <bruno@clisp.org>
58922
58923         * modules/nocrash: New file.
58924         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58925         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58926
58927 2007-11-04  Bruno Haible  <bruno@clisp.org>
58928
58929         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58930         precision handling.
58931         * tests/test-vasprintf-posix.c (test_function): Likewise.
58932         * tests/test-snprintf-posix.h (test_function): Likewise.
58933         * tests/test-sprintf-posix.h (test_function): Likewise.
58934
58935         Fix *printf behaviour for large precisions on mingw and BeOS.
58936         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58937         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58938         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58939         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58940         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58941         gl_PRINTF_PRECISION and test its result. Invoke
58942         gl_PREREQ_VASNPRINTF_PRECISION.
58943         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58944         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58945         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58946         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58947         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58948         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58949         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58950         * doc/functions/fprintf.texi: Update.
58951         * doc/functions/printf.texi: Update.
58952         * doc/functions/snprintf.texi: Update.
58953         * doc/functions/sprintf.texi: Update.
58954         * doc/functions/vfprintf.texi: Update.
58955         * doc/functions/vprintf.texi: Update.
58956         * doc/functions/vsnprintf.texi: Update.
58957         * doc/functions/vsprintf.texi: Update.
58958
58959 2007-11-04  Bruno Haible  <bruno@clisp.org>
58960
58961         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58962
58963 2007-11-04  Bruno Haible  <bruno@clisp.org>
58964
58965         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58966         Reported by Sylvain Beucler <beuc@gnu.org>.
58967
58968 2007-11-03  Bruno Haible  <bruno@clisp.org>
58969
58970         * tests/test-fprintf-posix2.sh: New file.
58971         * tests/test-fprintf-posix2.c: New file.
58972         * modules/fprintf-posix-tests (Files): Add them.
58973         (TESTS): Add test-fprintf-posix2.sh.
58974         (configure.ac): Check for getrlimit and setrlimit.
58975         (check_PROGRAMS): Add test-fprintf-posix2.
58976
58977         * tests/test-printf-posix2.sh: New file.
58978         * tests/test-printf-posix2.c: New file.
58979         * modules/printf-posix-tests (Files): Add them.
58980         (TESTS): Add test-printf-posix2.sh.
58981         (configure.ac): Check for getrlimit and setrlimit.
58982         (check_PROGRAMS): Add test-printf-posix2.
58983
58984         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58985         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58986         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58987         (decode_double): New function, copied from decode_long_double.
58988         (scale10_round_decimal_decoded): New function, extracted from
58989         scale10_round_decimal_long_double.
58990         (scale10_round_decimal_long_double): Use it.
58991         (scale10_round_decimal_double): New function.
58992         (floorlog10): New function.
58993         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58994         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58995         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58996         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58997         gl_PRINTF_ENOMEM and test its result. Invoke
58998         gl_PREREQ_VASNPRINTF_ENOMEM.
58999         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59000         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59001         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59002         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59003         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59004         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59005         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59006         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
59007         * modules/snprintf-posix (Depends-on): Likewise.
59008         * modules/sprintf-posix (Depends-on): Likewise.
59009         * modules/vasnprintf-posix (Depends-on): Likewise.
59010         * modules/vasprintf-posix (Depends-on): Likewise.
59011         * modules/vfprintf-posix (Depends-on): Likewise.
59012         * modules/vsnprintf-posix (Depends-on): Likewise.
59013         * modules/vsprintf-posix (Depends-on): Likewise.
59014         * doc/functions/fprintf.texi: Update.
59015         * doc/functions/printf.texi: Update.
59016         * doc/functions/snprintf.texi: Update.
59017         * doc/functions/sprintf.texi: Update.
59018         * doc/functions/vfprintf.texi: Update.
59019         * doc/functions/vprintf.texi: Update.
59020         * doc/functions/vsnprintf.texi: Update.
59021         * doc/functions/vsprintf.texi: Update.
59022
59023 2007-11-03  Bruno Haible  <bruno@clisp.org>
59024
59025         * modules/frexp-nolibm-tests: New file.
59026
59027         * modules/frexp-nolibm: New file.
59028         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
59029
59030 2007-11-03  Bruno Haible  <bruno@clisp.org>
59031
59032         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
59033         value is C99 compliant.
59034         Needed for OSF/1 5.1.
59035
59036 2007-11-03  Bruno Haible  <bruno@clisp.org>
59037
59038         Fix out-of-memory handling of vasnprintf.
59039         * lib/printf-parse.c: Include <errno.h>.
59040         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
59041         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
59042         is already set.
59043
59044 2007-11-02  Eric Blake  <ebb9@byu.net>
59045
59046         Fix tests on cygwin.
59047         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
59048
59049 2007-11-01  Bruno Haible  <bruno@clisp.org>
59050
59051         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
59052         warning.
59053         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
59054         needed for POSIX compatibility.
59055
59056 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
59057
59058         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
59059         for compatibility with GNU.
59060
59061 2007-11-01  Bruno Haible  <bruno@clisp.org>
59062
59063         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
59064         (putenv): Renamed from rpl_putenv. Change argument type from
59065         'const char *' to 'char *'.
59066         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
59067         of defining putenv in config.h, just set REPLACE_PUTENV.
59068         * modules/putenv (Depends-on): Add stdlib.
59069         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59070         (Include): Use <stdlib.h>.
59071         * lib/stdlib.in.h (putenv): New declaration.
59072         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
59073         REPLACE_PUTENV.
59074         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
59075         REPLACE_PUTENV.
59076         Needed for MacOS X 10.5.0.
59077         Reported by Peter O'Gorman <peter@pogma.com>.
59078
59079 2007-11-01  Jim Meyering  <meyering@redhat.com>
59080
59081         Treat an empty date string exactly like "0".
59082         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
59083         if the remaining date string (to be parsed) is empty, use "0".
59084         Reported by Mischa Molhoek and discussed in this thread:
59085         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
59086
59087 2007-10-31  Bruno Haible  <bruno@clisp.org>
59088
59089         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
59090         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
59091         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
59092         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
59093         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
59094         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
59095
59096 2007-10-31  Bruno Haible  <bruno@clisp.org>
59097
59098         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
59099         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
59100         (AC_TYPE_LONG_LONG_INT): Use it.
59101         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
59102         it as well.
59103         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
59104         to m4/longlong.m4.
59105         * modules/stdint (Files): Remove m4/ulonglong.m4.
59106         * modules/strtoull (Files): Use m4/longlong.m4 instead of
59107         m4/ulonglong.m4.
59108         * modules/strtoumax (Files): Likewise.
59109
59110 2007-10-30  Bruno Haible  <bruno@clisp.org>
59111
59112         * modules/xvasprintf-posix: New file.
59113         Suggested by Eric Blake.
59114
59115 2007-10-30  Bruno Haible  <bruno@clisp.org>
59116
59117         * modules/xprintf-posix-tests: New file.
59118         * tests/test-xprintf-posix.sh: New file.
59119         * tests/test-xprintf-posix.c: New file.
59120         * tests/test-xfprintf-posix.c: New file.
59121
59122         * modules/xprintf-posix: New file.
59123
59124 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59125
59126         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
59127         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
59128         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
59129
59130 2007-10-29  Bruno Haible  <bruno@clisp.org>
59131
59132         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
59133         contain the special marker '_cv_'.
59134         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
59135         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
59136         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
59137         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
59138         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
59139         Reported by Ralf Wildenhues.
59140
59141 2007-10-29  Bruno Haible  <bruno@clisp.org>
59142
59143         * gnulib-tool (func_import): When --lgpl is not specified, set
59144         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
59145         GPLv3.
59146         Reported by Simon Josefsson.
59147
59148 2007-10-28  Bruno Haible  <bruno@clisp.org>
59149
59150         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
59151         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
59152         HAVE_DECL_ISFINITE.
59153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59154         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
59155         HAVE_DECL_ISFINITE.
59156
59157 2007-10-28  Bruno Haible  <bruno@clisp.org>
59158
59159         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
59160         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
59161
59162 2007-10-28  Bruno Haible  <bruno@clisp.org>
59163
59164         Fix link errors with Sun C 5.0 on Solaris 10.
59165         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
59166         function is declared but not present in the compiler's libm.
59167         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
59168         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
59169         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
59170         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
59171         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
59172         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
59173         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
59174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59175         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
59176         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
59177         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
59178         HAVE_DECL_FLOORL.
59179
59180 2007-10-28  Bruno Haible  <bruno@clisp.org>
59181
59182         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
59183         gl_FUNC_FLOORL. Cache the result.
59184         (gl_FUNC_FLOORL): Use it.
59185         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
59186         gl_FUNC_CEILL. Cache the result.
59187         (gl_FUNC_CEILL): Use it.
59188
59189         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
59190         gl_FUNC_FLOOR. Cache the result.
59191         (gl_FUNC_FLOOR): Use it.
59192         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
59193         gl_FUNC_CEIL. Cache the result.
59194         (gl_FUNC_CEIL): Use it.
59195
59196         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
59197         gl_FUNC_FLOORF. Cache the result.
59198         (gl_FUNC_FLOORF): Use it.
59199         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
59200         gl_FUNC_CEILF. Cache the result.
59201         (gl_FUNC_CEILF): Use it.
59202
59203 2007-10-28  Bruno Haible  <bruno@clisp.org>
59204
59205         * gnulib-tool: Allow specifying the LGPL version number through
59206         --lgpl=2 or --lgpl=3.
59207         (func_usage): Document --lgpl with argument.
59208         Handle --lgpl=... arguments.
59209         (func_import): Recognize also gl_LGPL calls with an argument. When
59210         --lgpl=2 is used and the module's license is just LGPL, report an
59211         error. Set sed_transform_lib_file according to the lgpl variable. In
59212         the generated files, use --lgpl or gl_LGPL invocations with argument,
59213         if necessary.
59214         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
59215         an LGPv2+ license.
59216         * doc/gnulib-tool.texi (Modified imports): Update explanation of
59217         gl_LGPL macro.
59218
59219 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59220             Bruno Haible  <bruno@clisp.org>
59221
59222         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
59223         (u16_uctomb_aux): Likewise.
59224         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
59225         !HAVE_INLINE.
59226         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
59227
59228 2007-10-28  Bruno Haible  <bruno@clisp.org>
59229
59230         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
59231         Invoke AM_GETTEXT_OPTION if it exists.
59232         * modules/vasprintf: Likewise.
59233         * modules/verror: Likewise.
59234         * modules/xprintf: Likewise.
59235         * modules/xvasprintf: Likewise.
59236
59237 2007-10-27  Ben Pfaff  <blp@gnu.org>
59238
59239         * lib/math.in.h: Define isfinite macro and prototypes for
59240         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59241         implementations.
59242         * m4/math_h.m4: New substitutions for isfinite module.
59243         * lib/isfinite.c: New file.
59244         * m4/isfinite.m4: New file.
59245         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59246         * modules/isfinite: New file.
59247         * modules/isfinite-tests: New file.
59248         * tests/tests-isfinite.c: New file.
59249         * doc/functions/isfinite.texi: Mention isfinite module.
59250         * MODULES.html.sh: Mention new module.
59251
59252 2007-10-27  Ben Pfaff  <blp@gnu.org>
59253
59254         Ralf Wildenhues reported that Tru64 4.0D declares the round
59255         functions but does not have definitions.
59256         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59257         cannot be found in any library, set the output variable to
59258         "missing" instead of "".
59259         * m4/round.m4: Also use our substitute if we cannot find round in
59260         any library, even if it is declared.
59261         * m4/roundf.m4: Likewise for roundf.
59262         * m4/roundl.m4: Likewise for roundl.
59263         * lib/math.in.h: Undefine roundf, round, roundl before defining
59264         their replacements, to allow for hypothetical systems where these
59265         may be defined as macros but not available in libraries.
59266
59267 2007-10-27  Bruno Haible  <bruno@clisp.org>
59268
59269         * doc/gnulib.texi: Invoke @firstparagraphindent.
59270         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59271         changes in gnulib.
59272         (Source changes): New section.
59273
59274 2007-10-26  Bruno Haible  <bruno@clisp.org>
59275
59276         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59277         borrowed from autoconf.
59278
59279 2007-10-26  Bruno Haible  <bruno@clisp.org>
59280
59281         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59282         strerror returned the empty string. Needed on HP-UX 11.00.
59283
59284 2007-10-24  Micah Cowan  <micah@cowan.name>
59285
59286         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59287         * build-aux/bootstrap: Remove support for now-unnecessary option,
59288         --cvs-user, and envvars CVS_USER, CVS_RSH.
59289
59290 2007-10-24  Jim Meyering  <meyering@redhat.com>
59291
59292         Avoid diagnostics from sha1sum when there is no cached checksum.
59293         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59294         if the po.s1 file hasn't been created yet.
59295
59296         * build-aux/bootstrap: Sync from coreutils:
59297         2007-10-24  Jim Meyering  <meyering@redhat.com>
59298         Get gnulib from the git repository, not from an obsolete cvs one.
59299         * build-aux/bootstrap: Suggestion from Micah Cowan.
59300         2007-10-04  Jim Meyering  <jim@meyering.net>
59301         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59302         (update_po_files): Work also when there are no .po files in po/.
59303
59304 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59305
59306         * README: Append ".git" to git and cg examples.
59307         Problem reported by Benoit Sigoure.
59308
59309 2007-10-23  Micah Cowan  <micah@cowan.name>
59310
59311         * users.txt: Add wget.
59312
59313 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59314
59315         Fix linking of some unistdio tests on FreeBSD.
59316         * modules/unistdio/u16-vsnprintf-tests
59317         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59318         * modules/unistdio/u16-vsprintf-tests
59319         (test_u16_vsnprintf1_LDADD): Likewise.
59320         * modules/unistdio/u32-vsnprintf-tests
59321         (test_u32_vsnprintf1_LDADD): Likewise.
59322         * modules/unistdio/u32-vsprintf-tests
59323         (test_u32_vsprintf1_LDADD): Likewise.
59324         * modules/unistdio/u8-vsnprintf-tests
59325         (test_u8_vsnprintf1_LDADD): Likewise.
59326         * modules/unistdio/u8-vsprintf-tests
59327         (test_u8_vsprintf1_LDADD): Likewise.
59328         * modules/unistdio/ulc-vsnprintf-tests
59329         (test_ulc_vsnprintf1_LDADD): Likewise.
59330         * modules/unistdio/ulc-vsprintf-tests
59331         (test_ulc_vsprintf1_LDADD): Likewise.
59332
59333         Fix linking of some uniconv tests on FreeBSD.
59334         * modules/uniconv/u16-conv-from-enc-tests
59335         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
59336         * modules/uniconv/u16-conv-to-enc-tests
59337         (test_u16_conv_to_enc_LDADD): Likewise.
59338         * modules/uniconv/u16-strconv-from-enc-tests
59339         (test_u16_strconv_from_enc_LDADD): Likewise.
59340         * modules/uniconv/u16-strconv-to-enc-tests
59341         (test_u16_strconv_to_enc_LDADD): Likewise.
59342         * modules/uniconv/u32-conv-from-enc-tests
59343         (test_u32_conv_from_enc_LDADD): Likewise.
59344         * modules/uniconv/u32-conv-to-enc-tests
59345         (test_u32_conv_to_enc_LDADD): Likewise.
59346         * modules/uniconv/u32-strconv-from-enc-tests
59347         (test_u32_strconv_from_enc_LDADD): Likewise.
59348         * modules/uniconv/u32-strconv-to-enc-tests
59349         (test_u32_strconv_to_enc_LDADD): Likewise.
59350         * modules/uniconv/u8-conv-from-enc-tests
59351         (test_u8_conv_from_enc_LDADD): Likewise.
59352         * modules/uniconv/u8-conv-to-enc-tests
59353         (test_u8_conv_to_enc_LDADD): Likewise.
59354         * modules/uniconv/u8-strconv-from-enc-tests
59355         (test_u8_strconv_from_enc_LDADD): Likewise.
59356         * modules/uniconv/u8-strconv-to-enc-tests
59357         (test_u8_strconv_to_enc_LDADD): Likewise.
59358
59359 2007-10-22  Bruno Haible  <bruno@clisp.org>
59360
59361         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59362         size.
59363
59364 2007-10-22  Eric Blake  <ebb9@byu.net>
59365
59366         Tweak x*printf documentation.
59367         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59368         variable name and comments.
59369         Suggested by Bruno Haible.
59370
59371 2007-10-22  Bruno Haible  <bruno@clisp.org>
59372
59373         * lib/acl.c (copy_acl): Fix file name in comment.
59374
59375 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59376
59377         Fix Tru64 problem with stdbool.h.
59378         * lib/stdbool.in.h (false, true):
59379         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59380         Don't declare as an enum in this situation; it runs afoul of Tru64.
59381         Problem reported by Steven M. Schweda in
59382         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59383
59384 2007-10-22  Eric Blake  <ebb9@byu.net>
59385
59386         Also wrap vf?printf.
59387         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59388         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59389         (xvprintf, xvfprintf): New functions.
59390
59391 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59392
59393         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59394         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59395
59396         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59397         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59398
59399 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59400
59401         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59402         by Bruno Haible.
59403
59404 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59405
59406         * lib/getloadavg.c
59407         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59408         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59409
59410         * tests/test-i-ring.c: Work for C89.
59411
59412 2007-10-22  Bruno Haible  <bruno@clisp.org>
59413
59414         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59415         -1u, in preprocessor expression, so that we don't test for the bug
59416         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59417         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59418
59419 2007-10-22  Eric Blake  <ebb9@byu.net>
59420
59421         * tests/test-yesno.sh: Silence stderr during test.
59422
59423 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59424
59425         * modules/crypto/gc-camellia: New file.
59426
59427         * m4/gc-camellia.m4: New file.
59428
59429         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59430
59431         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59432
59433 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59434
59435         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59436         --help to stdout.  Reported by sms@antinode.org (Steven
59437         M. Schweda).
59438
59439 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59440
59441         * users.txt: Fix link to libksba.
59442
59443 2007-10-21  Ben Pfaff  <blp@gnu.org>
59444
59445         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59446         round.c roundf implementation that depends on floorf and ceilf to
59447         be tested unconditionally.
59448
59449 2007-10-21  Ben Pfaff  <blp@gnu.org>
59450
59451         * m4/check-libm-func.m4: Removed.
59452         * m4/check-math-lib.m4: New file.
59453         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59454         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59455         definition and lack of AC_LIBOBJ([roundf]).
59456         * m4/roundl.m4: Ditto, and similarly for roundl.
59457         * modules/round: Reference new m4 file.
59458         * modules/roundf: Ditto.
59459         * modules/roundl: Ditto.
59460         * tests/test-round2.c (main): Use ROUND instead of round.
59461         Bug report from Bruno Haible.
59462
59463 2007-10-21  Bruno Haible  <bruno@clisp.org>
59464
59465         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59466         context.
59467
59468 2007-10-21  Bruno Haible  <bruno@clisp.org>
59469
59470         * tests/test-wcwidth.c (main): Allow negative result for some control
59471         characters.
59472
59473         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59474         Needed on OSF/1 5.1.
59475
59476 2007-10-21  Bruno Haible  <bruno@clisp.org>
59477
59478         * tests/test-floorf1.c: Include isnanf.h.
59479         (main): Use isnanf() instead of isnan().
59480         * tests/test-ceilf1.c: Include isnanf.h.
59481         (main): Use isnanf() instead of isnan().
59482         * tests/test-truncf1.c: Include isnanf.h.
59483         (main): Use isnanf() instead of isnan().
59484         * tests/test-roundf1.c: Include isnanf.h.
59485         (main): Use isnanf() instead of isnan().
59486
59487 2007-10-21  Eric Blake  <ebb9@byu.net>
59488
59489         * users.txt: Update URL for m4.
59490
59491 2007-10-21  Bruno Haible  <bruno@clisp.org>
59492
59493         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59494
59495 2007-10-21  Bruno Haible  <bruno@clisp.org>
59496
59497         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59498         Git's management files if the CVS files are not present.
59499
59500 2007-10-20  Bruno Haible  <bruno@clisp.org>
59501
59502         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59503         gcc-3.4.x.
59504
59505 2007-10-20  Ben Pfaff  <blp@gnu.org>
59506
59507         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59508         implementations.
59509         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59510         * lib/round.c: New file.
59511         * lib/roundf.c: New file.
59512         * lib/roundl.c: New file.
59513         * m4/round.m4: New file.
59514         * m4/roundf.m4: New file.
59515         * m4/roundl.m4: New file.
59516         * m4/check-libm-func-m4: New file.
59517         * modules/math: Replace round, roundf, roundl related @VARS@ in
59518         math.in.h.
59519         * modules/round: New file.
59520         * modules/round-tests: New file.
59521         * modules/roundf: New file.
59522         * modules/roundf-tests: New file.
59523         * modules/roundl: New file.
59524         * modules/roundl-tests: New file.
59525         * tests/test-round1.c: New file.
59526         * tests/test-round2.c: New file.
59527         * tests/test-roundf1.c: New file.
59528         * tests/test-roundf2.c: New file.
59529         * tests/test-roundl.c: New file.
59530         * doc/functions/round.texi: Mention round module.
59531         * doc/functions/roundf.texi: Mention roundf module.
59532         * doc/functions/roundl.texi: Mention roundl module.
59533         * MODULES.html.sh: Mention new modules.
59534         Thanks to Bruno Haible for suggestions.
59535
59536 2007-10-20  Jim Meyering  <meyering@redhat.com>
59537
59538         * lib/xprintf.c: Include <config.h> unconditionally.
59539
59540         Change xprintf's license to GPL.
59541         * modules/xprintf (License): s/LGPL/GPL/, since this module
59542         depends on modules (exit and exitfail) which are GPL.
59543         Suggestion from Bruno Haible.
59544
59545         xprintf fixes.
59546         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59547         Use a clearer diagnostic.
59548         Patch from Bruno Haible.
59549
59550 2007-10-20  Bruno Haible  <bruno@clisp.org>
59551
59552         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59553         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59554         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59555
59556 2007-10-20  Bruno Haible  <bruno@clisp.org>
59557
59558         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59559         precision in the comparison result > x - 1 or similar.
59560         * tests/test-ceilf2.c (correct_result_p): Likewise.
59561         * tests/test-truncf2.c (correct_result_p): Likewise.
59562         * tests/test-trunc2.c (correct_result_p): Likewise.
59563         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59564
59565 2007-10-20  Bruno Haible  <bruno@clisp.org>
59566
59567         * modules/ceil: New file.
59568         * m4/ceil.m4: New file.
59569         * doc/functions/ceil.texi: Mention the 'ceil' module.
59570
59571 2007-10-20  Bruno Haible  <bruno@clisp.org>
59572
59573         * modules/floor: New file.
59574         * m4/floor.m4: New file.
59575         * doc/functions/floor.texi: Mention the 'floor' module.
59576
59577 2007-10-20  Bruno Haible  <bruno@clisp.org>
59578
59579         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59580         of %a.
59581         * modules/floorf-tests (Depends-on): Likewise.
59582         * modules/truncf-tests (Depends-on): Likewise.
59583         * modules/trunc-tests (Depends-on): Likewise.
59584         Reported by Ben Pfaff.
59585
59586 2007-10-19  Jim Meyering  <meyering@redhat.com>
59587
59588         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59589         Don't bother testing specific errno values.  Just test ferror.
59590
59591         New module: xprintf
59592         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59593
59594 2007-10-19  Bruno Haible  <bruno@clisp.org>
59595
59596         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59597         syntax.
59598         * modules/javaexec (Makefile.am): Likewise.
59599         * modules/relocatable-prog (Makefile.am): Likewise.
59600         Suggested by Jim Meyering.
59601
59602 2007-10-18  Bruno Haible  <bruno@clisp.org>
59603
59604         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59605         Reported by Jim Meyering.
59606
59607 2007-10-18  Eric Blake  <ebb9@byu.net>
59608
59609         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59610
59611 2007-10-18  Bruno Haible  <bruno@clisp.org>
59612
59613         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59614         the format string into writable memory. Needed in Fortify conditions.
59615
59616 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59617             Bruno Haible  <bruno@clisp.org>
59618
59619         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59620         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59621         * modules/trim (Depends-on): Add mbchar.
59622         (configure.ac): Add gl_FUNC_MBRTOWC.
59623         (Makefile.am): Augment lib_SOURCES.
59624
59625 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59626
59627         Modify glob.c to use fstatat and dirfd, to simplify it.
59628         Suggested by Eric Blake.
59629         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59630         Don't include <stdbool.h>; not used.
59631         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59632         (link_exists_p): Simplify implementation, since we can now assume
59633         dirfd and fstatat.
59634         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59635
59636 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59637
59638         * gnulib-tool (func_get_dependencies): Fix sed script to
59639         match only tests.
59640
59641 2007-10-17  Bruno Haible  <bruno@clisp.org>
59642
59643         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59644         allow locale names without encoding suffix.
59645         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59646         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59647
59648 2007-10-16  Bruno Haible  <bruno@clisp.org>
59649
59650         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59651         * lib/getgroups.c (getgroups): Likewise.
59652         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59653
59654 2007-10-16  Bruno Haible  <bruno@clisp.org>
59655
59656         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59657         * modules/malloc-posix (License): Likewise.
59658         * modules/realloc-posix (License): Likewise.
59659         * modules/calloc-posix (License): Likewise.
59660         * modules/intprops (License): Change from GPL to LGPL, with
59661         Paul Eggert's approval.
59662
59663 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59664
59665         Merge glibc changes into lib/glob.c.
59666
59667         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59668         2007-10-15 04:59:03 UTC.  Here are the changes:
59669
59670         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59671
59672         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59673
59674         * lib/glob.c: Add some branch prediction throughout.
59675
59676         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59677
59678         [BZ #5103]
59679         * lib/glob.c (glob): Recognize patterns starting \/.
59680
59681         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59682
59683         [BZ #3996]
59684         * lib/glob.c (attribute_hidden): Define if not defined.
59685         (glob): Unescape dirname, filename or username when needed and not
59686         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59687         is NULL.  Handle unescaped [ in pattern without closing ].
59688         Don't pass GLOB_CHECK down to recursive glob for directories.
59689         (__glob_pattern_type): New function.
59690         (__glob_pattern_p): Implement using __glob_pattern_type.
59691         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59692         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59693         Remove unreachable code.
59694
59695         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59696
59697         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59698         explain why there are no leaks.
59699
59700         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59701
59702         [BZ #3253]
59703         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59704         time, rather allocate increasingly bigger arrays of pointers, if
59705         possible with alloca, if too large with malloc.
59706
59707 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59708
59709         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59710         Problem reported by H.Merijn Brand in
59711         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59712         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59713         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59714
59715 2007-10-15  Bruno Haible  <bruno@clisp.org>
59716
59717         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59718         with explicit rpl_ prefix.
59719         * lib/fopen.c (fopen): Likewise.
59720         * lib/freopen.c (freopen): Likewise.
59721         * lib/iconv.c (iconv): Likewise.
59722         * lib/iconv_close.c (iconv_close): Likewise.
59723
59724 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59725
59726         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59727
59728 2007-10-15  Bruno Haible  <bruno@clisp.org>
59729
59730         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59731         <stddef.h> instead of <stdlib.h> since we only need NULL.
59732         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59733
59734 2007-10-15  Bruno Haible  <bruno@clisp.org>
59735
59736         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59737         Replace paragraph talking about LIBOBJS.
59738         Reported by Colin Watson <cjwatson@debian.org>.
59739
59740 2007-10-15  Bruno Haible  <bruno@clisp.org>
59741
59742         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59743         <stdlib.h> before using NULL.
59744
59745 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59746
59747         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59748         Reported by Albert Chin <china@thewrittenword.com>.
59749
59750 2007-10-14  Bruno Haible  <bruno@clisp.org>
59751
59752         * modules/iconv_open-utf-tests: New file.
59753         * tests/test-iconv-utf.c: New file.
59754
59755         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59756         * modules/iconv_open-utf: New file.
59757         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59758         (iconv, iconv_close): New declarations.
59759         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59760         be defined.
59761         (iconv_open): Add special handling of conversion between UTF-8 and
59762         UTF-{16,32}{BE,LE}.
59763         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59764         * lib/iconv_close.c: New file.
59765         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59766         gl_FUNC_ICONV_OPEN.
59767         (gl_FUNC_ICONV_OPEN): Use it.
59768         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59769         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59770         and REPLACE_ICONV_UTF.
59771         * modules/iconv_open (Depends-on): Add c-strcase.
59772         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59773         ICONV_CONST.
59774         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59775
59776 2007-10-13  Albert Chin  <china@thewrittenword.com>
59777             Bruno Haible  <bruno@clisp.org>
59778
59779         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59780         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59781
59782 2007-10-13  Bruno Haible  <bruno@clisp.org>
59783
59784         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59785         defined, use the ISO C99 inline semantics.
59786         * lib/argp.h (ARGP_EI): Likewise.
59787
59788 2007-10-13  Bruno Haible  <bruno@clisp.org>
59789
59790         Handle 'inline' change in gcc 4.3.0.
59791         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59792         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59793         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59794         argp_fmtstream_point): Disable 'extern' declaration if the function
59795         definition is going to be provided inline.
59796         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59797         semantics, not the ISO C99 inline semantics.
59798         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59799         'extern' declaration if the function definition is going to be provided
59800         inline.
59801         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59802         the GNU C inline semantics, not the ISO C99 inline semantics. With
59803         GCC 4.2, avoid a warning.
59804
59805 2007-10-13  Bruno Haible  <bruno@clisp.org>
59806
59807         * lib/freading.h (freading): Enable the use of __freading for
59808         glibc >= 2.7.
59809         * lib/freading.c (freading): Likewise.
59810
59811 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59812
59813         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59814         "warning: C99 inline functions are not supported; using GNU89".
59815
59816 2007-10-12  Bruno Haible  <bruno@clisp.org>
59817
59818         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59819         of 2.
59820         * tests/test-ceilf2.c: New file.
59821         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59822
59823         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59824         * modules/ceilf-tests: Update.
59825
59826 2007-10-12  Bruno Haible  <bruno@clisp.org>
59827
59828         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59829         of 2.
59830         * tests/test-floorf2.c: New file.
59831         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59832
59833         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59834         * modules/floorf-tests: Update.
59835
59836 2007-10-12  Bruno Haible  <bruno@clisp.org>
59837
59838         * tests/test-trunc2.c: New file.
59839         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59840
59841         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59842         * modules/trunc-tests: Update.
59843
59844 2007-10-12  Bruno Haible  <bruno@clisp.org>
59845
59846         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59847         of 2.
59848         * tests/test-truncf2.c: New file.
59849         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59850
59851         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59852         * modules/truncf-tests: Update.
59853
59854 2007-10-11  Eric Blake  <ebb9@byu.net>
59855
59856         Don't claim strerror is broken on Interix.
59857         * doc/functions/strerror.texi (strerror): Known broken systems are
59858         now Solaris 8, and not Interix.
59859         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59860         Interix on cross-compile.
59861         Reported by Martin Koeppe in
59862         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59863
59864 2007-10-11  Bruno Haible  <bruno@clisp.org>
59865
59866         * modules/i-ring-tests: New file.
59867         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59868         instead of assert.
59869
59870 2007-10-11  Bruno Haible  <bruno@clisp.org>
59871
59872         * modules/filenamecat-tests: New file.
59873         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59874         * lib/filenamecat.c: Remove test code.
59875
59876 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59877
59878         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59879
59880         * lib/strerror.c: Include <string.h> always, to test interface,
59881         and to remove the need for the dummy.
59882         Include intprops.h to compute width instead of doing it ourselves
59883         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59884         (strerror): Define it to return NULL if there's no system strerror.
59885         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59886         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59887         ancient pre-strerror Unix systems well any more.  Saying "unknown
59888         system error" is enough.
59889         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59890         simpler strerror.c implementation.
59891         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59892         Simplify the tests to reflect the simpler strerror implementation.
59893         * modules/strerror (Depends-on): Add intprops.
59894
59895 2007-10-09  Eric Blake  <ebb9@byu.net>
59896
59897         Silence test-fpending.
59898         * modules/fpending-tests (Files): Add wrapper script.
59899         * tests/test-fpending.sh: New file.
59900
59901 2007-10-09  Bruno Haible  <bruno@clisp.org>
59902
59903         * MODULES.html.sh (func_module): Don't create a hyperlink for
59904         function names like 'printf_frexp'.
59905         (Misc): Add crc, memxor.
59906         (Characteristics of floating types): New section.
59907         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59908         isnanf-nolibm, signbit, trunc, truncf, truncl.
59909         (Enhancements for ISO C 99 functions): New subsection Input/output.
59910         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59911         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59912         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59913         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59914         (Enhancements for POSIX:2001 functions): Add chdir-long.
59915         (File system functions): Add areadlink, chdir-safer, read-file.
59916         Remove cycle-check.
59917         (File system as inode set): New section.
59918         (Date and time): Add gethrxtime.
59919         (Multithreading): Add openmp.
59920         (Internationalization functions): Add localename.
59921         (Unicode string functions): Add unistr/u*-mbsnlen.
59922         (Support for maintaining and releasing projects): Add git-version-gen.
59923         (Lone files): Remove directories.
59924
59925 2007-10-08  Ben Pfaff  <blp@gnu.org>
59926
59927         * lib/xmalloca.h: Fix typo in comment.
59928
59929 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59930
59931         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59932         when avoiding problems with integer overflow.  Use a portable test
59933         instead.
59934
59935 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59936
59937         * modules/dummy (License): Change to LGPLv2+.
59938         * modules/float (License): Likewise
59939         * modules/realloc (License): Likewise
59940         * modules/stdlib (License): Likewise
59941
59942 2007-10-07  Bruno Haible  <bruno@clisp.org>
59943
59944         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59945         * floor.c (TWO_MANT_DIG): Likewise.
59946         * ceil.c (TWO_MANT_DIG): Likewise.
59947         Reported by Ben Pfaff.
59948
59949 2007-10-07  Bruno Haible  <bruno@clisp.org>
59950
59951         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59952         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59953         * lib/frexp.c (FUNC): Likewise.
59954         * lib/printf-frexp.h (printf_frexp): Likewise.
59955         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59956         * lib/printf-frexp.c (FUNC): Likewise.
59957         Suggested by Jim Meyering.
59958
59959 2007-10-07  Jim Meyering  <meyering@redhat.com>
59960
59961         Make xnanosleep's integer overflow test more robust.
59962         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59963         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59964
59965 2007-10-07  Bruno Haible  <bruno@clisp.org>
59966
59967         * NEWS: Mention the license change.
59968
59969         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59970         abbreviations in the modules files.
59971
59972         Change copyright notice from GPLv2+ to GPLv3+.
59973         * README: Change copyright notice.
59974         * MODULES.html.sh: Likewise.
59975         * build-aux/bootstrap.conf: Likewise.
59976         * build-aux/config.libpath: Likewise.
59977         * build-aux/csharpcomp.sh.in: Likewise.
59978         * build-aux/csharpexec.sh.in: Likewise.
59979         * build-aux/install-reloc: Likewise.
59980         * build-aux/javacomp.sh.in: Likewise.
59981         * build-aux/javaexec.sh.in: Likewise.
59982         * build-aux/ldd.sh.in: Likewise.
59983         * build-aux/reloc-ldflags: Likewise.
59984         * build-aux/relocatable.sh.in: Likewise.
59985         * build-aux/x-to-1.in: Likewise.
59986         * check-module: Likewise.
59987         * config/srclistvars.sh: Likewise.
59988         * gnulib-tool: Likewise.
59989         * lib/acl-internal.h: Likewise.
59990         * lib/acl.c: Likewise.
59991         * lib/acl.h: Likewise.
59992         * lib/acl_entries.c: Likewise.
59993         * lib/areadlink-with-size.c: Likewise.
59994         * lib/areadlink.c: Likewise.
59995         * lib/areadlink.h: Likewise.
59996         * lib/argmatch.c: Likewise.
59997         * lib/argmatch.h: Likewise.
59998         * lib/argp-ba.c: Likewise.
59999         * lib/argp-eexst.c: Likewise.
60000         * lib/argp-fmtstream.c: Likewise.
60001         * lib/argp-fmtstream.h: Likewise.
60002         * lib/argp-fs-xinl.c: Likewise.
60003         * lib/argp-help.c: Likewise.
60004         * lib/argp-namefrob.h: Likewise.
60005         * lib/argp-parse.c: Likewise.
60006         * lib/argp-pin.c: Likewise.
60007         * lib/argp-pv.c: Likewise.
60008         * lib/argp-pvh.c: Likewise.
60009         * lib/argp-xinl.c: Likewise.
60010         * lib/argp.h: Likewise.
60011         * lib/at-func.c: Likewise.
60012         * lib/atanl.c: Likewise.
60013         * lib/backupfile.c: Likewise.
60014         * lib/backupfile.h: Likewise.
60015         * lib/basename.c: Likewise.
60016         * lib/binary-io.h: Likewise.
60017         * lib/byteswap.in.h: Likewise.
60018         * lib/c-stack.c: Likewise.
60019         * lib/c-stack.h: Likewise.
60020         * lib/c-strcasestr.c: Likewise.
60021         * lib/c-strcasestr.h: Likewise.
60022         * lib/c-strstr.c: Likewise.
60023         * lib/c-strstr.h: Likewise.
60024         * lib/c-strtod.c: Likewise.
60025         * lib/calloc.c: Likewise.
60026         * lib/canon-host.c: Likewise.
60027         * lib/canon-host.h: Likewise.
60028         * lib/canonicalize-lgpl.c: Likewise.
60029         * lib/canonicalize.c: Likewise.
60030         * lib/canonicalize.h: Likewise.
60031         * lib/ceil.c: Likewise.
60032         * lib/ceilf.c: Likewise.
60033         * lib/ceill.c: Likewise.
60034         * lib/chdir-long.c: Likewise.
60035         * lib/chdir-long.h: Likewise.
60036         * lib/chdir-safer.c: Likewise.
60037         * lib/chdir-safer.h: Likewise.
60038         * lib/chown.c: Likewise.
60039         * lib/classpath.c: Likewise.
60040         * lib/classpath.h: Likewise.
60041         * lib/clean-temp.c: Likewise.
60042         * lib/clean-temp.h: Likewise.
60043         * lib/cloexec.c: Likewise.
60044         * lib/close-stream.c: Likewise.
60045         * lib/closein.c: Likewise.
60046         * lib/closein.h: Likewise.
60047         * lib/closeout.c: Likewise.
60048         * lib/closeout.h: Likewise.
60049         * lib/concat-filename.c: Likewise.
60050         * lib/copy-file.c: Likewise.
60051         * lib/copy-file.h: Likewise.
60052         * lib/count-one-bits.h: Likewise.
60053         * lib/crc.c: Likewise.
60054         * lib/crc.h: Likewise.
60055         * lib/creat-safer.c: Likewise.
60056         * lib/csharpcomp.c: Likewise.
60057         * lib/csharpcomp.h: Likewise.
60058         * lib/csharpexec.c: Likewise.
60059         * lib/csharpexec.h: Likewise.
60060         * lib/cycle-check.c: Likewise.
60061         * lib/cycle-check.h: Likewise.
60062         * lib/diacrit.c: Likewise.
60063         * lib/diacrit.h: Likewise.
60064         * lib/diffseq.h: Likewise.
60065         * lib/dirchownmod.c: Likewise.
60066         * lib/dirent.in.h: Likewise.
60067         * lib/dirfd.c: Likewise.
60068         * lib/dirfd.h: Likewise.
60069         * lib/dirname.c: Likewise.
60070         * lib/dirname.h: Likewise.
60071         * lib/dummy.c: Likewise.
60072         * lib/dup-safer.c: Likewise.
60073         * lib/dup2.c: Likewise.
60074         * lib/eealloc.h: Likewise.
60075         * lib/error.c: Likewise.
60076         * lib/error.h: Likewise.
60077         * lib/euidaccess.c: Likewise.
60078         * lib/exclude.c: Likewise.
60079         * lib/exclude.h: Likewise.
60080         * lib/execute.c: Likewise.
60081         * lib/execute.h: Likewise.
60082         * lib/exitfail.c: Likewise.
60083         * lib/exitfail.h: Likewise.
60084         * lib/expl.c: Likewise.
60085         * lib/fatal-signal.c: Likewise.
60086         * lib/fatal-signal.h: Likewise.
60087         * lib/fbufmode.c: Likewise.
60088         * lib/fbufmode.h: Likewise.
60089         * lib/fchdir.c: Likewise.
60090         * lib/fchmodat.c: Likewise.
60091         * lib/fchownat.c: Likewise.
60092         * lib/fcntl--.h: Likewise.
60093         * lib/fcntl-safer.h: Likewise.
60094         * lib/fcntl.in.h: Likewise.
60095         * lib/fd-safer.c: Likewise.
60096         * lib/fflush.c: Likewise.
60097         * lib/file-has-acl.c: Likewise.
60098         * lib/file-set.c: Likewise.
60099         * lib/file-type.c: Likewise.
60100         * lib/file-type.h: Likewise.
60101         * lib/fileblocks.c: Likewise.
60102         * lib/filemode.c: Likewise.
60103         * lib/filemode.h: Likewise.
60104         * lib/filename.h: Likewise.
60105         * lib/filenamecat.c: Likewise.
60106         * lib/filenamecat.h: Likewise.
60107         * lib/findprog.c: Likewise.
60108         * lib/findprog.h: Likewise.
60109         * lib/float.in.h: Likewise.
60110         * lib/floor.c: Likewise.
60111         * lib/floorf.c: Likewise.
60112         * lib/floorl.c: Likewise.
60113         * lib/fopen-safer.c: Likewise.
60114         * lib/fopen.c: Likewise.
60115         * lib/fpending.c: Likewise.
60116         * lib/fpending.h: Likewise.
60117         * lib/fprintf.c: Likewise.
60118         * lib/fprintftime.h: Likewise.
60119         * lib/fpucw.h: Likewise.
60120         * lib/fpurge.c: Likewise.
60121         * lib/fpurge.h: Likewise.
60122         * lib/freadable.c: Likewise.
60123         * lib/freadable.h: Likewise.
60124         * lib/freadahead.c: Likewise.
60125         * lib/freadahead.h: Likewise.
60126         * lib/freading.c: Likewise.
60127         * lib/freading.h: Likewise.
60128         * lib/free.c: Likewise.
60129         * lib/freopen.c: Likewise.
60130         * lib/frexp.c: Likewise.
60131         * lib/frexpl.c: Likewise.
60132         * lib/fseek.c: Likewise.
60133         * lib/fseterr.c: Likewise.
60134         * lib/fseterr.h: Likewise.
60135         * lib/fstatat.c: Likewise.
60136         * lib/fstrcmp.c: Likewise.
60137         * lib/fstrcmp.h: Likewise.
60138         * lib/fsusage.c: Likewise.
60139         * lib/fsusage.h: Likewise.
60140         * lib/ftell.c: Likewise.
60141         * lib/ftello.c: Likewise.
60142         * lib/fts-cycle.c: Likewise.
60143         * lib/fts.c: Likewise.
60144         * lib/fts_.h: Likewise.
60145         * lib/full-read.c: Likewise.
60146         * lib/full-read.h: Likewise.
60147         * lib/full-write.c: Likewise.
60148         * lib/full-write.h: Likewise.
60149         * lib/fwritable.c: Likewise.
60150         * lib/fwritable.h: Likewise.
60151         * lib/fwriteerror.c: Likewise.
60152         * lib/fwriteerror.h: Likewise.
60153         * lib/fwriting.c: Likewise.
60154         * lib/fwriting.h: Likewise.
60155         * lib/gcd.c: Likewise.
60156         * lib/gcd.h: Likewise.
60157         * lib/getcwd.c: Likewise.
60158         * lib/getdate.h: Likewise.
60159         * lib/getdate.y: Likewise.
60160         * lib/getdomainname.c: Likewise.
60161         * lib/getdomainname.h: Likewise.
60162         * lib/getgroups.c: Likewise.
60163         * lib/gethostname.c: Likewise.
60164         * lib/gethrxtime.c: Likewise.
60165         * lib/gethrxtime.h: Likewise.
60166         * lib/getloadavg.c: Likewise.
60167         * lib/getndelim2.c: Likewise.
60168         * lib/getndelim2.h: Likewise.
60169         * lib/getnline.c: Likewise.
60170         * lib/getnline.h: Likewise.
60171         * lib/getopt.c: Likewise.
60172         * lib/getopt.in.h: Likewise.
60173         * lib/getopt1.c: Likewise.
60174         * lib/getopt_int.h: Likewise.
60175         * lib/getpagesize.h: Likewise.
60176         * lib/getsubopt.c: Likewise.
60177         * lib/gettime.c: Likewise.
60178         * lib/getugroups.c: Likewise.
60179         * lib/getugroups.h: Likewise.
60180         * lib/getusershell.c: Likewise.
60181         * lib/gl_anyavltree_list1.h: Likewise.
60182         * lib/gl_anyavltree_list2.h: Likewise.
60183         * lib/gl_anyhash_list1.h: Likewise.
60184         * lib/gl_anyhash_list2.h: Likewise.
60185         * lib/gl_anylinked_list1.h: Likewise.
60186         * lib/gl_anylinked_list2.h: Likewise.
60187         * lib/gl_anyrbtree_list1.h: Likewise.
60188         * lib/gl_anyrbtree_list2.h: Likewise.
60189         * lib/gl_anytree_list1.h: Likewise.
60190         * lib/gl_anytree_list2.h: Likewise.
60191         * lib/gl_anytree_oset.h: Likewise.
60192         * lib/gl_anytreehash_list1.h: Likewise.
60193         * lib/gl_anytreehash_list2.h: Likewise.
60194         * lib/gl_array_list.c: Likewise.
60195         * lib/gl_array_list.h: Likewise.
60196         * lib/gl_array_oset.c: Likewise.
60197         * lib/gl_array_oset.h: Likewise.
60198         * lib/gl_avltree_list.c: Likewise.
60199         * lib/gl_avltree_list.h: Likewise.
60200         * lib/gl_avltree_oset.c: Likewise.
60201         * lib/gl_avltree_oset.h: Likewise.
60202         * lib/gl_avltreehash_list.c: Likewise.
60203         * lib/gl_avltreehash_list.h: Likewise.
60204         * lib/gl_carray_list.c: Likewise.
60205         * lib/gl_carray_list.h: Likewise.
60206         * lib/gl_linked_list.c: Likewise.
60207         * lib/gl_linked_list.h: Likewise.
60208         * lib/gl_linkedhash_list.c: Likewise.
60209         * lib/gl_linkedhash_list.h: Likewise.
60210         * lib/gl_list.c: Likewise.
60211         * lib/gl_list.h: Likewise.
60212         * lib/gl_oset.c: Likewise.
60213         * lib/gl_oset.h: Likewise.
60214         * lib/gl_rbtree_list.c: Likewise.
60215         * lib/gl_rbtree_list.h: Likewise.
60216         * lib/gl_rbtree_oset.c: Likewise.
60217         * lib/gl_rbtree_oset.h: Likewise.
60218         * lib/gl_rbtreehash_list.c: Likewise.
60219         * lib/gl_rbtreehash_list.h: Likewise.
60220         * lib/gl_sublist.c: Likewise.
60221         * lib/gl_sublist.h: Likewise.
60222         * lib/group-member.c: Likewise.
60223         * lib/group-member.h: Likewise.
60224         * lib/hard-locale.c: Likewise.
60225         * lib/hard-locale.h: Likewise.
60226         * lib/hash-pjw.c: Likewise.
60227         * lib/hash-pjw.h: Likewise.
60228         * lib/hash-triple.c: Likewise.
60229         * lib/hash.c: Likewise.
60230         * lib/hash.h: Likewise.
60231         * lib/human.c: Likewise.
60232         * lib/human.h: Likewise.
60233         * lib/i-ring.c: Likewise.
60234         * lib/i-ring.h: Likewise.
60235         * lib/idcache.c: Likewise.
60236         * lib/imaxabs.c: Likewise.
60237         * lib/imaxdiv.c: Likewise.
60238         * lib/inet_pton.c: Likewise.
60239         * lib/inet_pton.h: Likewise.
60240         * lib/intprops.h: Likewise.
60241         * lib/inttostr.c: Likewise.
60242         * lib/inttostr.h: Likewise.
60243         * lib/inttypes.in.h: Likewise.
60244         * lib/isapipe.c: Likewise.
60245         * lib/isdir.c: Likewise.
60246         * lib/isnan.c: Likewise.
60247         * lib/isnan.h: Likewise.
60248         * lib/isnanf.c: Likewise.
60249         * lib/isnanf.h: Likewise.
60250         * lib/isnanl-nolibm.h: Likewise.
60251         * lib/isnanl.c: Likewise.
60252         * lib/isnanl.h: Likewise.
60253         * lib/javacomp.c: Likewise.
60254         * lib/javacomp.h: Likewise.
60255         * lib/javaexec.c: Likewise.
60256         * lib/javaexec.h: Likewise.
60257         * lib/javaversion.c: Likewise.
60258         * lib/javaversion.h: Likewise.
60259         * lib/javaversion.java: Likewise.
60260         * lib/lbrkprop.h: Likewise.
60261         * lib/lchmod.h: Likewise.
60262         * lib/lchown.c: Likewise.
60263         * lib/ldexpl.c: Likewise.
60264         * lib/linebreak.c: Likewise.
60265         * lib/linebreak.h: Likewise.
60266         * lib/linebuffer.c: Likewise.
60267         * lib/linebuffer.h: Likewise.
60268         * lib/locale.in.h: Likewise.
60269         * lib/logl.c: Likewise.
60270         * lib/long-options.c: Likewise.
60271         * lib/long-options.h: Likewise.
60272         * lib/lstat.c: Likewise.
60273         * lib/lstat.h: Likewise.
60274         * lib/math.in.h: Likewise.
60275         * lib/mbchar.c: Likewise.
60276         * lib/mbchar.h: Likewise.
60277         * lib/mbfile.h: Likewise.
60278         * lib/mbiter.h: Likewise.
60279         * lib/mbscasecmp.c: Likewise.
60280         * lib/mbscasestr.c: Likewise.
60281         * lib/mbschr.c: Likewise.
60282         * lib/mbscspn.c: Likewise.
60283         * lib/mbslen.c: Likewise.
60284         * lib/mbsncasecmp.c: Likewise.
60285         * lib/mbsnlen.c: Likewise.
60286         * lib/mbspbrk.c: Likewise.
60287         * lib/mbspcasecmp.c: Likewise.
60288         * lib/mbsrchr.c: Likewise.
60289         * lib/mbssep.c: Likewise.
60290         * lib/mbsspn.c: Likewise.
60291         * lib/mbsstr.c: Likewise.
60292         * lib/mbstok_r.c: Likewise.
60293         * lib/mbswidth.c: Likewise.
60294         * lib/mbswidth.h: Likewise.
60295         * lib/mbuiter.h: Likewise.
60296         * lib/memcasecmp.c: Likewise.
60297         * lib/memcasecmp.h: Likewise.
60298         * lib/memchr.c: Likewise.
60299         * lib/memcmp.c: Likewise.
60300         * lib/memcoll.c: Likewise.
60301         * lib/memcoll.h: Likewise.
60302         * lib/memcpy.c: Likewise.
60303         * lib/memrchr.c: Likewise.
60304         * lib/mkancesdirs.c: Likewise.
60305         * lib/mkdir-p.c: Likewise.
60306         * lib/mkdir-p.h: Likewise.
60307         * lib/mkdir.c: Likewise.
60308         * lib/mkdirat.c: Likewise.
60309         * lib/mkdtemp.c: Likewise.
60310         * lib/mkstemp-safer.c: Likewise.
60311         * lib/mkstemp.c: Likewise.
60312         * lib/modechange.c: Likewise.
60313         * lib/modechange.h: Likewise.
60314         * lib/mountlist.c: Likewise.
60315         * lib/mountlist.h: Likewise.
60316         * lib/mpsort.c: Likewise.
60317         * lib/nanosleep.c: Likewise.
60318         * lib/obstack.c: Likewise.
60319         * lib/obstack.h: Likewise.
60320         * lib/open-safer.c: Likewise.
60321         * lib/open.c: Likewise.
60322         * lib/openat-die.c: Likewise.
60323         * lib/openat-priv.h: Likewise.
60324         * lib/openat-proc.c: Likewise.
60325         * lib/openat.c: Likewise.
60326         * lib/openat.h: Likewise.
60327         * lib/pagealign_alloc.c: Likewise.
60328         * lib/pagealign_alloc.h: Likewise.
60329         * lib/physmem.c: Likewise.
60330         * lib/physmem.h: Likewise.
60331         * lib/pipe-safer.c: Likewise.
60332         * lib/pipe.c: Likewise.
60333         * lib/pipe.h: Likewise.
60334         * lib/posixtm.c: Likewise.
60335         * lib/posixtm.h: Likewise.
60336         * lib/posixver.c: Likewise.
60337         * lib/printf-frexp.c: Likewise.
60338         * lib/printf-frexp.h: Likewise.
60339         * lib/printf-frexpl.c: Likewise.
60340         * lib/printf-frexpl.h: Likewise.
60341         * lib/printf.c: Likewise.
60342         * lib/progname.c: Likewise.
60343         * lib/progname.h: Likewise.
60344         * lib/progreloc.c: Likewise.
60345         * lib/putenv.c: Likewise.
60346         * lib/quote.c: Likewise.
60347         * lib/quote.h: Likewise.
60348         * lib/quotearg.c: Likewise.
60349         * lib/quotearg.h: Likewise.
60350         * lib/raise.c: Likewise.
60351         * lib/readline.c: Likewise.
60352         * lib/readline.h: Likewise.
60353         * lib/readlink.c: Likewise.
60354         * lib/readtokens.c: Likewise.
60355         * lib/readtokens.h: Likewise.
60356         * lib/readtokens0.c: Likewise.
60357         * lib/readtokens0.h: Likewise.
60358         * lib/readutmp.c: Likewise.
60359         * lib/readutmp.h: Likewise.
60360         * lib/realloc.c: Likewise.
60361         * lib/relocwrapper.c: Likewise.
60362         * lib/rename-dest-slash.c: Likewise.
60363         * lib/rename.c: Likewise.
60364         * lib/rmdir.c: Likewise.
60365         * lib/rpmatch.c: Likewise.
60366         * lib/safe-read.c: Likewise.
60367         * lib/safe-read.h: Likewise.
60368         * lib/safe-write.c: Likewise.
60369         * lib/safe-write.h: Likewise.
60370         * lib/same-inode.h: Likewise.
60371         * lib/same.c: Likewise.
60372         * lib/same.h: Likewise.
60373         * lib/save-cwd.c: Likewise.
60374         * lib/save-cwd.h: Likewise.
60375         * lib/savedir.c: Likewise.
60376         * lib/savedir.h: Likewise.
60377         * lib/savewd.c: Likewise.
60378         * lib/savewd.h: Likewise.
60379         * lib/search.in.h: Likewise.
60380         * lib/setenv.c: Likewise.
60381         * lib/setenv.h: Likewise.
60382         * lib/settime.c: Likewise.
60383         * lib/sh-quote.c: Likewise.
60384         * lib/sh-quote.h: Likewise.
60385         * lib/sig2str.c: Likewise.
60386         * lib/sig2str.h: Likewise.
60387         * lib/signal.in.h: Likewise.
60388         * lib/signbitd.c: Likewise.
60389         * lib/signbitf.c: Likewise.
60390         * lib/signbitl.c: Likewise.
60391         * lib/sigprocmask.c: Likewise.
60392         * lib/sincosl.c: Likewise.
60393         * lib/sleep.c: Likewise.
60394         * lib/sprintf.c: Likewise.
60395         * lib/sqrtl.c: Likewise.
60396         * lib/stat-time.h: Likewise.
60397         * lib/stdio--.h: Likewise.
60398         * lib/stdio-safer.h: Likewise.
60399         * lib/stdlib--.h: Likewise.
60400         * lib/stdlib-safer.h: Likewise.
60401         * lib/stdlib.in.h: Likewise.
60402         * lib/stpcpy.c: Likewise.
60403         * lib/stpncpy.c: Likewise.
60404         * lib/strchrnul.c: Likewise.
60405         * lib/strcspn.c: Likewise.
60406         * lib/strerror.c: Likewise.
60407         * lib/strftime.c: Likewise.
60408         * lib/strftime.h: Likewise.
60409         * lib/striconveh.c: Likewise.
60410         * lib/striconveh.h: Likewise.
60411         * lib/striconveha.c: Likewise.
60412         * lib/striconveha.h: Likewise.
60413         * lib/stripslash.c: Likewise.
60414         * lib/strnlen1.c: Likewise.
60415         * lib/strnlen1.h: Likewise.
60416         * lib/strtod.c: Likewise.
60417         * lib/strtoimax.c: Likewise.
60418         * lib/strtok_r.c: Likewise.
60419         * lib/strtol.c: Likewise.
60420         * lib/strtoll.c: Likewise.
60421         * lib/strtoul.c: Likewise.
60422         * lib/strtoull.c: Likewise.
60423         * lib/sysexits.in.h: Likewise.
60424         * lib/tempname.c: Likewise.
60425         * lib/tempname.h: Likewise.
60426         * lib/timespec.h: Likewise.
60427         * lib/tls.c: Likewise.
60428         * lib/tls.h: Likewise.
60429         * lib/tmpdir.c: Likewise.
60430         * lib/tmpdir.h: Likewise.
60431         * lib/tmpfile-safer.c: Likewise.
60432         * lib/tmpfile.c: Likewise.
60433         * lib/trigl.c: Likewise.
60434         * lib/trigl.h: Likewise.
60435         * lib/trim.c: Likewise.
60436         * lib/trim.h: Likewise.
60437         * lib/trunc.c: Likewise.
60438         * lib/truncf.c: Likewise.
60439         * lib/truncl.c: Likewise.
60440         * lib/tsearch.c: Likewise.
60441         * lib/unicodeio.c: Likewise.
60442         * lib/unicodeio.h: Likewise.
60443         * lib/unistd--.h: Likewise.
60444         * lib/unistd-safer.h: Likewise.
60445         * lib/unistdio/ulc-fprintf.c: Likewise.
60446         * lib/unistdio/ulc-vfprintf.c: Likewise.
60447         * lib/unlinkdir.c: Likewise.
60448         * lib/unlinkdir.h: Likewise.
60449         * lib/unlocked-io.h: Likewise.
60450         * lib/unsetenv.c: Likewise.
60451         * lib/userspec.c: Likewise.
60452         * lib/utime.c: Likewise.
60453         * lib/utimecmp.c: Likewise.
60454         * lib/utimecmp.h: Likewise.
60455         * lib/utimens.c: Likewise.
60456         * lib/verify.h: Likewise.
60457         * lib/verror.c: Likewise.
60458         * lib/verror.h: Likewise.
60459         * lib/version-etc-fsf.c: Likewise.
60460         * lib/version-etc.c: Likewise.
60461         * lib/version-etc.h: Likewise.
60462         * lib/vfprintf.c: Likewise.
60463         * lib/vprintf.c: Likewise.
60464         * lib/vsprintf.c: Likewise.
60465         * lib/w32spawn.h: Likewise.
60466         * lib/wait-process.c: Likewise.
60467         * lib/wait-process.h: Likewise.
60468         * lib/wcwidth.c: Likewise.
60469         * lib/write-any-file.c: Likewise.
60470         * lib/xalloc-die.c: Likewise.
60471         * lib/xalloc.h: Likewise.
60472         * lib/xasprintf.c: Likewise.
60473         * lib/xgetcwd.c: Likewise.
60474         * lib/xgetcwd.h: Likewise.
60475         * lib/xgetdomainname.c: Likewise.
60476         * lib/xgetdomainname.h: Likewise.
60477         * lib/xgethostname.c: Likewise.
60478         * lib/xmalloc.c: Likewise.
60479         * lib/xmalloca.c: Likewise.
60480         * lib/xmalloca.h: Likewise.
60481         * lib/xmemcoll.c: Likewise.
60482         * lib/xnanosleep.c: Likewise.
60483         * lib/xreadlink.c: Likewise.
60484         * lib/xreadlink.h: Likewise.
60485         * lib/xsetenv.c: Likewise.
60486         * lib/xsetenv.h: Likewise.
60487         * lib/xstriconv.c: Likewise.
60488         * lib/xstriconv.h: Likewise.
60489         * lib/xstrndup.c: Likewise.
60490         * lib/xstrndup.h: Likewise.
60491         * lib/xstrtod.c: Likewise.
60492         * lib/xstrtod.h: Likewise.
60493         * lib/xstrtol-error.c: Likewise.
60494         * lib/xstrtol.c: Likewise.
60495         * lib/xstrtol.h: Likewise.
60496         * lib/xtime.h: Likewise.
60497         * lib/xvasprintf.c: Likewise.
60498         * lib/xvasprintf.h: Likewise.
60499         * lib/yesno.c: Likewise.
60500         * lib/yesno.h: Likewise.
60501         * posix-modules: Likewise.
60502         * tests/test-alloca-opt.c: Likewise.
60503         * tests/test-arcfour.c: Likewise.
60504         * tests/test-arctwo.c: Likewise.
60505         * tests/test-argmatch.c: Likewise.
60506         * tests/test-argp-2.sh: Likewise.
60507         * tests/test-argp.c: Likewise.
60508         * tests/test-arpa_inet.c: Likewise.
60509         * tests/test-array_list.c: Likewise.
60510         * tests/test-array_oset.c: Likewise.
60511         * tests/test-atexit.c: Likewise.
60512         * tests/test-avltree_list.c: Likewise.
60513         * tests/test-avltree_oset.c: Likewise.
60514         * tests/test-avltreehash_list.c: Likewise.
60515         * tests/test-base64.c: Likewise.
60516         * tests/test-binary-io.c: Likewise.
60517         * tests/test-byteswap.c: Likewise.
60518         * tests/test-c-ctype.c: Likewise.
60519         * tests/test-c-strcasecmp.c: Likewise.
60520         * tests/test-c-strcasestr.c: Likewise.
60521         * tests/test-c-strncasecmp.c: Likewise.
60522         * tests/test-c-strstr.c: Likewise.
60523         * tests/test-canonicalize-lgpl.c: Likewise.
60524         * tests/test-canonicalize.c: Likewise.
60525         * tests/test-carray_list.c: Likewise.
60526         * tests/test-ceilf.c: Likewise.
60527         * tests/test-ceill.c: Likewise.
60528         * tests/test-count-one-bits.c: Likewise.
60529         * tests/test-crc.c: Likewise.
60530         * tests/test-dirname.c: Likewise.
60531         * tests/test-fbufmode.c: Likewise.
60532         * tests/test-fcntl.c: Likewise.
60533         * tests/test-fflush.c: Likewise.
60534         * tests/test-floorf.c: Likewise.
60535         * tests/test-floorl.c: Likewise.
60536         * tests/test-fopen.c: Likewise.
60537         * tests/test-fprintf-posix.c: Likewise.
60538         * tests/test-fprintf-posix.h: Likewise.
60539         * tests/test-fpurge.c: Likewise.
60540         * tests/test-freadable.c: Likewise.
60541         * tests/test-freadahead.c: Likewise.
60542         * tests/test-freading.c: Likewise.
60543         * tests/test-freopen.c: Likewise.
60544         * tests/test-frexp.c: Likewise.
60545         * tests/test-frexpl.c: Likewise.
60546         * tests/test-fseek.c: Likewise.
60547         * tests/test-fseeko.c: Likewise.
60548         * tests/test-fseterr.c: Likewise.
60549         * tests/test-fstrcmp.c: Likewise.
60550         * tests/test-ftell.c: Likewise.
60551         * tests/test-ftello.c: Likewise.
60552         * tests/test-fwritable.c: Likewise.
60553         * tests/test-fwriting.c: Likewise.
60554         * tests/test-getaddrinfo.c: Likewise.
60555         * tests/test-getpass.c: Likewise.
60556         * tests/test-gettimeofday.c: Likewise.
60557         * tests/test-hmac-md5.c: Likewise.
60558         * tests/test-hmac-sha1.c: Likewise.
60559         * tests/test-iconv.c: Likewise.
60560         * tests/test-iconvme.c: Likewise.
60561         * tests/test-inttypes.c: Likewise.
60562         * tests/test-isnan.c: Likewise.
60563         * tests/test-isnanf.c: Likewise.
60564         * tests/test-isnanl-nolibm.c: Likewise.
60565         * tests/test-isnanl.c: Likewise.
60566         * tests/test-isnanl.h: Likewise.
60567         * tests/test-ldexpl.c: Likewise.
60568         * tests/test-linked_list.c: Likewise.
60569         * tests/test-linkedhash_list.c: Likewise.
60570         * tests/test-locale.c: Likewise.
60571         * tests/test-localename.c: Likewise.
60572         * tests/test-lock.c: Likewise.
60573         * tests/test-lseek.c: Likewise.
60574         * tests/test-malloca.c: Likewise.
60575         * tests/test-math.c: Likewise.
60576         * tests/test-mbscasecmp.c: Likewise.
60577         * tests/test-mbscasestr1.c: Likewise.
60578         * tests/test-mbscasestr2.c: Likewise.
60579         * tests/test-mbscasestr3.c: Likewise.
60580         * tests/test-mbscasestr4.c: Likewise.
60581         * tests/test-mbschr.c: Likewise.
60582         * tests/test-mbscspn.c: Likewise.
60583         * tests/test-mbsncasecmp.c: Likewise.
60584         * tests/test-mbspbrk.c: Likewise.
60585         * tests/test-mbspcasecmp.c: Likewise.
60586         * tests/test-mbsrchr.c: Likewise.
60587         * tests/test-mbsspn.c: Likewise.
60588         * tests/test-mbsstr1.c: Likewise.
60589         * tests/test-mbsstr2.c: Likewise.
60590         * tests/test-mbsstr3.c: Likewise.
60591         * tests/test-md5.c: Likewise.
60592         * tests/test-memmem.c: Likewise.
60593         * tests/test-netinet_in.c: Likewise.
60594         * tests/test-open.c: Likewise.
60595         * tests/test-printf-frexp.c: Likewise.
60596         * tests/test-printf-frexpl.c: Likewise.
60597         * tests/test-printf-posix.c: Likewise.
60598         * tests/test-printf-posix.h: Likewise.
60599         * tests/test-rbtree_list.c: Likewise.
60600         * tests/test-rbtree_oset.c: Likewise.
60601         * tests/test-rbtreehash_list.c: Likewise.
60602         * tests/test-read-file.c: Likewise.
60603         * tests/test-rijndael.c: Likewise.
60604         * tests/test-search.c: Likewise.
60605         * tests/test-signbit.c: Likewise.
60606         * tests/test-sleep.c: Likewise.
60607         * tests/test-snprintf-posix.c: Likewise.
60608         * tests/test-snprintf-posix.h: Likewise.
60609         * tests/test-snprintf.c: Likewise.
60610         * tests/test-sprintf-posix.c: Likewise.
60611         * tests/test-sprintf-posix.h: Likewise.
60612         * tests/test-stat-time.c: Likewise.
60613         * tests/test-stdbool.c: Likewise.
60614         * tests/test-stdint.c: Likewise.
60615         * tests/test-stdio.c: Likewise.
60616         * tests/test-stdlib.c: Likewise.
60617         * tests/test-stpncpy.c: Likewise.
60618         * tests/test-strcasestr.c: Likewise.
60619         * tests/test-striconv.c: Likewise.
60620         * tests/test-striconveh.c: Likewise.
60621         * tests/test-striconveha.c: Likewise.
60622         * tests/test-string.c: Likewise.
60623         * tests/test-sys_select.c: Likewise.
60624         * tests/test-sys_socket.c: Likewise.
60625         * tests/test-sys_stat.c: Likewise.
60626         * tests/test-sys_time.c: Likewise.
60627         * tests/test-sysexits.c: Likewise.
60628         * tests/test-time.c: Likewise.
60629         * tests/test-tls.c: Likewise.
60630         * tests/test-trunc.c: Likewise.
60631         * tests/test-truncf.c: Likewise.
60632         * tests/test-truncl.c: Likewise.
60633         * tests/test-unistd.c: Likewise.
60634         * tests/test-vasnprintf-posix.c: Likewise.
60635         * tests/test-vasnprintf-posix2.c: Likewise.
60636         * tests/test-vasnprintf.c: Likewise.
60637         * tests/test-vasprintf-posix.c: Likewise.
60638         * tests/test-vasprintf.c: Likewise.
60639         * tests/test-verify.c: Likewise.
60640         * tests/test-vfprintf-posix.c: Likewise.
60641         * tests/test-vprintf-posix.c: Likewise.
60642         * tests/test-vsnprintf-posix.c: Likewise.
60643         * tests/test-vsnprintf.c: Likewise.
60644         * tests/test-vsprintf-posix.c: Likewise.
60645         * tests/test-wchar.c: Likewise.
60646         * tests/test-wctype.c: Likewise.
60647         * tests/test-wcwidth.c: Likewise.
60648         * tests/test-xstrtol.c: Likewise.
60649         * tests/test-xvasprintf.c: Likewise.
60650         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60651         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60652         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60653         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60654         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60655         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60656         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60657         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60658         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60659         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60660         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60661         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60662         * tests/uniname/test-uninames.c: Likewise.
60663         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60664         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60665         * tests/unistdio/test-u16-printf1.h: Likewise.
60666         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60667         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60668         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60669         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60670         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60671         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60672         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60673         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60674         * tests/unistdio/test-u32-printf1.h: Likewise.
60675         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60676         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60677         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60678         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60679         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60680         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60681         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60682         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60683         * tests/unistdio/test-u8-printf1.h: Likewise.
60684         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60685         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60686         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60687         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60688         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60689         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60690         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60691         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60692         * tests/unistdio/test-ulc-printf1.h: Likewise.
60693         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60694         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60695         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60696         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60697         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60698         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60699         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60700         * tests/uniwidth/test-u16-width.c: Likewise.
60701         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60702         * tests/uniwidth/test-u32-width.c: Likewise.
60703         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60704         * tests/uniwidth/test-u8-width.c: Likewise.
60705         * tests/uniwidth/test-uc_width.c: Likewise.
60706         * config/srclist-update: Likewise.
60707         (fixlicense): Update to GPLv3+.
60708
60709         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60710         * tests/test-tsearch.c: Change copyright notice.
60711
60712         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60713         * lib/c-strcaseeq.h: Change copyright notice.
60714         * lib/streq.h: Likewise.
60715         * lib/uniconv.h: Likewise.
60716         * lib/uniconv/u-conv-from-enc.h: Likewise.
60717         * lib/uniconv/u-conv-to-enc.h: Likewise.
60718         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60719         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60720         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60721         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60722         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60723         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60724         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60725         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60726         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60727         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60728         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60729         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60730         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60731         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60732         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60733         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60734         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60735         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60736         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60737         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60738         * lib/uniname.h: Likewise.
60739         * lib/uniname/uniname.c: Likewise.
60740         * lib/unistdio.h: Likewise.
60741         * lib/unistdio/u-asnprintf.h: Likewise.
60742         * lib/unistdio/u-asprintf.h: Likewise.
60743         * lib/unistdio/u-printf-args.c: Likewise.
60744         * lib/unistdio/u-printf-args.h: Likewise.
60745         * lib/unistdio/u-printf-parse.h: Likewise.
60746         * lib/unistdio/u-snprintf.h: Likewise.
60747         * lib/unistdio/u-sprintf.h: Likewise.
60748         * lib/unistdio/u-vasprintf.h: Likewise.
60749         * lib/unistdio/u-vsnprintf.h: Likewise.
60750         * lib/unistdio/u-vsprintf.h: Likewise.
60751         * lib/unistdio/u16-asnprintf.c: Likewise.
60752         * lib/unistdio/u16-asprintf.c: Likewise.
60753         * lib/unistdio/u16-printf-parse.c: Likewise.
60754         * lib/unistdio/u16-snprintf.c: Likewise.
60755         * lib/unistdio/u16-sprintf.c: Likewise.
60756         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60757         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60758         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60759         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60760         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60761         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60762         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60763         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60764         * lib/unistdio/u16-vasnprintf.c: Likewise.
60765         * lib/unistdio/u16-vasprintf.c: Likewise.
60766         * lib/unistdio/u16-vsnprintf.c: Likewise.
60767         * lib/unistdio/u16-vsprintf.c: Likewise.
60768         * lib/unistdio/u32-asnprintf.c: Likewise.
60769         * lib/unistdio/u32-asprintf.c: Likewise.
60770         * lib/unistdio/u32-printf-parse.c: Likewise.
60771         * lib/unistdio/u32-snprintf.c: Likewise.
60772         * lib/unistdio/u32-sprintf.c: Likewise.
60773         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60774         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60775         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60776         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60777         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60778         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60779         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60780         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60781         * lib/unistdio/u32-vasnprintf.c: Likewise.
60782         * lib/unistdio/u32-vasprintf.c: Likewise.
60783         * lib/unistdio/u32-vsnprintf.c: Likewise.
60784         * lib/unistdio/u32-vsprintf.c: Likewise.
60785         * lib/unistdio/u8-asnprintf.c: Likewise.
60786         * lib/unistdio/u8-asprintf.c: Likewise.
60787         * lib/unistdio/u8-printf-parse.c: Likewise.
60788         * lib/unistdio/u8-snprintf.c: Likewise.
60789         * lib/unistdio/u8-sprintf.c: Likewise.
60790         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60791         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60792         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60793         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60794         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60795         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60796         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60797         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60798         * lib/unistdio/u8-vasnprintf.c: Likewise.
60799         * lib/unistdio/u8-vasprintf.c: Likewise.
60800         * lib/unistdio/u8-vsnprintf.c: Likewise.
60801         * lib/unistdio/u8-vsprintf.c: Likewise.
60802         * lib/unistdio/ulc-asnprintf.c: Likewise.
60803         * lib/unistdio/ulc-asprintf.c: Likewise.
60804         * lib/unistdio/ulc-printf-parse.c: Likewise.
60805         * lib/unistdio/ulc-snprintf.c: Likewise.
60806         * lib/unistdio/ulc-sprintf.c: Likewise.
60807         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60808         * lib/unistdio/ulc-vasprintf.c: Likewise.
60809         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60810         * lib/unistdio/ulc-vsprintf.c: Likewise.
60811         * lib/unistr.h: Likewise.
60812         * lib/unistr/u-cpy-alloc.h: Likewise.
60813         * lib/unistr/u-cpy.h: Likewise.
60814         * lib/unistr/u-endswith.h: Likewise.
60815         * lib/unistr/u-move.h: Likewise.
60816         * lib/unistr/u-set.h: Likewise.
60817         * lib/unistr/u-startswith.h: Likewise.
60818         * lib/unistr/u-stpcpy.h: Likewise.
60819         * lib/unistr/u-stpncpy.h: Likewise.
60820         * lib/unistr/u-strcat.h: Likewise.
60821         * lib/unistr/u-strcpy.h: Likewise.
60822         * lib/unistr/u-strcspn.h: Likewise.
60823         * lib/unistr/u-strdup.h: Likewise.
60824         * lib/unistr/u-strlen.h: Likewise.
60825         * lib/unistr/u-strncat.h: Likewise.
60826         * lib/unistr/u-strncpy.h: Likewise.
60827         * lib/unistr/u-strnlen.h: Likewise.
60828         * lib/unistr/u-strpbrk.h: Likewise.
60829         * lib/unistr/u-strspn.h: Likewise.
60830         * lib/unistr/u-strstr.h: Likewise.
60831         * lib/unistr/u-strtok.h: Likewise.
60832         * lib/unistr/u16-check.c: Likewise.
60833         * lib/unistr/u16-chr.c: Likewise.
60834         * lib/unistr/u16-cmp.c: Likewise.
60835         * lib/unistr/u16-cpy-alloc.c: Likewise.
60836         * lib/unistr/u16-cpy.c: Likewise.
60837         * lib/unistr/u16-endswith.c: Likewise.
60838         * lib/unistr/u16-mblen.c: Likewise.
60839         * lib/unistr/u16-mbsnlen.c: Likewise.
60840         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60841         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60842         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60843         * lib/unistr/u16-mbtouc.c: Likewise.
60844         * lib/unistr/u16-mbtoucr.c: Likewise.
60845         * lib/unistr/u16-move.c: Likewise.
60846         * lib/unistr/u16-next.c: Likewise.
60847         * lib/unistr/u16-prev.c: Likewise.
60848         * lib/unistr/u16-set.c: Likewise.
60849         * lib/unistr/u16-startswith.c: Likewise.
60850         * lib/unistr/u16-stpcpy.c: Likewise.
60851         * lib/unistr/u16-stpncpy.c: Likewise.
60852         * lib/unistr/u16-strcat.c: Likewise.
60853         * lib/unistr/u16-strchr.c: Likewise.
60854         * lib/unistr/u16-strcmp.c: Likewise.
60855         * lib/unistr/u16-strcpy.c: Likewise.
60856         * lib/unistr/u16-strcspn.c: Likewise.
60857         * lib/unistr/u16-strdup.c: Likewise.
60858         * lib/unistr/u16-strlen.c: Likewise.
60859         * lib/unistr/u16-strmblen.c: Likewise.
60860         * lib/unistr/u16-strmbtouc.c: Likewise.
60861         * lib/unistr/u16-strncat.c: Likewise.
60862         * lib/unistr/u16-strncmp.c: Likewise.
60863         * lib/unistr/u16-strncpy.c: Likewise.
60864         * lib/unistr/u16-strnlen.c: Likewise.
60865         * lib/unistr/u16-strpbrk.c: Likewise.
60866         * lib/unistr/u16-strrchr.c: Likewise.
60867         * lib/unistr/u16-strspn.c: Likewise.
60868         * lib/unistr/u16-strstr.c: Likewise.
60869         * lib/unistr/u16-strtok.c: Likewise.
60870         * lib/unistr/u16-to-u32.c: Likewise.
60871         * lib/unistr/u16-to-u8.c: Likewise.
60872         * lib/unistr/u16-uctomb-aux.c: Likewise.
60873         * lib/unistr/u16-uctomb.c: Likewise.
60874         * lib/unistr/u32-check.c: Likewise.
60875         * lib/unistr/u32-chr.c: Likewise.
60876         * lib/unistr/u32-cmp.c: Likewise.
60877         * lib/unistr/u32-cpy-alloc.c: Likewise.
60878         * lib/unistr/u32-cpy.c: Likewise.
60879         * lib/unistr/u32-endswith.c: Likewise.
60880         * lib/unistr/u32-mblen.c: Likewise.
60881         * lib/unistr/u32-mbsnlen.c: Likewise.
60882         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60883         * lib/unistr/u32-mbtouc.c: Likewise.
60884         * lib/unistr/u32-mbtoucr.c: Likewise.
60885         * lib/unistr/u32-move.c: Likewise.
60886         * lib/unistr/u32-next.c: Likewise.
60887         * lib/unistr/u32-prev.c: Likewise.
60888         * lib/unistr/u32-set.c: Likewise.
60889         * lib/unistr/u32-startswith.c: Likewise.
60890         * lib/unistr/u32-stpcpy.c: Likewise.
60891         * lib/unistr/u32-stpncpy.c: Likewise.
60892         * lib/unistr/u32-strcat.c: Likewise.
60893         * lib/unistr/u32-strchr.c: Likewise.
60894         * lib/unistr/u32-strcmp.c: Likewise.
60895         * lib/unistr/u32-strcpy.c: Likewise.
60896         * lib/unistr/u32-strcspn.c: Likewise.
60897         * lib/unistr/u32-strdup.c: Likewise.
60898         * lib/unistr/u32-strlen.c: Likewise.
60899         * lib/unistr/u32-strmblen.c: Likewise.
60900         * lib/unistr/u32-strmbtouc.c: Likewise.
60901         * lib/unistr/u32-strncat.c: Likewise.
60902         * lib/unistr/u32-strncmp.c: Likewise.
60903         * lib/unistr/u32-strncpy.c: Likewise.
60904         * lib/unistr/u32-strnlen.c: Likewise.
60905         * lib/unistr/u32-strpbrk.c: Likewise.
60906         * lib/unistr/u32-strrchr.c: Likewise.
60907         * lib/unistr/u32-strspn.c: Likewise.
60908         * lib/unistr/u32-strstr.c: Likewise.
60909         * lib/unistr/u32-strtok.c: Likewise.
60910         * lib/unistr/u32-to-u16.c: Likewise.
60911         * lib/unistr/u32-to-u8.c: Likewise.
60912         * lib/unistr/u32-uctomb.c: Likewise.
60913         * lib/unistr/u8-check.c: Likewise.
60914         * lib/unistr/u8-chr.c: Likewise.
60915         * lib/unistr/u8-cmp.c: Likewise.
60916         * lib/unistr/u8-cpy-alloc.c: Likewise.
60917         * lib/unistr/u8-cpy.c: Likewise.
60918         * lib/unistr/u8-endswith.c: Likewise.
60919         * lib/unistr/u8-mblen.c: Likewise.
60920         * lib/unistr/u8-mbsnlen.c: Likewise.
60921         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60922         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60923         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60924         * lib/unistr/u8-mbtouc.c: Likewise.
60925         * lib/unistr/u8-mbtoucr.c: Likewise.
60926         * lib/unistr/u8-move.c: Likewise.
60927         * lib/unistr/u8-next.c: Likewise.
60928         * lib/unistr/u8-prev.c: Likewise.
60929         * lib/unistr/u8-set.c: Likewise.
60930         * lib/unistr/u8-startswith.c: Likewise.
60931         * lib/unistr/u8-stpcpy.c: Likewise.
60932         * lib/unistr/u8-stpncpy.c: Likewise.
60933         * lib/unistr/u8-strcat.c: Likewise.
60934         * lib/unistr/u8-strchr.c: Likewise.
60935         * lib/unistr/u8-strcmp.c: Likewise.
60936         * lib/unistr/u8-strcpy.c: Likewise.
60937         * lib/unistr/u8-strcspn.c: Likewise.
60938         * lib/unistr/u8-strdup.c: Likewise.
60939         * lib/unistr/u8-strlen.c: Likewise.
60940         * lib/unistr/u8-strmblen.c: Likewise.
60941         * lib/unistr/u8-strmbtouc.c: Likewise.
60942         * lib/unistr/u8-strncat.c: Likewise.
60943         * lib/unistr/u8-strncmp.c: Likewise.
60944         * lib/unistr/u8-strncpy.c: Likewise.
60945         * lib/unistr/u8-strnlen.c: Likewise.
60946         * lib/unistr/u8-strpbrk.c: Likewise.
60947         * lib/unistr/u8-strrchr.c: Likewise.
60948         * lib/unistr/u8-strspn.c: Likewise.
60949         * lib/unistr/u8-strstr.c: Likewise.
60950         * lib/unistr/u8-strtok.c: Likewise.
60951         * lib/unistr/u8-to-u16.c: Likewise.
60952         * lib/unistr/u8-to-u32.c: Likewise.
60953         * lib/unistr/u8-uctomb-aux.c: Likewise.
60954         * lib/unistr/u8-uctomb.c: Likewise.
60955         * lib/unitypes.h: Likewise.
60956         * lib/uniwidth.h: Likewise.
60957         * lib/uniwidth/cjk.h: Likewise.
60958         * lib/uniwidth/u16-strwidth.c: Likewise.
60959         * lib/uniwidth/u16-width.c: Likewise.
60960         * lib/uniwidth/u32-strwidth.c: Likewise.
60961         * lib/uniwidth/u32-width.c: Likewise.
60962         * lib/uniwidth/u8-strwidth.c: Likewise.
60963         * lib/uniwidth/u8-width.c: Likewise.
60964         * lib/uniwidth/width.c: Likewise.
60965
60966 2007-10-07  Bruno Haible  <bruno@clisp.org>
60967
60968         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60969         The file is still under LGPL (see modules/inttypes).
60970
60971 2007-10-06  Bruno Haible  <bruno@clisp.org>
60972
60973         * modules/trunc (Dependencies): Add 'extensions'.
60974         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60975         Reported by Ben Pfaff <blp@gnu.org>.
60976
60977 2007-10-06  Bruno Haible  <bruno@clisp.org>
60978
60979         * modules/freopen-tests: New file.
60980         * tests/test-freopen.c: New file.
60981
60982         * modules/fopen-tests: New file.
60983         * tests/test-fopen.c: New file.
60984
60985         * modules/fopen: New file.
60986         * lib/fopen.c: New file.
60987         * m4/fopen.m4: New file.
60988         * modules/freopen: New file.
60989         * lib/freopen.c: New file.
60990         * m4/freopen.m4: New file.
60991         * lib/stdio.in.h (fopen, freopen): New declarations.
60992         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60993         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60994         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60995         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60996         * doc/functions/fopen.texi: Mention the 'fopen' module.
60997         * doc/functions/freopen.texi: Mention the 'freopen' module.
60998
60999 2007-10-06  Bruno Haible  <bruno@clisp.org>
61000
61001         * modules/open-tests: New file.
61002         * tests/test-open.c: New file.
61003
61004         * modules/open: New file.
61005         * lib/open.c: New file.
61006         * m4/open.m4: New file.
61007         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
61008         lib/open.c does.
61009         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
61010         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
61011         macros.
61012         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
61013         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
61014         REPLACE_OPEN.
61015         * doc/functions/open.texi: Mention the 'open' module.
61016
61017 2007-10-04  Bruno Haible  <bruno@clisp.org>
61018
61019         * modules/ceill-tests: New file.
61020         * tests/test-ceill.c: New file.
61021
61022         * modules/ceill: New file.
61023         * lib/ceill.c: Replace entire file.
61024         * m4/ceill.m4: New file.
61025         * lib/math.in.h (ceill): Replace declaration.
61026         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
61027         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
61028         * doc/functions/ceill.texi: Mention the 'ceill' module.
61029         * modules/mathl (Files): Remove lib/ceill.c.
61030         (Depends-on): Add ceill.
61031
61032 2007-10-04  Bruno Haible  <bruno@clisp.org>
61033
61034         * modules/ceilf-tests: New file.
61035         * tests/test-ceilf.c: New file.
61036
61037         * modules/ceilf: New file.
61038         * lib/ceil.c: New file.
61039         * lib/ceilf.c: New file.
61040         * m4/ceilf.m4: New file.
61041         * lib/math.in.h (ceilf): New declaration.
61042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
61043         HAVE_DECL_CEILF.
61044         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
61045         HAVE_DECL_CEILF.
61046         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
61047
61048 2007-10-04  Bruno Haible  <bruno@clisp.org>
61049
61050         * modules/floorl-tests: New file.
61051         * tests/test-floorl.c: New file.
61052
61053         * modules/floorl: New file.
61054         * lib/floorl.c: Replace entire file.
61055         * m4/floorl.m4: New file.
61056         * lib/math.in.h (floorl): Replace declaration.
61057         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
61058         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
61059         * doc/functions/floorl.texi: Mention the 'floorl' module.
61060         * modules/mathl (Files): Remove lib/floorl.c.
61061         (Depends-on): Add floorl.
61062
61063 2007-10-04  Bruno Haible  <bruno@clisp.org>
61064
61065         * modules/floorf-tests: New file.
61066         * tests/test-floorf.c: New file.
61067
61068         * modules/floorf: New file.
61069         * lib/floor.c: New file.
61070         * lib/floorf.c: New file.
61071         * m4/floorf.m4: New file.
61072         * lib/math.in.h (floorf): New declaration.
61073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
61074         HAVE_DECL_FLOORF.
61075         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
61076         HAVE_DECL_FLOORF.
61077         * doc/functions/floorf.texi: Mention the 'floorf' module.
61078
61079 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
61080             Bruno Haible  <bruno@clisp.org>
61081
61082         Advertise for the Git server instead of the CVS server.
61083         * doc/gnulib-intro.texi (Steady Development): Mention the Git
61084         repository instead of the CVS one.
61085         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
61086         about all VCS systems generically.
61087         * doc/gnulib.texi (Introduction): Capitalize `Git'.
61088
61089 2007-10-04  Bruno Haible  <bruno@clisp.org>
61090
61091         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
61092         means.
61093         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
61094
61095 2007-10-04  Bruno Haible  <bruno@clisp.org>
61096
61097         * modules/truncl-tests: New file.
61098         * tests/test-truncl.c: New file.
61099
61100         * modules/truncl: New file.
61101         * lib/truncl.c: New file.
61102         * m4/truncl.m4: New file.
61103         * lib/math.in.h (truncl): New declaration.
61104         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
61105         HAVE_DECL_TRUNCL.
61106         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
61107         HAVE_DECL_TRUNCL.
61108         * doc/functions/truncl.texi: Mention the 'truncl' module.
61109
61110 2007-10-04  Bruno Haible  <bruno@clisp.org>
61111
61112         * modules/truncf-tests: New file.
61113         * tests/test-truncf.c: New file.
61114
61115         * modules/truncf: New file.
61116         * lib/trunc.c: Make paramerizable through USE_* macros.
61117         * lib/truncf.c: New file.
61118         * m4/truncf.m4: New file.
61119         * lib/math.in.h (truncf): New declaration.
61120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
61121         HAVE_DECL_TRUNCF.
61122         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
61123         HAVE_DECL_TRUNCF.
61124         * doc/functions/truncf.texi: Mention the 'truncf' module.
61125
61126 2007-10-03  Bruno Haible  <bruno@clisp.org>
61127
61128         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61129         augmentation also for tests modules.
61130         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
61131         * modules/atexit-tests (Makefile.am): Likewise.
61132         * modules/binary-io-tests (Makefile.am): Likewise.
61133         * modules/c-strcase-tests (Makefile.am): Likewise.
61134         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
61135         * modules/canonicalize-tests (Makefile.am): Likewise.
61136         * modules/closein-tests (Makefile.am): Likewise.
61137         * modules/fprintf-posix-tests (Makefile.am): Likewise.
61138         * modules/freadahead-tests (Makefile.am): Likewise.
61139         * modules/fseek-tests (Makefile.am): Likewise.
61140         * modules/fseeko-tests (Makefile.am): Likewise.
61141         * modules/ftell-tests (Makefile.am): Likewise.
61142         * modules/ftello-tests (Makefile.am): Likewise.
61143         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
61144         * modules/isnanl-tests (Makefile.am): Likewise.
61145         * modules/lseek-tests (Makefile.am): Likewise.
61146         * modules/mbscasecmp-tests (Makefile.am): Likewise.
61147         * modules/mbscasestr-tests (Makefile.am): Likewise.
61148         * modules/mbschr-tests (Makefile.am): Likewise.
61149         * modules/mbscspn-tests (Makefile.am): Likewise.
61150         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
61151         * modules/mbspbrk-tests (Makefile.am): Likewise.
61152         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
61153         * modules/mbsrchr-tests (Makefile.am): Likewise.
61154         * modules/mbsspn-tests (Makefile.am): Likewise.
61155         * modules/mbsstr-tests (Makefile.am): Likewise.
61156         * modules/printf-posix-tests (Makefile.am): Likewise.
61157         * modules/snprintf-posix-tests (Makefile.am): Likewise.
61158         * modules/sprintf-posix-tests (Makefile.am): Likewise.
61159         * modules/tsearch-tests (Makefile.am): Likewise.
61160         * modules/uniname/uniname-tests (Makefile.am): Likewise.
61161         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
61162         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
61163         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
61164         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
61165         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
61166         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
61167         * modules/vprintf-posix-tests (Makefile.am): Likewise.
61168         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
61169         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
61170         * modules/xstrtoimax-tests (Makefile.am): Likewise.
61171         * modules/xstrtol-tests (Makefile.am): Likewise.
61172         * modules/xstrtoumax-tests (Makefile.am): Likewise.
61173         * modules/yesno-tests (Makefile.am): Likewise.
61174
61175 2007-10-03  Bruno Haible  <bruno@clisp.org>
61176
61177         * modules/trunc-tests: New file.
61178         * tests/test-trunc.c: New file.
61179
61180         * modules/trunc: New file.
61181         * lib/trunc.c: New file.
61182         * m4/trunc.m4: New file.
61183         * lib/math.in.h (trunc): New declaration.
61184         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
61185         HAVE_DECL_TRUNC.
61186         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
61187         HAVE_DECL_TRUNC.
61188         * doc/functions/trunc.texi: Mention the 'trunc' module.
61189
61190 2007-10-03  Bruno Haible  <bruno@clisp.org>
61191
61192         * tests/test-fpending.c: New file, mostly copied
61193         from coreutils/lib/t-fpending.c.
61194         * modules/fpending-tests: New file.
61195
61196 2007-10-03  Bruno Haible  <bruno@clisp.org>
61197
61198         Port the stdio extensions to QNX (untested).
61199         * lib/fseterr.c (fseterr): Add support for QNX.
61200         * lib/fbufmode.c (fbufmode): Likewise.
61201         * lib/freadable.c (freadable): Likewise.
61202         * lib/fwritable.c (fwritable): Likewise.
61203         * lib/freading.c (freading): Likewise.
61204         * lib/fwriting.c (fwriting): Likewise.
61205         * lib/freadahead.c (freadahed): Likewise.
61206         * lib/fpurge.c (fpurge): Likewise.
61207         * lib/fseeko.c (rpl_fseeko): Likewise.
61208
61209 2007-10-03  Bruno Haible  <bruno@clisp.org>
61210             Jim Meyering  <jim@meyering.net>
61211             Eric Blake  <ebb9@byu.net>
61212
61213         * doc/relocatable.texi: Use @command instead of @program.
61214
61215 2007-10-02  Jim Meyering  <jim@meyering.net>
61216
61217         Perform one more "_.h" -> ".in.h" substitution.
61218         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
61219         instead of unistd_.h here, too.
61220
61221 2007-10-01  Bruno Haible  <bruno@clisp.org>
61222
61223         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
61224         Needed for the alloca-opt module.
61225
61226 2007-09-30  Bruno Haible  <bruno@clisp.org>
61227
61228         * lib/alloca.in.h: Renamed from lib/alloca_.h.
61229         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
61230         alloca_.h.
61231         * lib/argz.in.h: Renamed from lib/argz_.h.
61232         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
61233         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
61234         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61235         byteswap_.h.
61236         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61237         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61238         dirent_.h.
61239         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61240         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61241         fcntl_.h.
61242         * lib/float.in.h: Renamed from lib/float_.h.
61243         * modules/float (Files, Makefile.am): Use float.in.h instead of
61244         float_.h.
61245         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61246         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61247         fnmatch_.h.
61248         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61249         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61250         getopt_.h.
61251         * lib/glob.in.h: Renamed from lib/glob_.h.
61252         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61253         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61254         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61255         iconv_.h.
61256         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61257         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61258         inttypes_.h.
61259         * lib/locale.in.h: Renamed from lib/locale_.h.
61260         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61261         locale_.h.
61262         * lib/math.in.h: Renamed from lib/math_.h.
61263         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61264         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61265         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61266         of netinet_in_.h. Add dependency.
61267         * lib/poll.in.h: Renamed from lib/poll_.h.
61268         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61269         * lib/search.in.h: Renamed from lib/search_.h.
61270         * modules/search (Files, Makefile.am): Use search.in.h instead of
61271         search_.h.
61272         * lib/signal.in.h: Renamed from lib/signal_.h.
61273         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61274         _signal.h.
61275         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61276         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61277         stdbool_.h.
61278         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61279         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61280         stdint_.h.
61281         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61282         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61283         stdio_.h.
61284         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61285         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61286         stdlib_.h.
61287         * lib/string.in.h: Renamed from lib/string_.h.
61288         * modules/string (Files, Makefile.am): Use string.in.h instead of
61289         string_.h.
61290         * doc/gnulib-tool.texi (Initial import): Update.
61291         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61292         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61293         of sys_select_.h. Add dependency.
61294         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61295         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61296         of sys_socket_.h.
61297         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61298         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61299         sys_stat_.h.
61300         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61301         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61302         sys_time_.h.
61303         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61304         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61305         sysexits_.h.
61306         * lib/time.in.h: Renamed from lib/time_.h.
61307         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61308         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61309         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61310         unistd_.h.
61311         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61312         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61313         wchar_.h.
61314         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61315         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61316         wctype_.h.
61317         * build-aux/bootstrap (slurp): Update.
61318         * lib/.cppi-disable: Update.
61319
61320 2007-09-30  Bruno Haible  <bruno@clisp.org>
61321
61322         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61323         Needed on BeOS.
61324
61325 2007-09-30  Bruno Haible  <bruno@clisp.org>
61326
61327         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61328
61329 2007-09-29  Bruno Haible  <bruno@clisp.org>
61330
61331         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
61332
61333 2007-09-29  Bruno Haible  <bruno@clisp.org>
61334
61335         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
61336         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
61337         * build-aux/install-reloc: Compile also areadlink.c.
61338         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
61339
61340 2007-09-29  Bruno Haible  <bruno@clisp.org>
61341
61342         * gnulib-tool (func_emit_initmacro_done): Indentation.
61343
61344 2007-09-29  Bruno Haible  <bruno@clisp.org>
61345
61346         * README: Add CVS checkout update instructions.
61347         Info from Bob Proulx <bob@proulx.com>.
61348
61349 2007-09-28  Eric Blake  <ebb9@byu.net>
61350
61351         Provide move-if-change.
61352         * build-aux/move-if-change: New file, based on best practice
61353         rather than any canonical upstream location.
61354
61355 2007-09-28  Jim Meyering  <jim@meyering.net>
61356
61357         Fix canonicalize loop-detection corner case.
61358         Do not attempt to stat the symlink values stored via seen_triple.
61359         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61360         on linux-2.6.18, (but not 2.6.22).
61361         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61362         triple_compare.  The former compares dev,ino,filename, while the latter
61363         would actually stat dirname(filename) when dev and ino were equal.
61364         * lib/hash-triple.c: Install <string.h>.
61365         (STREQ): Define.
61366         (triple_compare_ino_str): New function.
61367         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61368
61369 2007-09-28  Eric Blake  <ebb9@byu.net>
61370
61371         Enforce that AC_REPLACE_FUNCS files exist.
61372         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61373         override check for typos.
61374
61375         Fix test-closein on Solaris 10.
61376         * tests/test-closein.c (main): Don't assume stdin can be inherited
61377         closed on all systems.
61378         * tests/test-closein.sh: Likewise.
61379         Reported by Piotr Tarnowski.
61380
61381 2007-09-28  Jim Meyering  <jim@meyering.net>
61382
61383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61384
61385 2007-09-27  Jim Meyering  <jim@meyering.net>
61386
61387         canonicalize: Avoid a false-positive cycle failure.
61388         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61389         Sort.  Remove cycle-check.
61390         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61391         not cycle-check.h.
61392         (seen_triple): New function.
61393         (canonicalize_filename_mode): Use it instead of cycle-check.
61394         * tests/test-canonicalize.c: Add a test for this bug.
61395         * tests/test-canonicalize.sh: Set up and run the test.
61396
61397         New module, file-set, from coreutils.
61398         * modules/file-set: Define it.
61399         * lib/file-set.c, lib/file-set.h: Implement.
61400
61401         New module, hash-triple, from coreutils.
61402         * modules/hash-triple: Define it.
61403         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61404
61405 2007-09-25  Eric Blake  <ebb9@byu.net>
61406
61407         Fix strerror on Interix.
61408         * lib/string_.h (strerror): Declare replacement.
61409         * doc/functions/strerror.texi (strerror): Document the Interix
61410         shortcoming.
61411         * modules/string (Makefile.am): Support new hooks.
61412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61413         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61414         gl_FUNC_STRERROR_SEPARATE.
61415         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61416         * lib/strerror.c (rpl_strerror): Provide replacement.
61417         * modules/strerror (Depends-on): Add string.
61418         (configure.ac): Detect use of module.
61419         * tests/test-strerror.c: New file.
61420         * modules/strerror-tests: New test module.
61421         * modules/argp (Depends-on): Add strerror.
61422         * modules/error (Depends-on): Likewise.
61423         Reported by Martin Koeppe.
61424
61425 2007-09-24  Bruno Haible  <bruno@clisp.org>
61426
61427         * README: Update git instructions.
61428
61429 2007-09-24  Eric Blake  <ebb9@byu.net>
61430
61431         Revert fpending breakage from 2007-09-08.
61432         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61433         __fpending.c.
61434
61435 2007-09-24  Jim Meyering  <jim@meyering.net>
61436
61437         filenamecat.c: Add a test.
61438         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61439         showing how the function works when DIR is the empty string.
61440
61441 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61442
61443         * tests/test-canonicalize.sh: Turn on executable bit.
61444
61445 2007-09-19  Eric Blake  <ebb9@byu.net>
61446
61447         * README: Update CVS instructions.
61448
61449 2007-09-18  Bruno Haible  <bruno@clisp.org>
61450
61451         * modules/areadlink: New file.
61452         * lib/areadlink.h (areadlink): New declaration.
61453         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61454
61455 2007-09-17  Jim Meyering  <jim@meyering.net>
61456
61457         * lib/savewd.c (ESTALE) [!defined]: Define.
61458         Reported to be required on Interix by Martin Koeppe.
61459
61460 2007-09-17  Bruno Haible  <bruno@clisp.org>
61461
61462         * gnulib-tool (func_version): Use $version.
61463
61464 2007-09-16  Bruno Haible  <bruno@clisp.org>
61465
61466         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61467         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61468         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61469         Reported by Greg Schafer <gschafer@zip.com.au>.
61470
61471 2007-09-15  Bruno Haible  <bruno@clisp.org>
61472
61473         * gnulib-tool (sed): Try a little harder to make bash understand the
61474         alias.
61475         Reported by Bruce Korb <bruce.korb@gmail.com>.
61476
61477 2007-09-13  Eric Blake  <ebb9@byu.net>
61478
61479         * ChangeLog: Remove conflict markers.
61480
61481 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61482
61483         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61484         Reported by Bruno Haible <bruno@clisp.org>.
61485
61486 2007-09-12  Bruno Haible  <bruno@clisp.org>
61487
61488         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61489         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61490         is not defined.
61491
61492 2007-09-12  Eric Blake  <ebb9@byu.net>
61493
61494         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61495         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61496         Autoconf definition.
61497         * modules/euidaccess (Depends-on): Add extensions, for
61498         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61499         * modules/fnmatch (Depends-on): Likewise.
61500         * modules/getaddrinfo (Depends-on): Likewise.
61501         * modules/getdelim (Depends-on): Likewise.
61502         * modules/getline (Depends-on): Likewise.
61503         * modules/getsubopt (Depends-on): Likewise.
61504         * modules/gettext (Depends-on): Likewise.
61505         * modules/group-member (Depends-on): Likewise.
61506         * modules/mbchar (Depends-on): Likewise.
61507         * modules/memmem (Depends-on): Likewise.
61508         * modules/mempcpy (Depends-on): Likewise.
61509         * modules/memrchr (Depends-on): Likewise.
61510         * modules/pagealign_alloc (Depends-on): Likewise.
61511         * modules/readutmp (Depends-on): Likewise.
61512         * modules/stpcpy (Depends-on): Likewise.
61513         * modules/stpncpy (Depends-on): Likewise.
61514         * modules/strchrnul (Depends-on): Likewise.
61515         * modules/strndup (Depends-on): Likewise.
61516         * modules/strsep (Depends-on): Likewise.
61517         * modules/strverscmp (Depends-on): Likewise.
61518         * modules/vasprintf (Depends-on): Likewise.
61519         * modules/wcwidth (Depends-on): Likewise.
61520         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61521         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61522         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61523         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61524         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61525         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61526         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61527         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61528         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61529         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61530         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61531         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61532         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61533         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61534         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61535         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61536         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61537         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61538         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61539         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61540         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61541         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61542         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61543         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61544         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61545         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61546         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61547         so that lock.m4 can be used in gettext without extensions module.
61548
61549 2007-09-11  Bruno Haible  <bruno@clisp.org>
61550
61551         * m4/isc-posix.m4: Remove file.
61552         Suggested by Eric Blake.
61553
61554 2007-09-11  Eric Blake  <ebb9@byu.net>
61555
61556         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61557
61558 2007-09-10  Bruno Haible  <bruno@clisp.org>
61559
61560         * posix-modules: Fix typo in error message.
61561         Reported by Matt <mkraai@beckman.com>.
61562
61563 2007-09-09  Bruno Haible  <bruno@clisp.org>
61564
61565         * doc/functions/getdelim.texi: Update list of platforms lacking the
61566         function.
61567         * doc/functions/getline.texi: Likewise.
61568
61569 2007-09-09  Jim Meyering  <jim@meyering.net>
61570
61571         * lib/hash.c (hash_initialize): Detect calloc failure.
61572         Reported by Bruno Haible.
61573
61574 2007-09-09  Bruno Haible  <bruno@clisp.org>
61575
61576         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61577         malloc or realloc fails.
61578
61579 2007-09-09  Bruno Haible  <bruno@clisp.org>
61580
61581         * modules/getcwd (Depends-on): Add malloc-posix.
61582         * modules/glob (Depends-on): Likewise.
61583         * modules/putenv (Depends-on): Likewise.
61584         * modules/strdup (Depends-on): Likewise.
61585         * modules/getdelim (Depends-on): Add realloc-posix.
61586         * modules/read-file (Depends-on): Likewise.
61587
61588 2007-09-09  Bruno Haible  <bruno@clisp.org>
61589
61590         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61591         (gl_FUNC_MALLOC_POSIX): Require it.
61592         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61593         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61594         * modules/realloc (Files): Add m4/malloc.m4.
61595         * modules/calloc (Files): Likewise.
61596
61597 2007-09-09  Bruno Haible  <bruno@clisp.org>
61598
61599         * modules/malloc-posix: New file.
61600         * modules/malloc (Depends-on): Add malloc-posix.
61601         * lib/malloc.c: Include errno.h.
61602         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61603         and a POSIX-compatible malloc into a single function. Set ENOMEM
61604         when returning NULL.
61605         * m4/malloc.m4: New file.
61606         * doc/functions/malloc.texi: Mention the malloc-posix module.
61607         * lib/stdlib_.h (malloc): New declaration.
61608         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61609         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61610         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61611         and HAVE_MALLOC_POSIX.
61612
61613 2007-09-09  Bruno Haible  <bruno@clisp.org>
61614
61615         * modules/realloc-posix: New file.
61616         * modules/realloc (Depends-on): Add realloc-posix.
61617         * lib/realloc.c: Include errno.h.
61618         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61619         and a POSIX-compatible realloc into a single function. Set ENOMEM
61620         when returning NULL.
61621         * m4/realloc.m4: New file.
61622         * doc/functions/realloc.texi: Mention the realloc-posix module.
61623         * lib/stdlib_.h (realloc): New declaration.
61624         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61625         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61626         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61627         and HAVE_REALLOC_POSIX.
61628
61629 2007-09-09  Bruno Haible  <bruno@clisp.org>
61630
61631         * modules/calloc-posix: New file.
61632         * modules/calloc (Depends-on): Add calloc-posix.
61633         * lib/calloc.c: Include errno.h.
61634         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61635         and a POSIX-compatible calloc into a single function. Set ENOMEM
61636         when returning NULL.
61637         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61638         * doc/functions/calloc.texi: Mention the calloc-posix module.
61639         * lib/stdlib_.h (calloc): New declaration.
61640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61641         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61642         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61643         and HAVE_CALLOC_POSIX.
61644
61645 2007-09-09  Bruno Haible  <bruno@clisp.org>
61646
61647         Allow for modules to show an arbitrary notice.
61648         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61649         * gnulib-tool: New option --extract-notice.
61650         (func_usage): Document it.
61651         (sed_extract_prog): Update.
61652         (func_get_notice): New function.
61653         (func_modules_notice): New function.
61654         (func_import, func_create_testdir): Invoke it.
61655         Suggested by Jim Meyering.
61656
61657 2007-09-09  Bruno Haible  <bruno@clisp.org>
61658
61659         * gnulib-tool: New options --verbose, --quiet.
61660         (func_usage): Document them.
61661         (verbose): New variable.
61662         (func_execute_command): New function.
61663         (func_import): Don't show the module list and the file list if
61664         $verbose < 0.
61665         (func_create_testdir): Likewise. Use func_execute_command.
61666         (func_create_megatestdir): Use func_execute_command.
61667
61668 2007-09-08  Bruno Haible  <bruno@clisp.org>
61669
61670         * gnulib-tool (func_import): Prefer rsync over wget when available,
61671         for fetching the PO files.
61672
61673 2007-09-08  Bruno Haible  <bruno@clisp.org>
61674
61675         * posix-modules: New file. Portions copied from gnulib-tool.
61676         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61677
61678 2007-09-08  Jim Meyering  <jim@meyering.net>
61679
61680         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61681         * lib/fpending.h: Rename from __fpending.h.
61682         * lib/fpending.c: Rename from __fpending.c.
61683         Include "fpending.h", not "__fpending.h".
61684         * lib/__fpending.h, lib/__fpending.c: Remove files.
61685         * modules/fpending (Files): Reflect new file names.
61686         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61687
61688 2007-09-08  Bruno Haible  <bruno@clisp.org>
61689
61690         * m4/inttypes-h.m4: Remove stub file.
61691
61692 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61693
61694         * doc/headers/stdint.texi: Discuss #include_next issue.
61695
61696 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61697
61698         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61699
61700 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61701
61702         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61703         in variable name.
61704
61705 2007-09-03  Jim Meyering  <jim@meyering.net>
61706
61707         New module: git-version-gen.
61708         * modules/git-version-gen: New file.
61709
61710         Import changes from coreutils for bootstrap script.
61711
61712         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61713
61714         bootstrap: uses rsync to download the .po files
61715         * build-aux/bootstrap (po_download_command_format): New global.
61716         (download_po_files): Use rsync.
61717         (update_po_files): Don't remove .po files after download,
61718         so future rsync runs can take advantage of the copies.
61719
61720         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61721
61722         Solve the unnecessary-.po-file-regeneration problem once and for all.
61723         * build-aux/bootstrap (download_po_files): New function, renamed from
61724         get_translations.  Now, downloads, but doesn't update LINGUAS.
61725         (update_po_files): New function.
61726
61727         bootstrap: Ignore more.
61728         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61729         uniwidth to e.g., lib/.gitignore.
61730         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61731
61732         * build-aux/bootstrap: New setting: vc_ignore.
61733         (insert_sorted_if_absent): Create $file if absent.
61734         Adapt to new, possibly empty, list: $vc_ignore.
61735
61736         bootstrap: generate more ignorable names
61737         * build-aux/bootstrap (slurp): When generating ignorable names,
61738         also map .sin to .sed, .gperf to .c, and .y to .c.
61739
61740 2007-09-03  Jim Meyering  <jim@meyering.net>
61741
61742         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61743         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61744
61745 2007-09-02  Bruno Haible  <bruno@clisp.org>
61746
61747         Fix mis-recognition of 'mcs' on QNX 6.
61748         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61749         output contains the string "Mono".
61750         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61751         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61752
61753 2007-09-01  Bruno Haible  <bruno@clisp.org>
61754
61755         Fix collision between uniwidth/* and linebreak modules.
61756         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61757         u32_width): Remove declarations.
61758         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61759         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61760         streq3, streq2, streq1, streq0): Remove functions.
61761         (STREQ): Remove macro.
61762         (is_cjk_encoding): Remove function.
61763         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61764         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61765         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61766         * NEWS: Document the change.
61767
61768 2007-09-01  Bruno Haible  <bruno@clisp.org>
61769
61770         * lib/streq.h: Add double-inclusion guard.
61771
61772 2007-09-01  Karl Berry  <karl@gnu.org>
61773
61774         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61775
61776 2007-08-28  Jim Meyering  <jim@meyering.net>
61777
61778         Rename mreadlink_with_size to areadlink_with_size.
61779         * NEWS: Document the change.
61780         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61781         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61782         * lib/mreadlink.h: Rename this to...
61783         * lib/areadlink.h: ...this.
61784         * modules/mreadlink-with-size: Rename this to...
61785         * modules/areadlink-with-size: ...this.
61786         * lib/canonicalize.c: Reflect the renaming.
61787         * modules/canonicalize: Likewise.
61788
61789 2007-08-26  Bruno Haible  <bruno@clisp.org>
61790
61791         * gnulib-tool (func_import): When deciding which files to remove,
61792         consider also dangling symbolic links.
61793         Reported by Eric Blake.
61794
61795 2007-08-26  Bruno Haible  <bruno@clisp.org>
61796
61797         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61798
61799 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61800
61801         * lib/readline.c: Don't include getline.h, the prototype is now
61802         found in stdio.h.
61803
61804 2007-08-23  Jim Meyering  <jim@meyering.net>
61805
61806         Getdelim touchup.
61807         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61808         around the funlockfile call, since funlockfile never sets errno.
61809         Don't set errno upon failed realloc.
61810
61811 2007-08-22  Eric Blake  <ebb9@byu.net>
61812
61813         Getline touchups.
61814         * lib/getdelim.c (getdelim): Revert regression that required *n to
61815         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61816         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61817         getdelim, rather than whether implementation is missing.
61818         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61819         * lib/stdio_.h (getline): Also declare if replacement is
61820         required.
61821         * doc/functions/getdelim.texi: New file.
61822         * doc/functions/getline.texi: Likewise.
61823         * doc/gnulib.texi (Function Substitutes): Add new files.
61824         Reported by Bruno Haible.
61825
61826 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61827
61828         * users.txt: Add Guile.
61829
61830 2007-08-22  Eric Blake  <ebb9@byu.net>
61831
61832         * tests/test-getdelim.c (main): Use remove, not unlink.
61833         * tests/test-getline.c (main): Likewise.
61834
61835         Move getline and getdelim into stdio.h, per POSIX 200x.
61836         * modules/getline (Files): Remove getline.h.
61837         (Depends-on): Add stdio.
61838         (configure.ac): Add module indicator.
61839         * modules/getdelim (Files): Remove getdelim.h.
61840         (Depends-on): Add stdio.
61841         (configure.ac): Add module indicator.
61842         * modules/stdio (Makefile.am): Work with new indicators.
61843         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61844         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61845         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61846         * lib/getdelim.h: Delete.
61847         * lib/getline.h: Delete.
61848         * lib/stdio_.h (getdelim, getline): Declare.
61849         * modules/getdelim-tests: New module.
61850         * modules/getline-tests: Likewise.
61851         * tests/test-getdelim.c: New file.
61852         * tests/test-getline.c: Likewise.
61853         * NEWS: Document the change.
61854         * lib/getline.c: Update choice of header.
61855         * lib/csharpcomp.c: Likewise.
61856         * lib/getpass.c: Likewise.
61857         * lib/javacomp.c: Likewise.
61858         * lib/javaversion.c: Likewise.
61859         * lib/yesno.c: Likewise.
61860         * lib/getdelim.c: Likewise.
61861         (getdelim): Set errno on failure, and avoid memory leak.
61862
61863 2007-08-19  Bruno Haible  <bruno@clisp.org>
61864
61865         * modules/closein (Depends-on): Add freadahead.
61866         * lib/closein.c: Include freadahead.h.
61867         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61868         is zero.
61869
61870 2007-08-19  Bruno Haible  <bruno@clisp.org>
61871
61872         * modules/freadahead-tests: New file.
61873         * tests/test-freadahead.sh: New file.
61874         * tests/test-freadahead.c: New file.
61875
61876         * modules/freadahead: New file.
61877         * lib/freadahead.h: New file.
61878         * lib/freadahead.c: New file.
61879         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61880         fbufmode, fpurge, freadable, fwritable.
61881
61882 2007-08-19  Eric Blake  <ebb9@byu.net>
61883
61884         Test yesno in combination with closein.
61885         * lib/yesno.c (yesno): Document use of stdin.
61886         * modules/yesno-tests (Files): New module.
61887         * tests/test-yesno.c (main): New file.
61888         * tests/test-yesno.sh: Likewise.
61889
61890 2007-08-19  Bruno Haible  <bruno@clisp.org>
61891
61892         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61893         * lib/fseeko.c (rpl_fseeko): Likewise.
61894         * lib/fseterr.c (fseterr): Likewise.
61895
61896 2007-08-19  Bruno Haible  <bruno@clisp.org>
61897
61898         * tests/test-lseek.c (main): Disable a test for BeOS.
61899         * doc/functions/lseek.texi: Document the BeOS bug.
61900
61901 2007-08-19  Bruno Haible  <bruno@clisp.org>
61902             Eric Blake  <ebb9@byu.net>
61903
61904         * lib/lseek.c: Include <sys/stat.h>.
61905         (rpl_lseek): Add workaround code also for Unix platforms.
61906         Needed for BeOS.
61907         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61908         * doc/functions/lseek.texi: Document BeOS definiency.
61909
61910 2007-08-18  Bruno Haible  <bruno@clisp.org>
61911
61912         * modules/fstrcmp-tests: New file.
61913         * tests/test-fstrcmp.c: New file.
61914
61915 2007-08-18  Bruno Haible  <bruno@clisp.org>
61916
61917         * modules/fstrcmp: New file, from GNU gettext with modifications.
61918         * lib/fstrcmp.h: New file, from GNU gettext.
61919         * lib/fstrcmp.c: New file, from GNU gettext.
61920         * MODULES.html.sh (String handling): Add fstrcmp.
61921
61922 2007-08-18  Bruno Haible  <bruno@clisp.org>
61923
61924         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61925         'bool'.
61926         (diag, compareseq): Remove const from the ctxt argument.
61927         (USE_HEURISTIC): Undefine at the end.
61928
61929 2007-08-18  Jim Meyering  <jim@meyering.net>
61930
61931         New file: lib/idcache.h
61932         * NEWS: Mention the addition.
61933         * modules/idcache (Files): Add lib/idcache.h
61934         * lib/idcache.c: Include "idcache.h".
61935         Don't include <sys/types.h>.
61936         Add a FIXME comment.
61937         Move file-scoped "static" declarations to the top.
61938         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61939
61940 2007-08-17  Bruno Haible  <bruno@clisp.org>
61941         and Paul Eggert  <eggert@cs.ucla.edu>
61942
61943         * MODULES.html.sh: Add diffseq.
61944         * modules/diffseq: New file.
61945         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61946         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61947
61948 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61949
61950         Import changes from coreutils for bootstrap script.
61951
61952         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61953
61954         * build-aux/bootstrap (slurp): Work even in environments where
61955         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61956         current code does not slurp files whose names start with ".", and
61957         this looks like it might be a troublesome area.
61958
61959         2007-07-11  Jim Meyering  <jim@meyering.net>
61960
61961         If there's a GPL vN copyright comment, require that N == 3.
61962
61963         2007-07-08  Jim Meyering  <jim@meyering.net>
61964
61965         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61966         * build-aux/bootstrap (mam_template): Move definition out of loop.
61967
61968         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61969
61970         * build-aux/bootstrap (symlink_to_dir): Rename function from
61971         symlink_to_gnulib.  Add a directory parameter.  Update all
61972         callers.
61973         (cp_mark_as_generated): Also check for -- and link to -- files in
61974         gl/.
61975
61976         2007-07-08  Jim Meyering  <jim@meyering.net>
61977
61978         Adapt to deeper hierarchy in gnulib.
61979         * build-aux/bootstrap (symlink_to_dir): If the destination
61980         directory doesn't exist, create it. This is required at least for
61981         "lib/uniwidth/cjk.h".
61982
61983         2007-05-15  Jim Meyering  <jim@meyering.net>
61984
61985         * build-aux/bootstrap: Now that generated Makefile.am files
61986         are no longer under version control, they must be created at
61987         bootstrap time.
61988
61989 2007-08-14  Ben Pfaff  <blp@gnu.org>
61990
61991         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61992
61993 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61994
61995         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61996         given the changes below.
61997         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61998         even on hosts that have padding bits beyond the supported 64.
61999
62000 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
62001
62002         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
62003         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
62004         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
62005         depends on it.
62006         (xstrtol_error): Remove.
62007         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
62008         but with a different signature.
62009         (ATTRIBUTE_NORETURN, __attribute__): New macros.
62010         * lib/xstrtol-error.c: Include exitfail.h.
62011         (xstrtol_fatal): New function, with a different signature from the
62012         old xstrtol_error, so that the caller need not worry about passing
62013         in an exit status, or about storage management of the option argument.
62014         (xstrtol_error): Now a static function.  Redo signature to
62015         implement xstrtol_fatal.  Output the correct number of hyphens in
62016         front of the option so that the caller need not worry about
62017         storage management.
62018         (N_): New macro.
62019         (_): Remove; not used now.
62020         * modules/xstrtol: Depend on getopt.
62021         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
62022         of old STRTOL_FATAL_ERROR macro.
62023         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
62024         of test program.
62025         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
62026         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
62027
62028 2007-08-08  Eric Blake  <ebb9@byu.net>
62029
62030         * lib/xstrtol-error.c: Add missing include.
62031
62032         Move xstrtol messages into gnulib domain, when --pobase is used.
62033         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
62034         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
62035         * modules/xstrtol (Files): Distribute new file.
62036         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
62037         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
62038         * tests/test-xstrtol.c: ...into new file.
62039         * tests/test-xstrtoul.c: Also test xstrtoul.
62040         * tests/test-xstrtoimax.c: Also test xstrtoimax.
62041         * tests/test-xstrtoumax.c: Also test xstrtoumax.
62042         * tests/test-xstrtol.sh: Drive the tests.
62043         * tests/test-xstrtoimax.sh: Likewise.
62044         * tests/test-xstrtoumax.sh: Likewise.
62045         * modules/xstrtol-tests: New module.
62046         * modules/xstrtoimax-tests: Likewise.
62047         * modules/xstrtoumax-tests: Likewise.
62048
62049 2007-08-08  Jim Meyering  <jim@meyering.net>
62050
62051         New function: mfile_name_concat.
62052         * lib/filenamecat.c (mfile_name_concat): New function, just like
62053         file_name_concat, but return NULL upon failure rather than exiting
62054         with a diagnostic.
62055         * lib/filenamecat.h: Declare it.
62056
62057 2007-08-07  Bruno Haible  <bruno@clisp.org>
62058
62059         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
62060         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
62061         warning from gcc.
62062         Reported by Eric Blake.
62063
62064 2007-08-07  Simon Josefsson  <simon@josefsson.org>
62065
62066         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
62067         * modules/crypto/arcfour (License): Likewise.
62068         * modules/crypto/des-tests (License): Likewise.
62069         * modules/crypto/gc-arctwo-tests (License): Likewise.
62070         * modules/crypto/gc-des-tests (License): Likewise.
62071         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
62072         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
62073         * modules/crypto/gc-md2-tests (License): Likewise.
62074         * modules/crypto/gc-md4-tests (License): Likewise.
62075         * modules/crypto/gc-md5-tests (License): Likewise.
62076         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
62077         * modules/crypto/gc-rijndael-tests (License): Likewise.
62078         * modules/crypto/gc-sha1-tests (License): Likewise.
62079         * modules/crypto/gc-tests (License): Likewise.
62080         * modules/crypto/hmac-md5 (License): Likewise.
62081         * modules/crypto/hmac-sha1 (License): Likewise.
62082         * modules/crypto/md2-tests (License): Likewise.
62083         * modules/crypto/md4-tests (License): Likewise.
62084         * modules/crypto/md5 (License): Likewise.
62085         * modules/crypto/rijndael (License): Likewise.
62086         * modules/crypto/sha1 (License): Likewise.
62087         * modules/memxor (License): Likewise.
62088
62089 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
62090         and Bruno Haible  <bruno@clisp.org>
62091
62092         * NEWS: Describe interface changes to human, xstrtol.
62093         * lib/human.h: Include <xstrtol.h>.
62094         (human_options): Return enum strtol_error, not int.  Remove
62095         bool arg; take int * instead.
62096         * lib/human.c: Don't include "gettext.h".
62097         (_): Remove; no longer used.
62098         Don't include <xstrtol.h>, since human.h does it.
62099         (human_options): Adjust to abovementioned interface changes.
62100         Do not report error to stderr; that's now the caller's
62101         responsibility.
62102         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
62103         interface change.
62104         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
62105         Str, Argument_type_string.  All uses changed.  Put " argument"
62106         in diagnostics to make them clearer.  Change wording of suffix
62107         message for clarity.
62108         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
62109         Argument_type_string.
62110         (STRTOL_FATAL_WARN): Remove; no longer used.
62111         * modules/human (Depends-on): Remove gettext-h.
62112
62113 2007-08-06  Simon Josefsson  <simon@josefsson.org>
62114
62115         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
62116
62117 2007-07-31  Bruno Haible  <bruno@clisp.org>
62118
62119         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
62120         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
62121         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
62122
62123 2007-07-31  Bruno Haible  <bruno@clisp.org>
62124
62125         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
62126         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
62127
62128 2007-07-30  Bruno Haible  <bruno@clisp.org>
62129
62130         * modules/base64 (License): Use the synonymous term "LGPLv2+".
62131         * modules/c-ctype (License): Likewise.
62132         * modules/c-strcase (License): Likewise.
62133         * modules/check-version (License): Likewise.
62134         * modules/iconv (License): Likewise.
62135         * modules/iconv_open (License): Likewise.
62136         * modules/read-file (License): Likewise.
62137         * modules/striconv (License): Likewise.
62138         * modules/strverscmp (License): Likewise.
62139         * modules/vasprintf (License): Likewise.
62140         * modules/crypto/des (License): Likewise.
62141         * modules/crypto/gc (License): Likewise.
62142         * modules/crypto/gc-arcfour (License): Likewise.
62143         * modules/crypto/gc-arctwo (License): Likewise.
62144         * modules/crypto/gc-des (License): Likewise.
62145         * modules/crypto/gc-hmac-md5 (License): Likewise.
62146         * modules/crypto/gc-hmac-sha1 (License): Likewise.
62147         * modules/crypto/gc-md2 (License): Likewise.
62148         * modules/crypto/gc-md4 (License): Likewise.
62149         * modules/crypto/gc-md5 (License): Likewise.
62150         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
62151         * modules/crypto/gc-random (License): Likewise.
62152         * modules/crypto/gc-rijndael (License): Likewise.
62153         * modules/crypto/gc-sha1 (License): Likewise.
62154         * modules/crypto/md2 (License): Likewise.
62155         * modules/crypto/md4 (License): Likewise.
62156
62157 2007-07-30  Jim Meyering  <jim@meyering.net>
62158
62159         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
62160         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
62161         it has valid stat data.  This bug would cause du not to count the
62162         sizes of inaccessible directories.
62163         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
62164         in <http://bugzilla.redhat.com/250077>.
62165
62166 2007-07-25  Peter O'Gorman  <peter@pogma.com>
62167             Bruno Haible  <bruno@clisp.org>
62168
62169         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
62170         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
62171         #include_next, gives a diagnostic about it, but reports no error in
62172         the exit code.
62173         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
62174
62175 2007-07-24  Ben Pfaff  <blp@gnu.org>
62176
62177         Improve name: "count-one-bits" is better than "popcount".
62178         * MODULES.html.sh: Update name.
62179         * lib/popcount.h: Renamed lib/count-one-bits.h.
62180         (popcount): Renamed count_one_bits.
62181         (popcountl): Renamed count_one_bits_l.
62182         (popcountll): Renamed count_one_bits_ll.
62183         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
62184         * modules/popcount: Renamed module/count-one-bits.
62185         * modules/popcount-tests: Renamed module/count-one-bits-tests.
62186         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
62187
62188 2007-07-23  Ben Pfaff  <blp@gnu.org>
62189
62190         * lib/popcount.h (popcount32): Reduce size of constants, to allow
62191         better code generation, and add U to large constants to avoid
62192         warnings, in non-GCC case.
62193         Suggested by Bruno Haible.
62194
62195 2007-07-23  Ben Pfaff  <blp@gnu.org>
62196
62197         * lib/popcount.h: Use verify_true instead of if...abort.
62198         * modules/popcount: Depend on verify module.
62199         Suggested by Jim Meyering.
62200
62201 2007-07-23  Bruno Haible  <bruno@clisp.org>
62202
62203         * gnulib-tool (func_import): Create a .cvsignore file also when the
62204         directory is not yet in CVS but the toplevel directory is. When
62205         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
62206         Reported by Karl Berry.
62207
62208 2007-07-22  Ben Pfaff  <blp@gnu.org>
62209
62210         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
62211         case.
62212         Suggested by Eric Blake.
62213
62214 2007-07-22  Ben Pfaff  <blp@gnu.org>
62215
62216         New module: popcount.
62217         * MODULES.html.sh: Add popcount.
62218         * modules/popcount: New file.
62219         * modules/popcount-tests: New file.
62220         * tests/test-popcount.c: New file.
62221         * lib/popcount.h: New file.
62222         * m4/popcount.m4: New file.
62223
62224 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62225
62226         * build-aux/announce-gen: Update to GPLv3.
62227
62228         * build-aux/config.guess: Update from config.
62229
62230 2007-07-21  Bruno Haible  <bruno@clisp.org>
62231
62232         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
62233         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
62234
62235 2007-07-20  Jim Meyering  <jim@meyering.net>
62236
62237         * check-module: Diagnose a self-dependency.
62238
62239 2007-07-19  Bruno Haible  <bruno@clisp.org>
62240
62241         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62242         empty.
62243         Reported by Eric Blake.
62244
62245 2007-07-18  Bruno Haible  <bruno@clisp.org>
62246
62247         * gnulib-tool: New options --po-base, --po-domain.
62248         (func_usage): Document them.
62249         (pobase, po_domain): New variables.
62250         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62251         DEFAULT_TEXT_DOMAIN.
62252         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62253         (func_import): Consider pobase and po_domain. Create a po/ directory.
62254         (func_create_testdir): Set pobase and po_domain to empty.
62255         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62256         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62257
62258 2007-07-18  Bruno Haible  <bruno@clisp.org>
62259
62260         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62261         EXTRA_DIST augmentation for files in build-aux/.
62262
62263 2007-07-16  Bruno Haible  <bruno@clisp.org>
62264
62265         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62266         * modules/getdelim (License): Likewise.
62267
62268 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62269
62270         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62271         * modules/d-type (License): Likewise.
62272         * modules/extensions (License): Likewise.
62273         * modules/fnmatch (License): Likewise.
62274         * modules/fseeko (License): Likewise.
62275         * modules/getaddrinfo (License): Likewise.
62276         * modules/getline (License): Likewise.
62277         * modules/getlogin_r (License): Likewise.
62278         * modules/getpass (License): Likewise.
62279         * modules/gettimeofday (License): Likewise.
62280         * modules/glob (License): Likewise.
62281         * modules/inet_ntop (License): Likewise.
62282         * modules/malloc (License): Likewise.
62283         * modules/malloca (License): Likewise.
62284         * modules/memmem (License): Likewise.
62285         * modules/mempcpy (License): Likewise.
62286         * modules/memset (License): Likewise.
62287         * modules/minmax (License): Likewise.
62288         * modules/mktime (License): Likewise.
62289         * modules/netinet_in (License): Likewise.
62290         * modules/pathmax (License): Likewise.
62291         * modules/poll (License): Likewise.
62292         * modules/regex (License): Likewise.
62293         * modules/snprintf (License): Likewise.
62294         * modules/stdbool (License): Likewise.
62295         * modules/stdint (License): Likewise.
62296         * modules/stdio (License): Likewise.
62297         * modules/strcase (License): Likewise.
62298         * modules/strcasestr (License): Likewise.
62299         * modules/strdup (License): Likewise.
62300         * modules/string (License): Likewise.
62301         * modules/strndup (License): Likewise.
62302         * modules/strnlen (License): Likewise.
62303         * modules/strpbrk (License): Likewise.
62304         * modules/strptime (License): Likewise.
62305         * modules/strsep (License): Likewise.
62306         * modules/sys_select (License): Likewise.
62307         * modules/sys_socket (License): Likewise.
62308         * modules/sys_stat (License): Likewise.
62309         * modules/sys_time (License): Likewise.
62310         * modules/time (License): Likewise.
62311         * modules/time_r (License): Likewise.
62312         * modules/timegm (License): Likewise.
62313         * modules/unistd (License): Likewise.
62314         * modules/vsnprintf (License): Likewise.
62315         * modules/wctype (License): Likewise.
62316
62317 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62318
62319         * modules/argz (License): LGPLv2+.
62320
62321 2007-07-15  Karl Berry  <karl@gnu.org>
62322
62323         * doc/gnulib.texi: revise node structure per new fdl.texi.
62324
62325 2007-07-14  Bruno Haible  <bruno@clisp.org>
62326
62327         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62328         the output file.
62329         * lib/uniname/uninames.h: Regenerated.
62330
62331 2007-07-14  Karl Berry  <karl@gnu.org>
62332
62333         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
62334         omitting sectioning and index commands.
62335
62336 2007-07-13  Bruno Haible  <bruno@clisp.org>
62337
62338         New gnulib-tool option --more-symlinks.
62339         * gnulib-tool (func_usage): Document --more-symlinks.
62340         (do_copyrights): New variable.
62341         Recognize option --more-symlinks.
62342         (func_import): Don't add a copyright notice transform to
62343         sed_transform_lib_file if do_copyrights is empty.
62344
62345 2007-07-13  Bruno Haible  <bruno@clisp.org>
62346
62347         * lib/vasnprintf.c (decimal_point_char): Define also if
62348         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
62349         && !NEED_PRINTF_DIRECTIVE_A.
62350         Reported by Clemens Koller <clemens.koller@anagramm.de> via
62351         Gary V. Vaughan <gary@gnu.org>.
62352
62353 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62354
62355         * lib/inttypes_.h: Undo previous change, since it was fixed
62356         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62357
62358 2007-07-13  Bruno Haible  <bruno@clisp.org>
62359
62360         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62361         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62362
62363 2007-07-13  Jim Meyering  <jim@meyering.net>
62364
62365         df: Don't fail for Tru64's "file-on-file mount".
62366         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62367         so we fall through and use statfs instead.  Details here:
62368         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62369         Reported by Albert Chin.
62370
62371 2007-07-13  Bruno Haible  <bruno@clisp.org>
62372
62373         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62374         * modules/configmake (License): Likewise.
62375         * modules/gettext (License): Likewise.
62376         * modules/gettext-h (License): Likewise.
62377         * modules/include_next (License): Likewise.
62378         * modules/link-warning (License): Likewise.
62379         * modules/localcharset (License): Likewise.
62380         * modules/localename (License): Likewise.
62381         * modules/lock (License): Likewise.
62382         * modules/relocatable-lib-lgpl (License): Likewise.
62383         * modules/size_max (License): Likewise.
62384         * modules/vasnprintf (License): Likewise.
62385         * modules/wchar (License): Likewise.
62386         * modules/xsize (License): Likewise.
62387
62388 2007-07-13  Bruno Haible  <bruno@clisp.org>
62389
62390         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62391         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62392
62393 2007-07-12  Bruno Haible  <bruno@clisp.org>
62394
62395         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62396         in the modules files.
62397
62398 2007-07-11  Karl Berry  <karl@gnu.org>
62399
62400         * MODULES.html.sh (func_module): use
62401          sed -e '\|^'"${includefile}"'$|d'
62402          instead of /.../d, to avoid errors on $includefile's containing /.
62403
62404 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62405
62406         * gnulib-tool (func_import): Avoid duplication of --avoid
62407         statements
62408         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62409         names to `_' in variable names.
62410
62411 2007-07-10  Eric Blake  <ebb9@byu.net>
62412
62413         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62414         * NEWS: Document this change.
62415
62416 2007-07-08  Bruno Haible  <bruno@clisp.org>
62417
62418         Update to Unicode 5.0.
62419         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62420         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62421         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62422         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62423         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62424         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62425         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62426         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62427         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62428         U+10A3F, U+1D242..U+1D244.
62429         (nonspacing_table_ind): Update.
62430         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62431         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62432
62433 2007-07-08  Bruno Haible  <bruno@clisp.org>
62434
62435         Update to Unicode 5.0.
62436         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62437         code transform. Extend the name index field of unicode_name_to_code and
62438         unicode_code_to_name from 16 to 24 bits.
62439         * lib/uniname/uniname.c (unicode_character_name,
62440         unicode_name_character): Add the range 0x12xxx to the code transform.
62441         * lib/uniname/uninames.h: Regenerated.
62442         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62443
62444 2007-07-07  Bruno Haible  <bruno@clisp.org>
62445
62446         * modules/wcwidth-tests: New file.
62447         * tests/test-wcwidth.c: New file.
62448
62449         Work around MacOS X wcwidth() bug.
62450         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62451         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62452         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62453         original wcwidth in non-UTF-8 locales.
62454         * modules/wcwidth (Depends-on): Add localcharset, streq,
62455         uniwidth/width.
62456         * doc/functions/wcwidth.texi: Update.
62457
62458 2007-07-07  Bruno Haible  <bruno@clisp.org>
62459
62460         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62461         (wcwidth): New declaration.
62462         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62463         macros.
62464         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62465         here. Prepare for creating <wchar.h> unconditionally.
62466         * modules/wchar (Depends-on): Add link-warning.
62467         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62468         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62469         * lib/wcwidth.h: Remove file.
62470         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62471         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62472         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62473         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62474         (Include): Replace wcwidth.h with <wchar.h>.
62475         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62476         * lib/mbchar.h: Don't include wcwidth.h.
62477         * lib/mbswidth.c: Likewise.
62478         * NEWS: Mention the change.
62479
62480 2007-07-07  Bruno Haible  <bruno@clisp.org>
62481
62482         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62483         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62484         definition with an external declaration.
62485         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62486         defined as a function. Remove AC_C_INLINE requirement.
62487         * modules/wcwidth (Files): Add lib/wcwidth.c.
62488         (Makefile.am): Remove redundant statement.
62489
62490 2007-07-07  Bruno Haible  <bruno@clisp.org>
62491
62492         * MODULES.html.sh (Unicode string functions): Add the new modules.
62493
62494         * tests/uniwidth/test-u32-strwidth.c: New file.
62495         * modules/uniwidth/u32-strwidth-tests: New file.
62496
62497         * lib/uniwidth/u32-strwidth.c: New file.
62498         * modules/uniwidth/u32-strwidth: New file.
62499
62500         * tests/uniwidth/test-u16-strwidth.c: New file.
62501         * modules/uniwidth/u16-strwidth-tests: New file.
62502
62503         * lib/uniwidth/u16-strwidth.c: New file.
62504         * modules/uniwidth/u16-strwidth: New file.
62505
62506         * tests/uniwidth/test-u8-strwidth.c: New file.
62507         * modules/uniwidth/u8-strwidth-tests: New file.
62508
62509         * lib/uniwidth/u8-strwidth.c: New file.
62510         * modules/uniwidth/u8-strwidth: New file.
62511
62512         * tests/uniwidth/test-u32-width.c: New file.
62513         * modules/uniwidth/u32-width-tests: New file.
62514
62515         * lib/uniwidth/u32-width.c: New file.
62516         * modules/uniwidth/u32-width: New file.
62517
62518         * tests/uniwidth/test-u16-width.c: New file.
62519         * modules/uniwidth/u16-width-tests: New file.
62520
62521         * lib/uniwidth/u16-width.c: New file.
62522         * modules/uniwidth/u16-width: New file.
62523
62524         * tests/uniwidth/test-u8-width.c: New file.
62525         * modules/uniwidth/u8-width-tests: New file.
62526
62527         * lib/uniwidth/u8-width.c: New file.
62528         * modules/uniwidth/u8-width: New file.
62529
62530         * tests/uniwidth/test-uc_width.c: New file.
62531         * modules/uniwidth/width-tests: New file.
62532
62533         * lib/uniwidth/width.c: New file, from GNU libiconv.
62534         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62535         * modules/uniwidth/width: New file.
62536
62537         * lib/uniwidth.h: New file, from GNU libiconv.
62538         * modules/uniwidth/base: New file.
62539
62540 2007-07-07  Bruno Haible  <bruno@clisp.org>
62541
62542         * lib/uniname.h: New file, from GNU gettext.
62543         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62544         * lib/uniname/uninames.h: New file, from GNU gettext.
62545         * lib/uniname/uniname.c: New file, from GNU gettext.
62546         * tests/uniname/test-uninames.sh: New file.
62547         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62548         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62549         * modules/uniname/base: New file.
62550         * modules/uniname/uniname: New file.
62551         * modules/uniname/uniname-tests: New file.
62552         * MODULES.html.sh (Unicode string functions): Add the new modules.
62553
62554 2007-07-06  Bruno Haible  <bruno@clisp.org>
62555
62556         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62557
62558 2007-07-06  Bruno Haible  <bruno@clisp.org>
62559
62560         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62561         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62562         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62563         include <sys/time.h>.
62564         Reported by Eric Blake.
62565
62566 2007-07-06  Eric Blake  <ebb9@byu.net>
62567
62568         Fix testing canonicalize on cygwin.
62569         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62570         Revert patch from 2007-06-19.
62571         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62572         canonicalize module is also in use.
62573         * tests/test-canonicalize.c: New file.
62574         * tests/test-canonicalize.sh: Likewise.
62575         * modules/canonicalize-tests: Likewise.
62576
62577 2007-07-06  Jim Meyering  <jim@meyering.net>
62578
62579         * lib/getugroups.c (getugroups): Detect getgrent failure.
62580         Adjust comment to reflect reality: this function may return -1.
62581
62582 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62583
62584         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62585         the new TP address.
62586         (usage): Fix typo
62587         (gnulib_mk): New variable.
62588
62589 2007-07-05  Jim Meyering  <jim@meyering.net>
62590
62591         Don't let endgrent clobber errno, no matter how improbable.
62592         * lib/getugroups.c (getugroups): Save and restore errno around
62593         endgrent call.
62594
62595         Close the group DB even when failing with 2^31 or more members.
62596         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62597
62598 2007-07-04  Jim Meyering  <jim@meyering.net>
62599
62600         * lib/getugroups.h: New file.
62601         * lib/getugroups.c: Include "getugroups.h".
62602         Remove uses of "register" keyword.
62603         Move local variable, "cp", down into scope where used.
62604         Give "username" parameter the "const" attribute.
62605         * modules/getugroups (Files): Add lib/getugroups.h
62606
62607 2007-07-04  Karl Berry  <karl@gnu.org>
62608
62609         * MODULES.html.sh (func_all_modules): Complete rename of
62610         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62611
62612 2007-07-02  Bruno Haible  <bruno@clisp.org>
62613
62614         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62615         mode, when inttypes.h comes from gnulib.
62616         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62617
62618 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62619
62620         * NEWS: Mention lgpl module name change.
62621
62622         * modules/lgpl-2.1: Renamed from lgpl.
62623
62624         * NEWS: Mention gpl module name change.
62625
62626         * modules/gpl-3.0: New file, based on gpl-2.0.
62627
62628         * modules/gpl-2.0: Renamed from gpl.
62629
62630         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62631         doc/gpl-2.0.texi.
62632
62633 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62634
62635         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62636         #define __STDC_LIMIT_MACROS temporarily while including
62637         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62638         Problem reported by Joel E. Denny in
62639         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62640
62641 2007-07-01  Bruno Haible  <bruno@clisp.org>
62642
62643         * lib/unistdio.h: New file.
62644         * lib/unistdio/u-asnprintf.h: New file.
62645         * lib/unistdio/u-asprintf.h: New file.
62646         * lib/unistdio/u-printf-args.c: New file.
62647         * lib/unistdio/u-printf-args.h: New file.
62648         * lib/unistdio/u-printf-parse.h: New file.
62649         * lib/unistdio/u-snprintf.h: New file.
62650         * lib/unistdio/u-sprintf.h: New file.
62651         * lib/unistdio/u-vasprintf.h: New file.
62652         * lib/unistdio/u-vsnprintf.h: New file.
62653         * lib/unistdio/u-vsprintf.h: New file.
62654         * lib/unistdio/ulc-asnprintf.c: New file.
62655         * lib/unistdio/ulc-asprintf.c: New file.
62656         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62657         * lib/unistdio/ulc-printf-parse.c: New file.
62658         * lib/unistdio/ulc-snprintf.c: New file.
62659         * lib/unistdio/ulc-sprintf.c: New file.
62660         * lib/unistdio/ulc-vasnprintf.c: New file.
62661         * lib/unistdio/ulc-vasprintf.c: New file.
62662         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62663         * lib/unistdio/ulc-vsnprintf.c: New file.
62664         * lib/unistdio/ulc-vsprintf.c: New file.
62665         * lib/unistdio/u8-asnprintf.c: New file.
62666         * lib/unistdio/u8-asprintf.c: New file.
62667         * lib/unistdio/u8-printf-parse.c: New file.
62668         * lib/unistdio/u8-snprintf.c: New file.
62669         * lib/unistdio/u8-sprintf.c: New file.
62670         * lib/unistdio/u8-vasnprintf.c: New file.
62671         * lib/unistdio/u8-vasprintf.c: New file.
62672         * lib/unistdio/u8-vsnprintf.c: New file.
62673         * lib/unistdio/u8-vsprintf.c: New file.
62674         * lib/unistdio/u8-u8-asnprintf.c: New file.
62675         * lib/unistdio/u8-u8-asprintf.c: New file.
62676         * lib/unistdio/u8-u8-snprintf.c: New file.
62677         * lib/unistdio/u8-u8-sprintf.c: New file.
62678         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62679         * lib/unistdio/u8-u8-vasprintf.c: New file.
62680         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62681         * lib/unistdio/u8-u8-vsprintf.c: New file.
62682         * lib/unistdio/u16-asnprintf.c: New file.
62683         * lib/unistdio/u16-asprintf.c: New file.
62684         * lib/unistdio/u16-printf-parse.c: New file.
62685         * lib/unistdio/u16-snprintf.c: New file.
62686         * lib/unistdio/u16-sprintf.c: New file.
62687         * lib/unistdio/u16-vasnprintf.c: New file.
62688         * lib/unistdio/u16-vasprintf.c: New file.
62689         * lib/unistdio/u16-vsnprintf.c: New file.
62690         * lib/unistdio/u16-vsprintf.c: New file.
62691         * lib/unistdio/u16-u16-asnprintf.c: New file.
62692         * lib/unistdio/u16-u16-asprintf.c: New file.
62693         * lib/unistdio/u16-u16-snprintf.c: New file.
62694         * lib/unistdio/u16-u16-sprintf.c: New file.
62695         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62696         * lib/unistdio/u16-u16-vasprintf.c: New file.
62697         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62698         * lib/unistdio/u16-u16-vsprintf.c: New file.
62699         * lib/unistdio/u32-asnprintf.c: New file.
62700         * lib/unistdio/u32-asprintf.c: New file.
62701         * lib/unistdio/u32-printf-parse.c: New file.
62702         * lib/unistdio/u32-snprintf.c: New file.
62703         * lib/unistdio/u32-sprintf.c: New file.
62704         * lib/unistdio/u32-vasnprintf.c: New file.
62705         * lib/unistdio/u32-vasprintf.c: New file.
62706         * lib/unistdio/u32-vsnprintf.c: New file.
62707         * lib/unistdio/u32-vsprintf.c: New file.
62708         * lib/unistdio/u32-u32-asnprintf.c: New file.
62709         * lib/unistdio/u32-u32-asprintf.c: New file.
62710         * lib/unistdio/u32-u32-snprintf.c: New file.
62711         * lib/unistdio/u32-u32-sprintf.c: New file.
62712         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62713         * lib/unistdio/u32-u32-vasprintf.c: New file.
62714         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62715         * lib/unistdio/u32-u32-vsprintf.c: New file.
62716         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62717         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62718         * tests/unistdio/test-ulc-printf1.h: New file.
62719         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62720         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62721         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62722         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62723         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62724         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62725         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62726         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62727         * tests/unistdio/test-u8-asnprintf1.c: New file.
62728         * tests/unistdio/test-u8-asnprintf1.h: New file.
62729         * tests/unistdio/test-u8-printf1.h: New file.
62730         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62731         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62732         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62733         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62734         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62735         * tests/unistdio/test-u8-vasprintf1.c: New file.
62736         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62737         * tests/unistdio/test-u8-vsprintf1.c: New file.
62738         * tests/unistdio/test-u16-asnprintf1.c: New file.
62739         * tests/unistdio/test-u16-asnprintf1.h: New file.
62740         * tests/unistdio/test-u16-printf1.h: New file.
62741         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62742         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62743         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62744         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62745         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62746         * tests/unistdio/test-u16-vasprintf1.c: New file.
62747         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62748         * tests/unistdio/test-u16-vsprintf1.c: New file.
62749         * tests/unistdio/test-u32-asnprintf1.c: New file.
62750         * tests/unistdio/test-u32-asnprintf1.h: New file.
62751         * tests/unistdio/test-u32-printf1.h: New file.
62752         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62753         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62754         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62755         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62756         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62757         * tests/unistdio/test-u32-vasprintf1.c: New file.
62758         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62759         * tests/unistdio/test-u32-vsprintf1.c: New file.
62760         * modules/unistdio/base: New file.
62761         * modules/unistdio/u-printf-args: New file.
62762         * modules/unistdio/ulc-asnprintf: New file.
62763         * modules/unistdio/ulc-asprintf: New file.
62764         * modules/unistdio/ulc-fprintf: New file.
62765         * modules/unistdio/ulc-printf-parse: New file.
62766         * modules/unistdio/ulc-snprintf: New file.
62767         * modules/unistdio/ulc-sprintf: New file.
62768         * modules/unistdio/ulc-vasnprintf: New file.
62769         * modules/unistdio/ulc-vasprintf: New file.
62770         * modules/unistdio/ulc-vfprintf: New file.
62771         * modules/unistdio/ulc-vsnprintf: New file.
62772         * modules/unistdio/ulc-vsprintf: New file.
62773         * modules/unistdio/u8-asnprintf: New file.
62774         * modules/unistdio/u8-asprintf: New file.
62775         * modules/unistdio/u8-printf-parse: New file.
62776         * modules/unistdio/u8-snprintf: New file.
62777         * modules/unistdio/u8-sprintf: New file.
62778         * modules/unistdio/u8-vasnprintf: New file.
62779         * modules/unistdio/u8-vasprintf: New file.
62780         * modules/unistdio/u8-vsnprintf: New file.
62781         * modules/unistdio/u8-vsprintf: New file.
62782         * modules/unistdio/u8-u8-asnprintf: New file.
62783         * modules/unistdio/u8-u8-asprintf: New file.
62784         * modules/unistdio/u8-u8-snprintf: New file.
62785         * modules/unistdio/u8-u8-sprintf: New file.
62786         * modules/unistdio/u8-u8-vasnprintf: New file.
62787         * modules/unistdio/u8-u8-vasprintf: New file.
62788         * modules/unistdio/u8-u8-vsnprintf: New file.
62789         * modules/unistdio/u8-u8-vsprintf: New file.
62790         * modules/unistdio/u16-asnprintf: New file.
62791         * modules/unistdio/u16-asprintf: New file.
62792         * modules/unistdio/u16-printf-parse: New file.
62793         * modules/unistdio/u16-snprintf: New file.
62794         * modules/unistdio/u16-sprintf: New file.
62795         * modules/unistdio/u16-vasnprintf: New file.
62796         * modules/unistdio/u16-vasprintf: New file.
62797         * modules/unistdio/u16-vsnprintf: New file.
62798         * modules/unistdio/u16-vsprintf: New file.
62799         * modules/unistdio/u16-u16-asnprintf: New file.
62800         * modules/unistdio/u16-u16-asprintf: New file.
62801         * modules/unistdio/u16-u16-snprintf: New file.
62802         * modules/unistdio/u16-u16-sprintf: New file.
62803         * modules/unistdio/u16-u16-vasnprintf: New file.
62804         * modules/unistdio/u16-u16-vasprintf: New file.
62805         * modules/unistdio/u16-u16-vsnprintf: New file.
62806         * modules/unistdio/u16-u16-vsprintf: New file.
62807         * modules/unistdio/u32-asnprintf: New file.
62808         * modules/unistdio/u32-asprintf: New file.
62809         * modules/unistdio/u32-printf-parse: New file.
62810         * modules/unistdio/u32-snprintf: New file.
62811         * modules/unistdio/u32-sprintf: New file.
62812         * modules/unistdio/u32-vasnprintf: New file.
62813         * modules/unistdio/u32-vasprintf: New file.
62814         * modules/unistdio/u32-vsnprintf: New file.
62815         * modules/unistdio/u32-vsprintf: New file.
62816         * modules/unistdio/u32-u32-asnprintf: New file.
62817         * modules/unistdio/u32-u32-asprintf: New file.
62818         * modules/unistdio/u32-u32-snprintf: New file.
62819         * modules/unistdio/u32-u32-sprintf: New file.
62820         * modules/unistdio/u32-u32-vasnprintf: New file.
62821         * modules/unistdio/u32-u32-vasprintf: New file.
62822         * modules/unistdio/u32-u32-vsnprintf: New file.
62823         * modules/unistdio/u32-u32-vsprintf: New file.
62824         * modules/unistdio/ulc-asnprintf-tests: New file.
62825         * modules/unistdio/ulc-vasnprintf-tests: New file.
62826         * modules/unistdio/ulc-vasprintf-tests: New file.
62827         * modules/unistdio/ulc-vsnprintf-tests: New file.
62828         * modules/unistdio/ulc-vsprintf-tests: New file.
62829         * modules/unistdio/u8-asnprintf-tests: New file.
62830         * modules/unistdio/u8-vasnprintf-tests: New file.
62831         * modules/unistdio/u8-vasprintf-tests: New file.
62832         * modules/unistdio/u8-vsnprintf-tests: New file.
62833         * modules/unistdio/u8-vsprintf-tests: New file.
62834         * modules/unistdio/u16-asnprintf-tests: New file.
62835         * modules/unistdio/u16-vasnprintf-tests: New file.
62836         * modules/unistdio/u16-vasprintf-tests: New file.
62837         * modules/unistdio/u16-vsnprintf-tests: New file.
62838         * modules/unistdio/u16-vsprintf-tests: New file.
62839         * modules/unistdio/u32-asnprintf-tests: New file.
62840         * modules/unistdio/u32-vasnprintf-tests: New file.
62841         * modules/unistdio/u32-vasprintf-tests: New file.
62842         * modules/unistdio/u32-vsnprintf-tests: New file.
62843         * modules/unistdio/u32-vsprintf-tests: New file.
62844         * MODULES.html.sh (Unicode string functions): Add the new modules.
62845
62846 2007-07-01  Bruno Haible  <bruno@clisp.org>
62847
62848         * lib/sprintf.c (sprintf): Limit the available length estimation,
62849         to avoid address wraparound.
62850         * lib/vsprintf.c (vsprintf): Likewise.
62851         * modules/sprintf-posix (Dependencies): Add stdint.
62852         * modules/vsprintf-posix (Dependencies): Likewise.
62853
62854 2007-07-01  Bruno Haible  <bruno@clisp.org>
62855
62856         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62857         Windows PATH as well. Conservative double-quoting. Comments.
62858
62859 2007-07-01  Bruno Haible  <bruno@clisp.org>
62860             Eric Blake  <ebb9@byu.net>
62861             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62862
62863         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62864         empty components in $PATH, denoting '.'.
62865
62866 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62867
62868         * gnulib-tool: Fix indentation.
62869         (func_create_megatestdir): Likewise.
62870         Report by Bruno Haible.
62871
62872 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62873
62874         Sync from Automake.
62875         * build-aux/gnupload: Fix shell portability issues with for loops.
62876         Report by Karl Berry.
62877
62878 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62879
62880         * build-aux/maint.mk (POURL): Use translationproject.org.
62881
62882 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62883             Bruno Haible  <bruno@clisp.org>
62884
62885         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62886         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62887         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62888         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62889         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62890
62891 2007-06-27  Bruno Haible  <bruno@clisp.org>
62892
62893         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62894         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62895
62896 2007-06-26  Karl Berry  <karl@gnu.org>
62897
62898         * MODULES.html.sh: remove xreadlink-with-size.
62899
62900 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62901
62902         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62903         method that I hope also handles the double-include problem noted
62904         by Bruno Haible in
62905         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62906
62907 2007-06-23  Bruno Haible  <bruno@clisp.org>
62908
62909         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62910         Don't let the 'mostlyclean' target fail if the last subdirectory could
62911         not be removed.
62912         Reported by Karl Berry.
62913
62914 2007-06-23  Bruno Haible  <bruno@clisp.org>
62915
62916         * gnulib-tool (echo): Add a speedier workaround for ksh.
62917         * tests/test-echo.sh: Likewise.
62918
62919 2007-06-23  Bruno Haible  <bruno@clisp.org>
62920
62921         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62922         * tests/test-echo.sh: Likewise.
62923
62924 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62925
62926         * gnulib-tool (IFS): Initialize early, so we don't set it to
62927         empty later.
62928         (self_abspathname): Rewrite algorithm to set it, reindent.
62929         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62930         (func_create_megatestdir): Merge some sed scripts.
62931
62932 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62933
62934         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62935         exposed by Sun Studio 11 cc on Solaris 8.
62936
62937 2007-06-22  Bruno Haible  <bruno@clisp.org>
62938
62939         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62940         backslashes.
62941         * tests/test-echo.sh: New file.
62942
62943 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62944
62945         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62946         simplify `sed_replace_build_aux' scripts, they are portable but
62947         echoing them with `echo' is not.
62948         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62949
62950 2007-06-21  Karl Berry  <karl@gnu.org>
62951
62952         * config/srclist.txt: guess we can't handle the licenses via
62953         srclist at the moment.
62954
62955 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62956
62957         * MODULES.html.sh: Add include_next.
62958         * modules/include_next: New file.
62959
62960 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62961
62962         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62963         INCLUDE_NEXT.
62964         (gl_CHECK_NEXT_HEADERS): New macro.
62965         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62966         the obsolescent gl_ABSOLUTE_HEADER.
62967         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62968         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62969         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62970         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62971         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62972         * m4/math_h.m4 (gl_MATH_H): Likewise.
62973         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62974         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62975         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62976         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62977         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62978         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62979         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62980         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62981         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62982         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62983         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62984         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62985         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62986         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62987         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62988         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62989         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62990         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62991         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62992         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62993         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62994         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62995         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62996         * lib/float_.h: Likewise.
62997         * lib/inttypes_.h: Likewise.
62998         * lib/math_.h: Likewise.
62999         * lib/search_.h: Likewise.
63000         * lib/signal_.h: Likewise.
63001         * lib/stdint_.h: Likewise.
63002         * lib/stdio_.h: Likewise.
63003         * lib/stdlib_.h: Likewise.
63004         * lib/string_.h: Likewise.
63005         * lib/sys_stat_.h: Likewise.
63006         * lib/sys_time_.h: Likewise.
63007         * lib/time_.h: Likewise.
63008         * lib/unistd_.h: Likewise.
63009         * lib/wchar_.h: Likewise.
63010         * lib/wctype_.h: Likewise.
63011         * lib/dirent_.h: Likewise.
63012         * lib/iconv_.h: Likewise.
63013         * lib/locale_.h: Likewise.
63014         * lib/netinet_in_.h: Likewise.
63015         * lib/sys_select_.h: Likewise.
63016         * lib/sys_socket_.h: Likewise.
63017         * lib/sysexits_.h: Likewise.
63018         * modules/fcntl (Depends-on): Depend on include_next, not
63019         absolute_header.
63020         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
63021         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
63022         * modules/fchdir: Likewise.
63023         * modules/float: Likewise.
63024         * modules/iconv_open: Likewise.
63025         * modules/inttypes: Likewise.
63026         * modules/locale: Likewise.
63027         * modules/math: Likewise.
63028         * modules/netinet_in: Likewise.
63029         * modules/search: Likewise.
63030         * modules/signal: Likewise.
63031         * modules/stdint: Likewise.
63032         * modules/stdio: Likewise.
63033         * modules/stdlib: Likewise.
63034         * modules/string: Likewise.
63035         * modules/sys_select: Likewise.
63036         * modules/sys_socket: Likewise.
63037         * modules/sys_stat: Likewise.
63038         * modules/sys_time: Likewise.
63039         * modules/sysexits: Likewise.
63040         * modules/time: Likewise.
63041         * modules/unistd: Likewise.
63042         * modules/wchar: Likewise.
63043         * modules/wctype: Likewise.
63044         * modules/sys_stat: Change maintainer to "all".
63045         * modules/unistd: Likewise.
63046
63047 2007-06-20  Karl Berry  <karl@gnu.org>
63048
63049         * config/srclist.txt: track www changes in license files.
63050
63051 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
63052
63053         * build-aux/bootstrap: Remove stray dot.
63054         Make sure build_aux settings are honored when linking
63055         gnulib_extra_files.
63056
63057 2007-06-19  Eric Blake  <ebb9@byu.net>
63058
63059         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63060         Allow compilation on cygwin.
63061
63062 2007-06-19  Jim Meyering  <jim@meyering.net>
63063
63064         xreadlink-with-size: Remove module.  No longer used.
63065         Ex-callers now use xreadlink or mreadlink-with-size.
63066         * modules/xreadlink-with-size: Remove module.
63067         * lib/xreadlink-with-size.c: Remove file.
63068         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
63069         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
63070         just before the function definition *is* accurate.
63071
63072         Eliminate one way canonicalize_filename_mode could exit.
63073         * lib/canonicalize.c (canonicalize_filename_mode):
63074         Use mreadlink_with_size, not xreadlink_with_size.
63075
63076 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
63077
63078         Detect porting problems to FreeBSD/arm, which has time_t wider than
63079         long int.  Original problem reported for GNU diff by Xin Li in
63080         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
63081         * modules/getdate (Depends-on): Add intprops, verify.
63082         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
63083         is an integer type no wider than long int.
63084
63085 2007-06-18  Jim Meyering  <jim@meyering.net>
63086
63087         New module: mreadlink-with-size.
63088         * MODULES.html.sh: Add mreadlink-with-size.
63089         * modules/mreadlink-with-size: New module
63090         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
63091         not xreadlink-with-size.
63092         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
63093
63094 2007-06-16  Bruno Haible  <bruno@clisp.org>
63095
63096         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
63097         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
63098         Reported by Gary V. Vaughan <gary@gnu.org>.
63099
63100 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
63101
63102         Revamp lchown so that it lives in unistd.h where it belongs.
63103         * lib/lchown.h: Remove.
63104         * lib/dirchownmod.c: Don't include lib/lchown.h.
63105         * lib/fchownat.c: Likewise.
63106         * lib/openat.c: Likewise.
63107         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
63108         does not follow symlinks.
63109         (EOPNOTSUPP): Define if not defined.
63110         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
63111         is defined to 0.
63112         (lchown): New decl.
63113         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
63114         Do not check for lchown decl.
63115         Set REPLACE_LCHOWN.
63116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
63117         REPLACE_LCHOWN.
63118         * modules/chown: Make it clear it follows symlinks.
63119         * modules/lchown: Make it clear it doesn't follow symlinks.
63120         (Files): Remove lib/lchown.h
63121         (Depends-on): Add unistd.
63122         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
63123         (Include): Include <unistd.h>, not "lchown.h".
63124         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
63125         REPLACE_LCHOWN.
63126
63127 2007-06-15  Jim Meyering  <jim@meyering.net>
63128
63129         Change license (GPL to LGPL) of fsusage and dependents.
63130         * modules/fsusage (License): Change to LGPL.
63131         * modules/full-read (License): Likewise.
63132         * modules/full-write (License): Likewise.
63133         * modules/safe-read (License): Likewise.
63134         * modules/safe-write (License): Likewise.
63135
63136 2007-06-14  Ben Pfaff  <blp@gnu.org>
63137
63138         Missing part of allocsa -> malloca transition.
63139         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
63140         gl_MALLOCA.
63141
63142 2007-06-12  Bruno Haible  <bruno@clisp.org>
63143
63144         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
63145         to ia64, x86_64, i386.
63146         Reported by Eric Blake.
63147
63148 2007-06-12  Bruno Haible  <bruno@clisp.org>
63149
63150         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
63151         cross-compiling to x86_64.
63152
63153 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
63154
63155         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
63156         glitch reported by Ralf Wildenhues in
63157         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
63158
63159         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
63160         Vin Shelton.
63161
63162 2007-06-11  Bruno Haible  <bruno@clisp.org>
63163
63164         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
63165         replacement string.
63166         Reported by Eric Blake.
63167
63168 2007-06-10  Bruno Haible  <bruno@clisp.org>
63169
63170         Prepare vasnprintf code for use with Unicode strings.
63171         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
63172         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
63173         TYPE_U32_STRING.
63174         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
63175         a_u32_string variants.
63176         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63177         * lib/printf-args.c: Don't include config.h and the specification
63178         header if PRINTF_FETCHARGS is already defined.
63179         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63180         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
63181         TYPE_U16_STRING, TYPE_U32_STRING.
63182         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
63183         u16_directive, u16_directives, u32_directive, u32_directives): New
63184         types.
63185         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
63186         New declarations.
63187         * lib/printf-parse.c: Don't include config.h and the specification
63188         header if PRINTF_PARSE is already defined. Eliminate the set of
63189         parameters for WIDE_CHAR_VERSION; the user of this file must provide
63190         them now. Include c-ctype.h.
63191         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
63192         directive and CHAR_T_ONLY_ASCII.
63193         * lib/vasnprintf.c: Don't include config.h and the specification header
63194         if VASNPRINTF is already defined.
63195         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
63196         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
63197         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
63198         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
63199         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
63200         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
63201         code accordingly.
63202         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
63203         pad_ourselves also in this case, with the 'c' and 's' directives, and
63204         with a different notion of "width".
63205         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
63206
63207 2007-06-10  Bruno Haible  <bruno@clisp.org>
63208
63209         * modules/unistr/u32-mbsnlen: New file.
63210         * lib/unistr/u32-mbsnlen.c: New file.
63211
63212         * modules/unistr/u16-mbsnlen: New file.
63213         * lib/unistr/u16-mbsnlen.c: New file.
63214
63215         * modules/unistr/u8-mbsnlen: New file.
63216         * lib/unistr/u8-mbsnlen.c: New file.
63217
63218         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
63219         declarations.
63220
63221 2007-06-10  Bruno Haible  <bruno@clisp.org>
63222
63223         * lib/string_.h (mbsnlen): New declaration.
63224         * lib/mbsnlen.c: New file.
63225         * m4/mbsnlen.m4: New file.
63226         * modules/mbsnlen: New file.
63227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
63228         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
63229         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
63230
63231 2007-06-10  Bruno Haible  <bruno@clisp.org>
63232
63233         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
63234
63235 2007-06-10  Bruno Haible  <bruno@clisp.org>
63236
63237         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63238         * lib/mbuiter.h: Likewise.
63239
63240 2007-06-10  Bruno Haible  <bruno@clisp.org>
63241
63242         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63243         declaration.
63244
63245 2007-06-10  Karl Berry  <karl@gnu.org>
63246
63247         * config/srclist.txt: remove gettext entries, Bruno prefers
63248         to update individually.
63249
63250 2007-06-10  Bruno Haible  <bruno@clisp.org>
63251
63252         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63253         'maxlen'. Ensure only length + width bytes are allocated, not
63254         length + 1 + width.
63255
63256 2007-06-09  Bruno Haible  <bruno@clisp.org>
63257
63258         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63259         (CHAR_T): Remove macro.
63260         (VASNPRINTF): Update.
63261
63262 2007-06-09  Bruno Haible  <bruno@clisp.org>
63263
63264         * MODULES.html.sh (Unicode string functions): Add the new modules.
63265
63266         * modules/uniconv/u32-conv-to-enc: New file.
63267         * lib/uniconv/u32-conv-to-enc.c: New file.
63268         * modules/uniconv/u32-conv-to-enc-tests: New file.
63269         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63270
63271         * modules/uniconv/u16-conv-to-enc: New file.
63272         * lib/uniconv/u16-conv-to-enc.c: New file.
63273         * lib/uniconv/u-conv-to-enc.h: New file.
63274         * modules/uniconv/u16-conv-to-enc-tests: New file.
63275         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63276
63277         * modules/uniconv/u8-conv-to-enc: New file.
63278         * lib/uniconv/u8-conv-to-enc.c: New file.
63279         * modules/uniconv/u8-conv-to-enc-tests: New file.
63280         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63281
63282         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63283         u32_conv_to_encoding): New declarations.
63284
63285 2007-06-09  Bruno Haible  <bruno@clisp.org>
63286
63287         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63288
63289 2007-06-09  Bruno Haible  <bruno@clisp.org>
63290
63291         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63292         * modules/malloca: Renamed from modules/allocsa, updated.
63293         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63294         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63295         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63296         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63297         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63298         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63299         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63300         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63301         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63302         * modules/c-strcasestr (Depends-on): Update.
63303         * lib/c-strcasestr.c: Update.
63304         * modules/c-strstr (Depends-on): Update.
63305         * lib/c-strstr.c: Update.
63306         * modules/canonicalize-lgpl (Depends-on): Update.
63307         * lib/canonicalize-lgpl.c: Update.
63308         * modules/clean-temp (Depends-on): Update.
63309         * lib/clean-temp.c: Update.
63310         * modules/csharpcomp (Depends-on): Update.
63311         * lib/csharpcomp.c: Update.
63312         * modules/csharpexec (Depends-on): Update.
63313         * lib/csharpexec.c: Update.
63314         * modules/javacomp (Depends-on): Update.
63315         * lib/javacomp.c: Update.
63316         * modules/javaexec (Depends-on): Update.
63317         * lib/javaexec.c: Update.
63318         * modules/mbscasestr (Depends-on): Update.
63319         * lib/mbscasestr.c: Update.
63320         * modules/mbsstr (Depends-on): Update.
63321         * lib/mbsstr.c: Update.
63322         * modules/setenv (Depends-on): Update.
63323         * lib/setenv.c: Update.
63324         * modules/strcasestr (Depends-on): Update.
63325         * lib/strcasestr.c: Update.
63326         * modules/striconveha (Depends-on): Update.
63327         * lib/striconveha.c: Update.
63328         * modules/relocatable-prog-wrapper (Files): Update.
63329         * lib/relocwrapper.c: Update.
63330         * build-aux/install-reloc: Update.
63331         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
63332
63333 2007-06-08  Bruno Haible  <bruno@clisp.org>
63334
63335         Port to uClibc.
63336         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
63337         * lib/fpurge.c (fpurge): Likewise.
63338         * lib/freading.c (freading): Likewise.
63339         * lib/fseeko.c (rpl_fseeko): Likewise.
63340         * lib/fseterr.c (fseterr): Likewise.
63341         * lib/fwriting.c (fwriting): Likewise.
63342         * tests/test-fflush.c (main): Avoid a failure on uClibc.
63343
63344 2007-06-08  Bruno Haible  <bruno@clisp.org>
63345
63346         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
63347         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
63348         * modules/gettext (Files): Add m4/intlmacosx.m4.
63349
63350 2007-06-07  Bruno Haible  <bruno@clisp.org>
63351
63352         * modules/localename-tests: New file.
63353         * tests/test-localename.c: New file.
63354
63355         New module 'localename'.
63356         * lib/localename.h: New file.
63357         * lib/localename.c: New file, from GNU gettext.
63358         * m4/localename.m4: New file.
63359         * modules/localename: New file.
63360
63361 2007-06-07  Bruno Haible  <bruno@clisp.org>
63362
63363         Work around the lack of <wchar.h> on some builds of uClibc.
63364         * doc/headers/wchar.texi: Update.
63365         * lib/wchar_.h: Include <wchar.h> only if it exists.
63366         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63367         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63368         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63369         doesn't exist.
63370         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63371         * modules/mbfile (Depends-on): Add wchar.
63372         * modules/mbiter (Depends-on): Likewise.
63373         * modules/mbuiter (Depends-on): Likewise.
63374         Reported by Simon Josefsson.
63375
63376 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63377
63378         Work around problem reported by Steven M. Schweda in
63379         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63380         Tru64 5.1B with the Compaq compiler environment installed declares
63381         an 'isblank' function but does not define it in the C library.
63382         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63383         * lib/regex_internal.h (isblank): Likewise.
63384         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63385         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63386
63387 2007-06-05  Bruno Haible  <bruno@clisp.org>
63388
63389         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63390         ia64.
63391         * modules/printf-safe: New file.
63392         * modules/fprintf-posix (Depends-on): Add printf-safe.
63393         * modules/printf-posix (Depends-on): Likewise.
63394         * modules/snprintf-posix (Depends-on): Likewise.
63395         * modules/sprintf-posix (Depends-on): Likewise.
63396         * modules/vasnprintf-posix (Depends-on): Likewise.
63397         * modules/vasprintf-posix (Depends-on): Likewise.
63398         * modules/vfprintf-posix (Depends-on): Likewise.
63399         * modules/vprintf-posix (Depends-on): Likewise.
63400         * modules/vsnprintf-posix (Depends-on): Likewise.
63401         * modules/vsprintf-posix (Depends-on): Likewise.
63402         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63403         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63404         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63405         "no" on i386, x86_64, ia64.
63406         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63407         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63408         on i386, x86_64, ia64.
63409         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63410         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63411         on i386, x86_64, ia64.
63412         * tests/test-vasnprintf-posix.c: Include float.h.
63413         (LDBL80_WORDS): New macro.
63414         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63415         on i386, x86_64, ia64.
63416         * tests/test-vasprintf-posix.c: Include float.h.
63417         (LDBL80_WORDS): New macro.
63418         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63419         on i386, x86_64, ia64.
63420         * tests/test-snprintf-posix.c: Include float.h.
63421         * tests/test-sprintf-posix.c: Likewise.
63422         * tests/test-vsnprintf-posix.c: Likewise.
63423         * tests/test-vsprintf-posix.c: Likewise.
63424
63425 2007-06-05  Bruno Haible  <bruno@clisp.org>
63426
63427         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63428         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63429         non-IEEE numbers on i386, x86_64, ia64.
63430         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63431         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63432         * tests/test-isnanl.h: Include float.h.
63433         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63434
63435 2007-06-05  Bruno Haible  <bruno@clisp.org>
63436
63437         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63438         also the %a / %A. Handle the %a / %A code before this extra handling.
63439
63440 2007-06-05  Bruno Haible  <bruno@clisp.org>
63441
63442         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63443         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63444
63445 2007-06-05  Bruno Haible  <bruno@clisp.org>
63446
63447         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63448         typo in variable name.
63449
63450 2007-06-05  Eric Blake  <ebb9@byu.net>
63451
63452         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63453         Reported by Simon Josefsson.
63454
63455 2007-06-04  Bruno Haible  <bruno@clisp.org>
63456
63457         Avoid test failures on some PowerPC platforms.
63458         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63459         Define differently for PowerPC.
63460         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63461         Reported by Gary V. Vaughan <gary@gnu.org>.
63462
63463 2007-06-02  Bruno Haible  <bruno@clisp.org>
63464
63465         Fix test-stdint failure on FreeBSD/ia64.
63466         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63467         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63468         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63469         * doc/headers/stdint.texi: Update.
63470
63471 2007-06-01  Bruno Haible  <bruno@clisp.org>
63472
63473         * tests/test-binary-io.c (main): Pass a third argument to open().
63474         Reported by Gary V. Vaughan <gary@gnu.org>.
63475
63476 2007-06-01  Bruno Haible  <bruno@clisp.org>
63477
63478         * doc/functions/frexpl.texi: Update for mingw.
63479
63480 2007-06-01  Bruno Haible  <bruno@clisp.org>
63481
63482         * tests/test-lseek.c (main): Disable test of errno for invalid third
63483         argument.
63484         * doc/functions/lseek.texi: Update.
63485         Reported by Gary V. Vaughan <gary@gnu.org>.
63486
63487 2007-05-28  Bruno Haible  <bruno@clisp.org>
63488
63489         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63490
63491 2007-05-31  Eric Blake  <ebb9@byu.net>
63492
63493         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63494         cross compiling.
63495
63496 2007-05-30  Eric Blake  <ebb9@byu.net>
63497         and Bruno Haible  <bruno@clisp.org>
63498
63499         Work around mingw test failures exposed by m4-1.4.9b.
63500         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63501         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63502         moment.
63503
63504 2007-05-30  Bruno Haible  <bruno@clisp.org>
63505
63506         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63507         assuming that they are closed. Needed on HP-UX 11.
63508
63509 2007-05-29  Bruno Haible  <bruno@clisp.org>
63510
63511         Fix a problem with #include_next.
63512         * lib/dirent_.h: Split the double-inclusion guard.
63513         * lib/fcntl_.h: Likewise.
63514         * lib/float_.h: Likewise.
63515         * lib/iconv_.h: Likewise.
63516         * lib/inttypes_.h: Likewise.
63517         * lib/locale_.h: Likewise.
63518         * lib/math_.h: Likewise.
63519         * lib/netinet_in_.h: Likewise.
63520         * lib/search_.h: Likewise.
63521         * lib/signal_.h: Likewise.
63522         * lib/stdint_.h: Likewise.
63523         * lib/stdio_.h: Likewise.
63524         * lib/stdlib_.h: Likewise.
63525         * lib/string_.h: Likewise.
63526         * lib/sys_select_.h: Likewise.
63527         * lib/sys_socket_.h: Likewise.
63528         * lib/sys_stat_.h: Likewise.
63529         * lib/sys_time_.h: Likewise.
63530         * lib/sysexits_.h: Likewise.
63531         * lib/time_.h: Likewise.
63532         * lib/unistd_.h: Likewise.
63533         * lib/wchar_.h: Likewise.
63534         * lib/wctype_.h: Likewise.
63535
63536 2007-05-29  Bruno Haible  <bruno@clisp.org>
63537
63538         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63539         for the moment.
63540
63541 2007-05-29  Bruno Haible  <bruno@clisp.org>
63542
63543         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63544         invocation.
63545         Reported by Eric Blake.
63546
63547 2007-05-29  Bruno Haible  <bruno@clisp.org>
63548
63549         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63550         compiling case.
63551
63552 2007-05-29  Eric Blake  <ebb9@byu.net>
63553             Bruno Haible  <bruno@clisp.org>
63554
63555         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63556         cross compiles.
63557
63558 2007-05-28  Eric Blake  <ebb9@byu.net>
63559
63560         * modules/closein-tests (test_closein_LDADD): Support test on
63561         cygwin with libtool.
63562
63563 2007-05-28  Bruno Haible  <bruno@clisp.org>
63564
63565         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63566         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63567         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63568         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63569         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63570         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63571         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63572         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63573         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63574
63575 2007-05-28  Eric Blake  <ebb9@byu.net>
63576
63577         Unconditionally include <config.h> in unit tests.
63578         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63579         * tests/test-allocsa.c, tests/test-arcfour.c,
63580         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63581         tests/test-array_list.c, tests/test-array_oset.c,
63582         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63583         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63584         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63585         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63586         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63587         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63588         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63589         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63590         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63591         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63592         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63593         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63594         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63595         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63596         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63597         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63598         test-md5.c, test-memmem.c, test-printf-posix.c,
63599         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63600         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63601         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63602         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63603         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63604         test-vasnprintf-posix2.c, test-vasnprintf.c,
63605         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63606         test-vfprintf-posix.c, test-vprintf-posix.c,
63607         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63608         test-xvasprintf.c: Likewise.
63609
63610 2007-05-28  Bruno Haible  <bruno@clisp.org>
63611
63612         * gnulib-tool (func_import): Remember the --with-tests command-line
63613         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63614         Reported by Eric Blake.
63615
63616 2007-05-28  Bruno Haible  <bruno@clisp.org>
63617
63618         * modules/ftell-tests: New file.
63619         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63620         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63621
63622         * lib/ftell.c: New file.
63623         * modules/ftell: New file.
63624         * m4/ftell.m4: New file.
63625         * doc/functions/ftell.texi: Update.
63626         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63627         REPLACE_FTELL.
63628         * lib/stdio_.h (rpl_ftell): New declaration.
63629         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63630         REPLACE_FTELL.
63631
63632 2007-05-28  Eric Blake  <ebb9@byu.net>
63633
63634         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63635
63636 2007-05-28  Bruno Haible  <bruno@clisp.org>
63637
63638         * modules/fseek-tests: New file.
63639         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63640         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63641
63642         * lib/fseek.c: New file.
63643         * modules/fseek: New file.
63644         * m4/fseek.m4: New file.
63645         * doc/functions/fseek.texi: Update.
63646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63647         REPLACE_FSEEK.
63648         * lib/stdio_.h (rpl_fseek): New declaration.
63649         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63650         REPLACE_FSEEK.
63651
63652 2007-05-28  Bruno Haible  <bruno@clisp.org>
63653
63654         * lib/stdio_.h (fflush): More comments.
63655
63656 2007-05-28  Bruno Haible  <bruno@clisp.org>
63657
63658         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63659         runtime test.
63660
63661 2007-05-28  Eric Blake  <ebb9@byu.net>
63662
63663         Improve lseek module.
63664         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63665         * lib/unistd_.h (lseek): Scale back link warning message.
63666         * tests/test-lseek.c: Beef up test.
63667         * tests/test-lseek.sh: Exercise more facets of lseek.
63668         Reported by Bruno Haible.
63669
63670 2007-05-28  Bruno Haible  <bruno@clisp.org>
63671
63672         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63673         to define.
63674
63675 2007-05-27  Bruno Haible  <bruno@clisp.org>
63676
63677         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63678
63679 2007-05-27  Bruno Haible  <bruno@clisp.org>
63680
63681         * modules/openmp: New file.
63682         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63683         Noah Misch.
63684
63685 2007-05-26  Bruno Haible  <bruno@clisp.org>
63686
63687         * modules/chdir-long (Depends-on): Add fchdir.
63688         * modules/chdir-safer (Depends-on): Likewise.
63689         * modules/fts (Depends-on): Likewise.
63690         * modules/fts-lgpl (Depends-on): Likewise.
63691         * modules/openat (Depends-on): Likewise.
63692         * modules/savewd (Depends-on): Likewise.
63693
63694 2007-05-24  Eric Blake  <ebb9@byu.net>
63695
63696         Fix lseek on mingw.
63697         * modules/lseek: New module.
63698         * m4/lseek.m4: New file.
63699         * lib/lseek.c: New file.
63700         * modules/lseek-tests: New file.
63701         * tests/test-lseek.c: New file.
63702         * tests/test-lseek.sh: New file.
63703         * MODULES.html.sh: Document lseek module.
63704         * modules/fflush (Depends-on): Add lseek, fseeko.
63705         * modules/fseeko (Depends-on): Likewise.
63706         * modules/ftello (Depends-on): Likewise.
63707         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63708         broken.
63709         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63710         broken.
63711         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63712         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63713         * lib/ftello.c (rpl_ftello): Likewise.
63714         * tests/test-fseeko.c (main): Test this.
63715         * tests/test-fseeko.sh: Likewise.
63716         * tests/test-ftello.c (main): Likewise.
63717         * tests/test-ftello.sh: Likewise.
63718         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63719         implies replacing fseek.
63720         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63721         HAVE_FTELLO.
63722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63723         * modules/unistd (Makefile.am): Likewise.
63724         * lib/unistd_.h (lseek): Declare a replacement.
63725         * doc/functions/lseek.texi (lseek): Document this fix.
63726         * doc/functions/fseek.texi (fseek): Likewise.
63727         * doc/functions/ftell.texi (ftell): Likewise.
63728
63729 2007-05-24  Bruno Haible  <bruno@clisp.org>
63730
63731         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63732         in the printed representation of a NaN.
63733         * tests/test-vasprintf-posix.c (test_function): Likewise.
63734         * tests/test-snprintf-posix.h (test_function): Likewise.
63735         * tests/test-sprintf-posix.h (test_function): Likewise.
63736         Reported by Eric Blake.
63737
63738 2007-05-23  Eric Blake  <ebb9@byu.net>
63739
63740         Fix fseeko/ftello on cygwin 1.5.24.
63741         * doc/functions/fseeko.texi (fseeko): Document the fix.
63742         * doc/functions/ftello.texi (ftello): Document the fix.
63743         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63744         * doc/functions/stdout.text (stdout): New file.
63745         * doc/functions/stderr.text (stderr): New file.
63746         * doc/gnulib.texi (Function Substitutes): Use new files.
63747         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63748         prior to 1.7.0.
63749         * tests/test-ftello.c (main): Likewise for ftello.
63750         * tests/test-fseeko.sh: New file.
63751         * tests/test-ftello.sh: New file.
63752         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63753         with seekable stdin.
63754         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63755         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63756         (gl_REPLACE_FSEEKO): New macro.
63757         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63758         * modules/fseeko (Files): Distribute fseeko.c.
63759         * modules/ftello (Files): Distribute ftello.c.
63760         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63761         mode.
63762         * lib/ftello.c (rpl_ftello): New file.
63763         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63764         fseeko, ftello.
63765         (gl_STDIN_LARGE_OFFSET): New macro.
63766         * modules/stdio (Makefile.am): Perform the replacement.
63767         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63768
63769 2007-05-23  Bruno Haible  <bruno@clisp.org>
63770
63771         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63772         GNULIB_POSIXCHECK is defined.
63773
63774 2007-05-21  Bruno Haible  <bruno@clisp.org>
63775
63776         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63777         Check also the output for NaN arguments. When cross-compiling, guess
63778         no on IRIX.
63779         * lib/vasnprintf.c: Update comments.
63780         * tests/test-vasnprintf-posix.c (strisnan): New function.
63781         (test_function): Use it.
63782         * tests/test-vasprintf-posix.c (strisnan): New function.
63783         (test_function): Use it.
63784         * tests/test-snprintf-posix.h (strisnan): New function.
63785         (test_function): Use it.
63786         * tests/test-sprintf-posix.h (strisnan): New function.
63787         (test_function): Use it.
63788         Reported by Eric Blake.
63789
63790 2007-05-20  Bruno Haible  <bruno@clisp.org>
63791
63792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63793         numbers that fails on BeOS.
63794         * doc/functions/frexpl.texi: Update.
63795
63796 2007-05-20  Jim Meyering  <jim@meyering.net>
63797
63798         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63799         forced upon us by glibc-2.6.
63800
63801 2007-05-20  Bruno Haible  <bruno@clisp.org>
63802
63803         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63804         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63805         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63806         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63807         NEED_PRINTF_INFINITE.
63808         (is_infinitel): New function.
63809         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63810         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63811         gl_PREREQ_VASNPRINTF_INFINITE.
63812         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63813         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63814         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63815         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63816         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63817         gl_PREREQ_VASNPRINTF_INFINITE.
63818         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63819         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63820         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63821         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63822         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63823         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63824         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63825         * doc/functions/fprintf.texi: Update.
63826         * doc/functions/printf.texi: Update.
63827         * doc/functions/snprintf.texi: Update.
63828         * doc/functions/sprintf.texi: Update.
63829         * doc/functions/vfprintf.texi: Update.
63830         * doc/functions/vprintf.texi: Update.
63831         * doc/functions/vsnprintf.texi: Update.
63832         * doc/functions/vsprintf.texi: Update.
63833
63834 2007-05-20  Bruno Haible  <bruno@clisp.org>
63835
63836         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63837         was not found in libc.
63838         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63839
63840 2007-05-20  Bruno Haible  <bruno@clisp.org>
63841
63842         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63843         printed as "-nan" instead of "nan".
63844         * tests/test-vasprintf-posix.c (test_function): Likewise.
63845         * tests/test-snprintf-posix.h (test_function): Likewise.
63846         * tests/test-sprintf-posix.h (test_function): Likewise.
63847         Needed for HP-UX 11.
63848
63849 2007-05-20  Jim Meyering  <jim@meyering.net>
63850
63851         Fix buggy test for the fchownat-deref bug.
63852         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63853         symlink required for the run-test.  Without it, this test would
63854         always declare that fchownat doesn't work, and client code would
63855         unnecessarily use the replacement function with fixed libc.
63856         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63857         Reported by Greg Schafer.
63858
63859 2007-05-19  Bruno Haible  <bruno@clisp.org>
63860
63861         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63862         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63863         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63864         Needed for IRIX 6.5 and Solaris 2.5.1.
63865
63866 2007-05-19  Bruno Haible  <bruno@clisp.org>
63867
63868         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63869         (test_function): Skip tests involving -0.0 on platforms where
63870         -0.0 = 0.0.
63871         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63872         (test_function): Skip tests involving -0.0 on platforms where
63873         -0.0 = 0.0.
63874         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63875         (test_function): Skip tests involving -0.0 on platforms where
63876         -0.0 = 0.0.
63877         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63878         (test_function): Skip tests involving -0.0 on platforms where
63879         -0.0 = 0.0.
63880         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63881         tests.
63882         * tests/test-printf-posix.h (test_function): Likewise.
63883         * tests/test-printf-posix.output: Remove all -0.0 related results.
63884         Needed for IRIX 6.5.
63885
63886 2007-05-19  Bruno Haible  <bruno@clisp.org>
63887
63888         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63889         printed as "nan0x7fffffff" instead of "nan".
63890         * tests/test-vasprintf-posix.c (test_function): Likewise.
63891         * tests/test-snprintf-posix.h (test_function): Likewise.
63892         * tests/test-sprintf-posix.h (test_function): Likewise.
63893         * tests/test-fprintf-posix.h (NaN): Remove macro.
63894         (test_function): Remove all NaN related tests.
63895         * tests/test-printf-posix.h (NaN): Remove macro.
63896         (test_function): Remove all NaN related tests.
63897         * tests/test-printf-posix.output: Remove all NaN related results.
63898         Needed for IRIX 6.5.
63899
63900 2007-05-19  Bruno Haible  <bruno@clisp.org>
63901
63902         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63903         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63904
63905 2007-05-19  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/float_.h: New file.
63908         * m4/float_h.m4: New file.
63909         * modules/float: New file.
63910         * modules/isnanl (Dependencies): Add float.
63911         * modules/isnanl-nolibm (Dependencies): Likewise.
63912         * modules/mathl (Dependencies): Likewise.
63913         * modules/printf-frexpl (Dependencies): Likewise.
63914         * modules/signbit (Dependencies): Likewise.
63915         * modules/vasnprintf (Dependencies): Likewise.
63916         * doc/headers/float.texi: Update.
63917
63918 2007-05-19  Jim Meyering  <jim@meyering.net>
63919
63920         * lib/utimens.c (gl_futimens): Rename from futimens,
63921         now that glibc-2.6 declares futimens.
63922         * lib/utimens.h: Likewise.
63923
63924 2007-05-19  Bruno Haible  <bruno@clisp.org>
63925
63926         Avoid test failures on mingw.
63927         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63928         * tests/test-printf-posix.sh: Likewise.
63929         * tests/test-vfprintf-posix.sh: Likewise.
63930         * tests/test-vprintf-posix.sh: Likewise.
63931
63932 2007-05-19  Bruno Haible  <bruno@clisp.org>
63933
63934         Fix *printf result for NaN, Inf, -0.0 on mingw.
63935         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63936         * lib/vasnprintf.c: Include math.h and isnan.h.
63937         (is_infinite_or_zero): New function.
63938         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63939         values in the %f, %F, %e, %E, %g, %G directives.
63940         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63941         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63942         gl_PRINTF_INFINITE and test its result. Invoke
63943         gl_PREREQ_VASNPRINTF_INFINITE.
63944         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63945         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63946         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63947         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63948         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63949         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63950         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63951         * doc/functions/fprintf.texi: Update.
63952         * doc/functions/printf.texi: Update.
63953         * doc/functions/snprintf.texi: Update.
63954         * doc/functions/sprintf.texi: Update.
63955         * doc/functions/vfprintf.texi: Update.
63956         * doc/functions/vprintf.texi: Update.
63957         * doc/functions/vsnprintf.texi: Update.
63958         * doc/functions/vsprintf.texi: Update.
63959
63960 2007-05-19  Bruno Haible  <bruno@clisp.org>
63961
63962         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63963         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63964         Instead of multiplying with 10^k, set extra_zeroes to k.
63965         (scale10_round_long_double): Remove function.
63966
63967 2007-05-18  Bruno Haible  <bruno@clisp.org>
63968
63969         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63970         introduced on 2007-05-06.
63971
63972 2007-05-18  Bruno Haible  <bruno@clisp.org>
63973
63974         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63975         %g directives.
63976         * tests/test-vasprintf-posix.c (test_function): Likewise.
63977         * tests/test-snprintf-posix.h (test_function): Likewise.
63978         * tests/test-sprintf-posix.h (test_function): Likewise.
63979
63980 2007-05-18  Bruno Haible  <bruno@clisp.org>
63981
63982         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63983         (strmatch): New function.
63984         (test_function): Test the %f directive on numbers of various exponents.
63985         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63986         (strmatch): New function.
63987         (test_function): Test the %f directive on numbers of various exponents.
63988         * tests/test-snprintf-posix.h (strmatch): New function.
63989         (test_function): Test the %f directive on numbers of various exponents.
63990         * tests/test-sprintf-posix.h (strmatch): New function.
63991         (test_function): Test the %f directive on numbers of various exponents.
63992         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63993         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63994         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63995         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63996
63997 2007-05-18  Bruno Haible  <bruno@clisp.org>
63998
63999         Add support for 'long double' number output.
64000         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
64001         * lib/vasnprintf.c: Include math.h and float+.h.
64002         (mp_limb_t): New type.
64003         (GMP_LIMB_BITS): New macro.
64004         (mp_twolimb_t): New type.
64005         (GMP_TWOLIMB_BITS): New macro.
64006         (mpn_t): New type.
64007         (multiply, divide, convert_to_decimal, decode_long_double,
64008         scale10_round_long_double, scale10_round_decimal_long_double,
64009         floorlog10l): New functions.
64010         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
64011         for the %f, %F, %e, %E, %g, %G directives.
64012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
64013         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64014         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
64015         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
64016         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64017         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64018         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64020         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64021         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64022         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64023         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
64024         * modules/snprintf-posix (Depends-on): Likewise.
64025         * modules/sprintf-posix (Depends-on): Likewise.
64026         * modules/vasnprintf-posix (Depends-on): Likewise.
64027         * modules/vasprintf-posix (Depends-on): Likewise.
64028         * modules/vfprintf-posix (Depends-on): Likewise.
64029         * modules/vsnprintf-posix (Depends-on): Likewise.
64030         * modules/vsprintf-posix (Depends-on): Likewise.
64031         * modules/vasnprintf (Files): Add lib/float+.h.
64032         * doc/functions/fprintf.texi: Update.
64033         * doc/functions/printf.texi: Update.
64034         * doc/functions/snprintf.texi: Update.
64035         * doc/functions/sprintf.texi: Update.
64036         * doc/functions/vfprintf.texi: Update.
64037         * doc/functions/vprintf.texi: Update.
64038         * doc/functions/vsnprintf.texi: Update.
64039         * doc/functions/vsprintf.texi: Update.
64040
64041 2007-05-18  Bruno Haible  <bruno@clisp.org>
64042
64043         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
64044
64045 2007-05-18  Bruno Haible  <bruno@clisp.org>
64046
64047         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
64048         for printing 64-bit integers. Needed for mingw.
64049
64050 2007-05-18  Bruno Haible  <bruno@clisp.org>
64051
64052         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64053         gl_FUNC_FREXPL_WORKS.
64054         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
64055
64056 2007-05-18  Bruno Haible  <bruno@clisp.org>
64057
64058         * modules/frexpl-nolibm-tests: New file.
64059
64060         * modules/frexpl-nolibm: New file.
64061         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
64062
64063 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
64064
64065         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
64066         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
64067         GCC 4.2, which otherwise issues a lot of warnings.
64068         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
64069         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
64070         Likewise.
64071         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
64072         * modules/iconv_open (iconv.h): Likewise.
64073         * modules/locale (locale.h): Likewise.
64074         * modules/netinet_in (netinet/in.h): Likewise.
64075         * modules/sys_select (sys_select.h): Likewise.
64076         * modules/sys_socket (sys/socket.h): Likewise.
64077         * modules/sys_stat (sys/stat.h): Likewise.
64078         * modules/sysexits (sysexits.h): Likewise.
64079         * modules/unistd (unistd.h): Likewise.
64080
64081 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64082
64083         * modules/closein-tests (Makefile.am): Distribute
64084         `test-closein.sh'.
64085
64086 2007-05-17  Bruno Haible  <bruno@clisp.org>
64087
64088         * tests/test-printf-posix.output: Renamed from
64089         tests/test-fprintf-posix.out.
64090         * modules/fprintf-posix-tests: Update.
64091         * modules/printf-posix-tests: Update.
64092         * modules/vfprintf-posix-tests: Update.
64093         * modules/vprintf-posix-tests: Update.
64094         * tests/test-fprintf-posix.sh: Update.
64095         * tests/test-printf-posix.sh: Update.
64096         * tests/test-vfprintf-posix.sh: Update.
64097         * tests/test-vprintf-posix.sh: Update.
64098         Reported by Ralf Wildenhues.
64099
64100 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
64101
64102         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
64103         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
64104         GCC 4.2, which otherwise issues a lot of warnings.
64105         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
64106         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
64107         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
64108         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
64109         it should no longer be needed.
64110         * lib/string_.h: Likewise.
64111         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
64112         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
64113         * modules/inttypes (inttypes.h): Likewise.
64114         * modules/math (math.h): Likewise.
64115         * modules/search (search.h): Likewise.
64116         * modules/signal (signal.h): Likewise.
64117         * modules/stdint (stdint.h): Likewise.
64118         * modules/stdio (stdio.h): Likewise.
64119         * modules/stdlib (stdlib.h): Likewise.
64120         * modules/string (string.h): Likewise.
64121         * modules/sys_time (sys/time.h): Likewise.
64122         * modules/time (time.h): Likewise.
64123         * modules/wchar (wchar.h): Likewise.
64124         * modules/wctype (wtype.h): Likewise.
64125
64126 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64127
64128         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
64129
64130 2007-05-13  Bruno Haible  <bruno@clisp.org>
64131
64132         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
64133         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64134         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
64135         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
64136         (gl_PREREQ_STRTOK_R): Don't require it here.
64137
64138 2007-05-13  Bruno Haible  <bruno@clisp.org>
64139
64140         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
64141         when used in C++ mode.
64142
64143 2007-05-12  Bruno Haible  <bruno@clisp.org>
64144
64145         * lib/linebuffer.h: Tweak doc.
64146         * lib/linebuffer.c: Likewise.
64147
64148 2007-05-12  James Youngman  <jay@gnu.org>
64149
64150         * lib/linebuffer.c (readlinebuffer_delim): New function,
64151         like readlinebuffer, but use a caller-specified delimiter.
64152         (readlinebuffer): Just call readlinebuffer_delim with '\n'
64153         as the delimiter.
64154         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
64155
64156 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64157
64158         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
64159         * modules/openat (Files): Remove openat-die.c.
64160         (Depends-on): Add openat-die.
64161         * modules/openat-die: New module.
64162
64163 2007-05-06  Bruno Haible  <bruno@clisp.org>
64164
64165         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
64166         Update with info about Cygwin.
64167         * doc/functions/fprintf.texi: Update.
64168         * doc/functions/printf.texi: Update.
64169         * doc/functions/snprintf.texi: Update.
64170         * doc/functions/sprintf.texi: Update.
64171         * doc/functions/vfprintf.texi: Update.
64172         * doc/functions/vprintf.texi: Update.
64173         * doc/functions/vsnprintf.texi: Update.
64174         * doc/functions/vsprintf.texi: Update.
64175         Reported by Eric Blake.
64176
64177 2007-05-06  Bruno Haible  <bruno@clisp.org>
64178
64179         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
64180         padding ourselves for the floating-point directives.
64181         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
64182         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
64183         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64184         gl_PRINTF_FLAG_ZERO and test its result. Invoke
64185         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
64186         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64187         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64188         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64189         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64190         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64191         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64192         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64193         * tests/test-snprintf-posix.h (test_function): Also check the width
64194         and some flags in the %f directive.
64195         * tests/test-sprintf-posix.h (test_function): Likewise.
64196         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64197         * tests/test-vasprintf-posix.c (test_function): Likewise.
64198         * doc/functions/fprintf.texi: Update.
64199         * doc/functions/printf.texi: Update.
64200         * doc/functions/snprintf.texi: Update.
64201         * doc/functions/sprintf.texi: Update.
64202         * doc/functions/vfprintf.texi: Update.
64203         * doc/functions/vprintf.texi: Update.
64204         * doc/functions/vsnprintf.texi: Update.
64205         * doc/functions/vsprintf.texi: Update.
64206
64207 2007-05-06  Bruno Haible  <bruno@clisp.org>
64208
64209         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
64210         pass the ' flag character to sprintf or snprintf.
64211         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
64212         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
64213         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64214         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
64215         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
64216         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64217         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64218         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64219         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64220         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64221         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64222         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64223         * tests/test-snprintf-posix.h (test_function): Also check the grouping
64224         flag.
64225         * tests/test-sprintf-posix.h (test_function): Likewise.
64226         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64227         * tests/test-vasprintf-posix.c (test_function): Likewise.
64228         * doc/functions/fprintf.texi: Update.
64229         * doc/functions/printf.texi: Update.
64230         * doc/functions/snprintf.texi: Update.
64231         * doc/functions/sprintf.texi: Update.
64232         * doc/functions/vfprintf.texi: Update.
64233         * doc/functions/vprintf.texi: Update.
64234         * doc/functions/vsnprintf.texi: Update.
64235         * doc/functions/vsprintf.texi: Update.
64236
64237 2007-05-01  Bruno Haible  <bruno@clisp.org>
64238
64239         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64240
64241 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64242
64243         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64244         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64245
64246 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64247
64248         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64249         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64250         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64251
64252 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64253
64254         * lib/argp-help.c (struct hol_entry): New member `ord'.
64255         (HOL_ENTRY_PTRCMP): Use ord for comparison
64256         (hol_sort): Initialize ord.
64257
64258 2007-05-01  Bruno Haible  <bruno@clisp.org>
64259
64260         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64261         Reported by Eric Blake.
64262         * doc/gnulib.texi (Function Substitutes): Update.
64263
64264 2007-05-01  Bruno Haible  <bruno@clisp.org>
64265
64266         * doc/functions.texi: Remove file, now redundant through
64267         doc/functions/*.texi.
64268
64269 2007-05-01  Bruno Haible  <bruno@clisp.org>
64270
64271         * modules/argp (Depends-on): Add sleep.
64272
64273 2007-05-01  Bruno Haible  <bruno@clisp.org>
64274
64275         * modules/sleep-tests: New file.
64276         * tests/test-sleep.c: New file.
64277
64278         * modules/sleep: New file.
64279         * lib/sleep.c: New file.
64280         * m4/sleep.m4: New file.
64281         * lib/unistd_.h (sleep): New declaration.
64282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64283         HAVE_SLEEP.
64284         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64285         * doc/functions/sleep.texi: Document the sleep module.
64286
64287 2007-05-01  Bruno Haible  <bruno@clisp.org>
64288
64289         * lib/sigprocmask.h: Remove file.
64290         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64291         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64292         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64293         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64294         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64295         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64296         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64297         HAVE_SIGSET_T as a shell variable.
64298         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64299         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64300         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64301         (Depends-on): Add signal. Remove verify.
64302         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64303         (Include): Mention <signal.h> instead of sigprocmask.h.
64304         * NEWS: Mention the change.
64305         * lib/fatal-signal.c: Don't include sigprocmask.h.
64306
64307 2007-05-01  Bruno Haible  <bruno@clisp.org>
64308
64309         * modules/signal: New file.
64310         * lib/signal_.h: New file.
64311         * m4/signal_h.m4: New file.
64312
64313 2007-05-01  Bruno Haible  <bruno@clisp.org>
64314
64315         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64316         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64317         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64318         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64319
64320 2007-05-01  Bruno Haible  <bruno@clisp.org>
64321
64322         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64323         configure time.
64324         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64325         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64326         * modules/sys_stat (Makefile.am): Substitute their values into
64327         sys/stat.h.
64328
64329 2007-05-01  Bruno Haible  <bruno@clisp.org>
64330
64331         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
64332         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
64333         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
64334
64335 2007-05-01  Bruno Haible  <bruno@clisp.org>
64336
64337         * doc/header/assert.texi: Undo last change: don't mention the gnulib
64338         'assert' module here.
64339
64340 2007-05-01  Bruno Haible  <bruno@clisp.org>
64341
64342         * doc/functions/*.texi: New files.
64343         * doc/functions/google-ranking.txt: New file.
64344         * doc/gnulib.texi (Function Substitutes): New chapter.
64345         (ctime, inet_ntoa): Remove sections.
64346         * doc/ctime.texi: Remove file.
64347         * doc/inet_ntoa.texi: Remove file.
64348         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
64349         dependencies.
64350         (%.info): New rule, specifying a --reference-limit.
64351
64352 2007-05-01  Bruno Haible  <bruno@clisp.org>
64353
64354         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64355
64356 2007-05-01  Bruno Haible  <bruno@clisp.org>
64357
64358         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64359         the portability of 'mkdir' to mingw systems.
64360
64361 2007-05-01  Bruno Haible  <bruno@clisp.org>
64362
64363         * doc/headers/google-ranking.txt: New file.
64364
64365 2007-04-30  Eric Blake  <ebb9@byu.net>
64366
64367         Prefer fseeko to fseek.
64368         * modules/getpass (Depends-on): Add fseeko.
64369         * lib/getpass.c (getpass): Use fseeko, not fseek.
64370
64371 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64372
64373         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64374         assumes the sorting is stable, while most qsort implementations
64375         are not.  Use argument addresses to ensure they never compare as
64376         equal.
64377
64378         * tests/test-argp-2.sh (usage-indent test): Fix output
64379         (func_compare): Restore diff options
64380         * tests/test-argp.c: Restore #include "progname.h"
64381
64382 2007-04-29  Bruno Haible  <bruno@clisp.org>
64383
64384         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64385         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64386         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64387         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64388         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64389         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64390         (TESTS, check_PROGRAMS): Add test-snprintf.
64391         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64392         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64393         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64394         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64395         assertions that fail on HP-UX, OSF/1, or IRIX.
64396         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64397
64398 2007-04-29  Bruno Haible  <bruno@clisp.org>
64399
64400         * MODULES.html.sh (posix_functions): Remove 'contents'.
64401
64402 2007-04-29  Karl Berry  <karl@gnu.org>
64403
64404         * config/srclist.txt (gendocs_template_min): new entry.
64405
64406 2007-04-29  Bruno Haible  <bruno@clisp.org>
64407
64408         Work around fpurge bug on BSD systems.
64409         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64410         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64411         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64412         fpurge to rpl_fpurge if the system already has this function.
64413         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64414         the case where the system already has this function. Correct invariants
64415         on BSD systems.
64416         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64417         BSD systems.
64418
64419 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64420
64421         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64422         proposed by Sven Verdoolaege.
64423
64424         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64425         options.
64426         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64427         (usage and help tests): Update
64428
64429 2007-04-29  Bruno Haible  <bruno@clisp.org>
64430
64431         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64432         Print more information in case of failure. Disable a test on BeOS.
64433
64434 2007-04-29  Bruno Haible  <bruno@clisp.org>
64435
64436         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64437         This helps debugging on systems on which no gdb is available.
64438
64439 2007-04-29  Bruno Haible  <bruno@clisp.org>
64440
64441         * lib/freading.h: Improve comments.
64442         * lib/fwriting.h: Likewise.
64443         * tests/test-freading.c (main): Don't check freading immediately after
64444         repositioning. Needed for glibc.
64445
64446 2007-04-29  Bruno Haible  <bruno@clisp.org>
64447
64448         * lib/freading.c (freading): Trivial simplification.
64449
64450 2007-04-28  Bruno Haible  <bruno@clisp.org>
64451
64452         * tests/test-fwriting.c (main): Also test the interaction between
64453         fflush and fwriting.
64454         * modules/fwriting-tests (Depends-on): Add fflush.
64455
64456         * tests/test-freading.c (main): Also test the interaction between
64457         fflush and freading.
64458         * modules/freading-tests (Depends-on): Add fflush.
64459
64460 2007-04-28  Bruno Haible  <bruno@clisp.org>
64461
64462         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64463         fseeko and ftello.
64464         Suggested by Eric Blake.
64465
64466 2007-04-28  Jim Meyering  <jim@meyering.net>
64467
64468         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64469         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64470         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64471
64472 2007-04-27  Eric Blake  <ebb9@byu.net>
64473
64474         * doc/headers/assert.texi (assert.h): Document assert module use.
64475
64476 2007-04-27  Bruno Haible  <bruno@clisp.org>
64477
64478         * doc/headers/*.texi: New files.
64479         * doc/gnulib.texi (Header File Substitutes): New chapter.
64480         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64481         dependencies.
64482         (standards.info ,standards.html, standards.dvi): Update dependencies.
64483         (mostlyclean, clean): New targets.
64484
64485 2007-04-27  Bruno Haible  <bruno@clisp.org>
64486
64487         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64488         * modules/sysexits (Files, Makefile.am): Update.
64489
64490         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64491         * modules/sys_socket (Files, Makefile.am): Update.
64492
64493         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64494         * modules/sys_stat (Files, Makefile.am): Update.
64495
64496 2007-04-27  Eric Blake  <ebb9@byu.net>
64497
64498         * lib/freading.h: Improve comments.
64499         * lib/fwriting.h: Likewise.
64500         * lib/fflush.c: Likewise.
64501
64502         Fix closein for mingw.
64503         * modules/closein-tests: Add tests for closein.
64504         * tests/test-closein.c: New file.
64505         * tests/test-closein.sh: Likewise.
64506         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64507         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64508
64509 2007-04-27  Bruno Haible  <bruno@clisp.org>
64510
64511         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64512         version is < 6.
64513         * lib/math_.h [__DECC]: Likewise.
64514         * lib/stdio_.h [__DECC]: Likewise.
64515         * lib/stdlib_.h [__DECC]: Likewise.
64516         * lib/string_.h [__DECC]: Likewise.
64517         * lib/time_.h [__DECC]: Likewise.
64518         * lib/wchar_.h [__DECC]: Likewise.
64519         * lib/wctype_.h [__DECC]: Likewise.
64520
64521 2007-04-27  Bruno Haible  <bruno@clisp.org>
64522
64523         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64524
64525 2007-04-27  Bruno Haible  <bruno@clisp.org>
64526
64527         * lib/fflush.c: Add comments.
64528         * modules/fpurge-tests (Depends-on): Add fflush.
64529         * modules/freadable-tests (Depends-on): Likewise.
64530         * modules/fwritable-tests (Depends-on): Likewise.
64531
64532 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64533
64534         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64535         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64536         Report by Bruno Haible <bruno@clisp.org>.
64537
64538 2007-04-26  Eric Blake  <ebb9@byu.net>
64539
64540         Fix fflush on mingw.
64541         * modules/fflush (Depends-on): Add freading.
64542         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64543         but unread data.
64544
64545 2007-04-26  Eric Blake  <ebb9@byu.net>
64546         and Bruno Haible  <bruno@clisp.org>
64547
64548         Implement freading and fwriting.
64549         * lib/freading.c: New file.
64550         * lib/freading.h: Likewise.
64551         * m4/freading.m4: Likewise.
64552         * modules/freading: Likewise.
64553         * modules/freading-tests: Likewise.
64554         * tests/test-freading.c: Likewise.
64555         * lib/fwriting.c: New file.
64556         * lib/fwriting.h: Likewise.
64557         * m4/fwriting.m4: Likewise.
64558         * modules/fwriting: Likewise.
64559         * modules/fwriting-tests: Likewise.
64560         * tests/test-fwriting.c: Likewise.
64561         * MODULES.html.sh (File stream based Input/Output): Mention them.
64562
64563 2007-04-26  Bruno Haible  <bruno@clisp.org>
64564
64565         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64566         'long' when we assume it.
64567         Suggested by Eric Blake.
64568
64569 2007-04-26  Bruno Haible  <bruno@clisp.org>
64570
64571         Ensure fseeko, ftello are declared on glibc systems.
64572         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64573         * modules/fseeko (configure.ac-early): Likewise.
64574         * modules/ftello (configure.ac-early): Likewise.
64575         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64576         AC_FUNC_FSEEKO for this.
64577         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64578         (gl_CHECK_FSEEKO): Remove macro.
64579
64580 2007-04-26  Bruno Haible  <bruno@clisp.org>
64581
64582         * tests/test-fflush.c (main): Also check the ftell result after
64583         fflush and fseek/fseeko.
64584         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64585         file descriptor position cache in the stream.
64586         * lib/fseeko.c (rpl_fseeko): Likewise.
64587
64588 2007-04-26  Bruno Haible  <bruno@clisp.org>
64589
64590         * modules/fflush-tests (Depends-on): Add fseeko.
64591
64592 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64593             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64594
64595         * lib/argz_.h: ensure error_t definition is obtained in same
64596         mechanism system argz.h would have.
64597         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64598         argz facilities are known bad.  Err on the side of caution if
64599         cross-compiling.
64600
64601 2007-04-25  Eric Blake  <ebb9@byu.net>
64602
64603         * lib/fpurge.c (includes): Use stdlib.h for free.
64604         * tests/test-fflush.c (main): Also test fflush-fseeko.
64605
64606 2007-04-25  Bruno Haible  <bruno@clisp.org>
64607
64608         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64609         * lib/fseeko.c: New file.
64610         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64611         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64612         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64613         gl_FUNC_FSEEKO.
64614         (gl_FUNC_FSEEKO): Invoke it.
64615         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64616         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64617         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64618
64619 2007-04-25  Bruno Haible  <bruno@clisp.org>
64620
64621         * modules/fflush (Depends-on): Add ftello.
64622
64623 2007-04-25  Bruno Haible  <bruno@clisp.org>
64624
64625         * modules/ftello-tests: New file.
64626         * tests/test-ftello.c: New file.
64627
64628         * modules/ftello: New file.
64629         * m4/ftello.m4: New file.
64630         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64631         HAVE_FTELLO.
64632         * lib/stdio_.h (ftello): New declaration.
64633         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64634         HAVE_FTELLO.
64635
64636 2007-04-25  Bruno Haible  <bruno@clisp.org>
64637
64638         * modules/fseeko-tests: New file.
64639         * tests/test-fseeko.c: New file.
64640
64641         * modules/fseeko: New file.
64642         * m4/fseeko.m4: New file.
64643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64644         HAVE_FSEEKO.
64645         * lib/stdio_.h (fseeko): New declaration.
64646         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64647         HAVE_FSEEKO.
64648
64649 2007-04-25  Bruno Haible  <bruno@clisp.org>
64650
64651         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64652
64653 2007-04-25  Bruno Haible  <bruno@clisp.org>
64654
64655         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64656         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64657         * tests/test-unistd.c: Likewise.
64658         * tests/test-fcntl.c: Likewise.
64659
64660 2007-04-23  Eric Blake  <ebb9@byu.net>
64661
64662         * lib/fflush.c: Fix missing include.
64663         Reported by Bruno Haible.
64664
64665 2007-04-23  Bruno Haible  <bruno@clisp.org>
64666
64667         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64668         Reported by Eric Blake.
64669
64670 2007-04-23  Bruno Haible  <bruno@clisp.org>
64671
64672         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64673
64674 2007-04-23  Bruno Haible  <bruno@clisp.org>
64675
64676         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64677
64678 2007-04-23  Bruno Haible  <bruno@clisp.org>
64679
64680         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64681         Needed on HP-UX 11.
64682
64683 2007-04-16  Eric Blake  <ebb9@byu.net>
64684
64685         Make fflush rely on fpurge.
64686         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64687         open coding all variants.
64688         * modules/fflush (Depends-on): Add fpurge and unistd.
64689         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64690         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64691
64692         Fix --with-tests compilation on cygwin.
64693         * modules/argmatch-tests (Makefile.am): List gnulib library first
64694         in LDADD.
64695         * modules/argp-tests (Makefile.am): Likewise.
64696         * modules/array-list-tests (Makefile.am): Likewise.
64697         * modules/array-oset-tests (Makefile.am): Likewise.
64698         * modules/avltree-list-tests (Makefile.am): Likewise.
64699         * modules/avltree-oset-tests (Makefile.am): Likewise.
64700         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64701         * modules/carray-list-tests (Makefile.am): Likewise.
64702         * modules/dirname-tests (Makefile.am): Likewise.
64703         * modules/frexp-tests (Makefile.am): Likewise.
64704         * modules/isnanl-tests (Makefile.am): Likewise.
64705         * modules/linked-list-tests (Makefile.am): Likewise.
64706         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64707         * modules/lock-tests (Makefile.am): Likewise.
64708         * modules/rbtree-list-tests (Makefile.am): Likewise.
64709         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64710         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64711         * modules/tls-tests (Makefile.am): Likewise.
64712         * modules/tsearch-tests (Makefile.am): Likewise.
64713         * modules/xvasprintf-tests (Makefile.am): Likewise.
64714
64715         Fix fpurge for cygwin.
64716         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64717         value.
64718         * modules/fpurge-tests (Depends-on): Clean up trash.
64719
64720 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64721
64722         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64723
64724         * m4/autobuild.m4: Re-indent.
64725
64726 2007-04-13  Bruno Haible  <bruno@clisp.org>
64727
64728         * modules/fpurge-tests: New file.
64729         * tests/test-fpurge.c: New file.
64730
64731         * modules/fpurge: New file.
64732         * lib/fpurge.h: New file.
64733         * lib/fpurge.c: New file.
64734         * m4/fpurge.m4: New file.
64735
64736 2007-04-13  Bruno Haible  <bruno@clisp.org>
64737
64738         * modules/fbufmode-tests: New file.
64739         * tests/test-fbufmode.c: New file.
64740
64741         * modules/fbufmode: New file.
64742         * lib/fbufmode.h: New file.
64743         * lib/fbufmode.c: New file.
64744         * m4/fbufmode.m4: New file.
64745
64746 2007-04-13  Bruno Haible  <bruno@clisp.org>
64747
64748         * modules/fwritable-tests: New file.
64749         * tests/test-fwritable.c: New file.
64750
64751         * modules/fwritable: New file.
64752         * lib/fwritable.h: New file.
64753         * lib/fwritable.c: New file.
64754         * m4/fwritable.m4: New file.
64755
64756 2007-04-13  Bruno Haible  <bruno@clisp.org>
64757
64758         * modules/freadable-tests: New file.
64759         * tests/test-freadable.c: New file.
64760
64761         * modules/freadable: New file.
64762         * lib/freadable.h: New file.
64763         * lib/freadable.c: New file.
64764         * m4/freadable.m4: New file.
64765
64766 2007-04-13  Bruno Haible  <bruno@clisp.org>
64767
64768         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64769         MOSTLYCLEANFILES.
64770
64771 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64772
64773         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64774         gzip bootstrap.conf to avoid dragging in i18n machinery.
64775         (gnulib_tool_option): Use it.
64776
64777 2007-04-13  Bruno Haible  <bruno@clisp.org>
64778
64779         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64780         %F directives.
64781         * tests/test-vasprintf-posix.c (test_function): Likewise.
64782         * tests/test-snprintf-posix.h (test_function): Likewise.
64783         * tests/test-sprintf-posix.h (test_function): Likewise.
64784         * tests/test-fprintf-posix.h (test_function): Likewise.
64785         * tests/test-printf-posix.h (test_function): Likewise.
64786         * tests/test-fprintf-posix.out: Likewise.
64787
64788 2007-04-13  Bruno Haible  <bruno@clisp.org>
64789
64790         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64791         * modules/tls-tests (configure.ac): Likewise.
64792         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64793
64794 2007-04-13  Bruno Haible  <bruno@clisp.org>
64795
64796         * lib/tls.c (glthread_tls_get): Fix return type.
64797         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64798
64799 2007-04-12  Eric Blake  <ebb9@byu.net>
64800
64801         * modules/gettime (Depends-on): Remove gettime.
64802         Reported by Dmitry V. Levin.
64803
64804 2007-04-12  Bruno Haible  <bruno@clisp.org>
64805
64806         * modules/fflush (Include): Mention <stdio.h>.
64807         * modules/strtoimax (Include): Mention <inttypes.h>.
64808         * modules/strtoumax (Include): Likewise.
64809
64810 2007-04-12  Eric Blake  <ebb9@byu.net>
64811
64812         * .cvsignore: New file.
64813         * .gitignore: Likewise.
64814
64815 2007-04-12  Bruno Haible  <bruno@clisp.org>
64816
64817         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64818         not before, since $(LDADD) often contains libgnu.a.
64819         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64820         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64821         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64822         Needed on Cygwin.
64823
64824 2007-04-12  Eric Blake  <ebb9@byu.net>
64825
64826         Work around glibc's failure to flush stdin on fclose.
64827         * lib/closein.c (close_stdin): Flush stdin before closing.
64828
64829         Work around glibc's failure to reset seekable stdin on exit.
64830         * modules/closein: New module.
64831         * lib/closein.c: New file.
64832         * lib/closein.h: Likewise.
64833         * m4/closein.m4: Likewise.
64834         * MODULES.html.sh (File stream based Input/Output): Document it.
64835
64836 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64837
64838         * gnulib-tool: Rename generated 'autobuild' script to
64839         'do-autobuild' in --create-megatestdir output.
64840
64841         * doc/gnulib.texi (Build robot for gnulib): Fix.
64842
64843 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64844
64845         * modules/sysexits (Depends-on): Add absolute-header.
64846
64847 2007-04-12  Eric Blake  <ebb9@byu.net>
64848
64849         No need to preserve errno on success.
64850         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64851         Reported by Bruno Haible.
64852
64853 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64854
64855         * MODULES.html.sh (Support for maintaining and releasing
64856         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64857
64858 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64859
64860         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64861
64862 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64863
64864         * modules/autobuild: New module.
64865
64866         * m4/autobuild.m4: New file.
64867
64868 2007-04-11  Bruno Haible  <bruno@clisp.org>
64869
64870         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64871         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64872         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64875         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64876         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64878         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64879         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64880         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64881         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64882         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64883         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64884         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64885         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64886         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64887         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64888         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64889         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64890         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64891         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64892         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64893         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64894         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64895         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64896         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64897         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64898         Reported by Eric Blake.
64899
64900 2007-04-11  Bruno Haible  <bruno@clisp.org>
64901
64902         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64903
64904 2007-04-10  Bruno Haible  <bruno@clisp.org>
64905
64906         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64907         for NaN and Infinity. Needed on FreeBSD 6.1.
64908         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64909         regarding results for "%010a" of Infinity and NaN.
64910         * tests/test-vasprintf-posix.c (test_function): Likewise.
64911         * tests/test-snprintf-posix.h (test_function): Likewise.
64912         * tests/test-sprintf-posix.h (test_function): Likewise.
64913         * tests/test-fprintf-posix.h (test_function): Likewise.
64914         * tests/test-printf-posix.h (test_function): Likewise.
64915         * tests/test-fprintf-posix.out: Likewise.
64916
64917 2007-04-10  Bruno Haible  <bruno@clisp.org>
64918
64919         * modules/locale-tests: New file.
64920         * tests/test-locale.c: New file.
64921
64922         * modules/locale: New file.
64923         * lib/locale_.h: New file.
64924         * m4/locale_h.m4: New file.
64925
64926 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64927             Bruno Haible  <bruno@clisp.org>
64928
64929         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64930         be determined, test for availability of the copysignf, copysign,
64931         copysignl functions.
64932         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64933         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64934         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64935
64936 2007-04-09  Eric Blake  <ebb9@byu.net>
64937
64938         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64939         * modules/stdio (Makefile.am): Support fflush.
64940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64941         * modules/fflush: New file.
64942         * lib/fflush.c: Likewise.
64943         * m4/fflush.m4: Likewise.
64944         * modules/fflush-tests: New test.
64945         * tests/test-fflush.c: Likewise.
64946         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64947
64948 2007-04-06  Bruno Haible  <bruno@clisp.org>
64949
64950         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64951         (VASNPRINTF): Use signbit for faster determination whether to print a
64952         minus sign.
64953         * modules/vasnprintf (Files): Remove lib/float+.h.
64954         * modules/fprintf-posix (Depends-on): Add signbit.
64955         * modules/snprintf-posix (Depends-on): Likewise.
64956         * modules/sprintf-posix (Depends-on): Likewise.
64957         * modules/vasnprintf-posix (Depends-on): Likewise.
64958         * modules/vasprintf-posix (Depends-on): Likewise.
64959         * modules/vfprintf-posix (Depends-on): Likewise.
64960         * modules/vsnprintf-posix (Depends-on): Likewise.
64961         * modules/vsprintf-posix (Depends-on): Likewise.
64962
64963 2007-04-06  Bruno Haible  <bruno@clisp.org>
64964
64965         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64966         * tests/test-frexpl.c (main): Likewise.
64967         * tests/test-ldexpl.c (main): Likewise.
64968         * modules/frexp-tests (Depends-on): Add signbit.
64969         * modules/frexpl-tests (Depdends-on): Likewise.
64970         * modules/ldexpl-tests (Depdends-on): Likewise.
64971
64972 2007-04-06  Bruno Haible  <bruno@clisp.org>
64973
64974         * modules/signbit-tests: New file.
64975         * tests/test-signbit.c: New file.
64976
64977         * modules/signbit: New file.
64978         * lib/signbitf.c: New file.
64979         * lib/signbitd.c: New file.
64980         * lib/signbitl.c: New file.
64981         * m4/signbit.m4: New file.
64982         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64983         (signbit): New macro.
64984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64985         REPLACE_SIGNBIT.
64986         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64987         REPLACE_FREXPL into math.h.
64988
64989 2007-04-06  Bruno Haible  <bruno@clisp.org>
64990
64991         * modules/isnanf-nolibm-tests: New file.
64992         * tests/test-isnanf.c: New file.
64993
64994         * modules/isnanf-nolibm: New file.
64995         * lib/isnanf.h: New file.
64996         * lib/isnanf.c: New file.
64997         * lib/isnan.c: Consider the USE_FLOAT macro.
64998         * m4/isnanf.m4: New file.
64999
65000 2007-04-06  Bruno Haible  <bruno@clisp.org>
65001
65002         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
65003         (Link): New section.
65004
65005         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
65006
65007 2007-04-06  Bruno Haible  <bruno@clisp.org>
65008
65009         Assume the 'long double' type.
65010         * m4/longdouble.m4: Remove file.
65011         * config/srclist.txt: Don't mention longdouble.m4.
65012         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
65013         * lib/float+.h: Likewise.
65014         * lib/frexp.c: Likewise.
65015         * lib/printf-args.h: Likewise.
65016         * lib/printf-args.c: Likewise.
65017         * lib/printf-frexp.c: Likewise.
65018         * lib/printf-parse.c: Likewise.
65019         * lib/vasnprintf.c: Likewise.
65020         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
65021         * m4/intl.m4: Likewise.
65022         * m4/isnanl.m4: Likewise.
65023         * m4/printf.m4: Likewise.
65024         * m4/printf-frexpl.m4: Likewise.
65025         * m4/vasnprintf.m4: Likewise.
65026         * modules/allocsa (Files): Remove m4/longdouble.m4.
65027         * modules/gettext (Files): Likewise.
65028         * modules/relocatable-prog-wrapper (Files): Likewise.
65029         * modules/vasnprintf (Files): Likewise.
65030         * modules/isnanl (Files): Likewise.
65031         (Include): Simplify.
65032         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
65033         (Include): Simplify.
65034         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
65035         (Include): Simplify.
65036         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
65037         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65038         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
65039         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65040         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
65041         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65042         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
65043         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65044         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
65045         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65046         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
65047         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
65048         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
65049         * tests/test-isnanl.c: Likewise.
65050         * tests/test-snprintf-posix.h: Likewise.
65051         * tests/test-sprintf-posix.h: Likewise.
65052         * tests/test-vasnprintf-posix.c: Likewise.
65053         * tests/test-vasnprintf-posix2.c: Likewise.
65054         * tests/test-vasprintf-posix.c: Likewise.
65055
65056 2007-04-06  Bruno Haible  <bruno@clisp.org>
65057
65058         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
65059         * lib/math_.h [__DECC]: Include the overridden include file through
65060         #include_next, outside the double-inclusion guard.
65061         * lib/stdio_.h [__DECC]: Likewise.
65062         * lib/stdlib_.h [__DECC]: Likewise.
65063         * lib/string_.h [__DECC]: Likewise.
65064         * lib/time_.h [__DECC]: Likewise.
65065         * lib/wchar_.h [__DECC]: Likewise.
65066         * lib/wctype_.h [__DECC]: Likewise.
65067         * lib/inttypes_.h [__DECC]: Likewise.
65068         Reported by Albert Chin <china@thewrittenword.com> in
65069         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
65070
65071 2007-04-04  Eric Blake  <ebb9@byu.net>
65072
65073         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
65074         1.5.x.
65075
65076 2007-04-04  Bruno Haible  <bruno@clisp.org>
65077
65078         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
65079         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
65080
65081 2007-04-04  Bruno Haible  <bruno@clisp.org>
65082
65083         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
65084         results for "%010a" of Infinity and NaN.
65085         * tests/test-vasprintf-posix.c (test_function): Likewise.
65086         * tests/test-snprintf-posix.h (test_function): Likewise.
65087         * tests/test-sprintf-posix.h (test_function): Likewise.
65088         * tests/test-fprintf-posix.h (test_function): Remove these tests.
65089         * tests/test-printf-posix.h (test_function): Likewise.
65090         * tests/test-fprintf-posix.out: Update.
65091         Needed for FreeBSD 6.1.
65092
65093 2007-04-04  Bruno Haible  <bruno@clisp.org>
65094
65095         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
65096         directly used by the gnulib modules nor by gnulib-tool.
65097
65098 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65099
65100         * DEPENDENCIES: Give overall description of version dependency
65101         desirability.  Use more-typical names for apps.
65102         Add shell, coreutils, diffutils, grep, tar, gzip.
65103
65104 2007-04-04  Simon Josefsson  <simon@josefsson.org>
65105
65106         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
65107
65108 2007-04-04  Karl Berry  <karl@gnu.org>
65109
65110         * MODULES.html.sh (func_module): missing '.
65111
65112 2007-04-03  Bruno Haible  <bruno@clisp.org>
65113
65114         * modules/argmatch-tests (Makefile.am): New variable
65115         test_argmatch_LDADD.
65116         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
65117         * modules/array-list-tests (Makefile.am): New variable
65118         test_array_list_LDADD.
65119         * modules/array-oset-tests (Makefile.am): New variable
65120         test_array_oset_LDADD.
65121         * modules/avltree-list-tests (Makefile.am): New variable
65122         test_avltree_list_LDADD.
65123         * modules/avltree-oset-tests (Makefile.am): New variable
65124         test_avltree_oset_LDADD.
65125         * modules/avltreehash-list-tests (Makefile.am): New variable
65126         test_avltreehash_list_LDADD.
65127         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
65128         test_canonicalize_lgpl_LDADD.
65129         * modules/carray-list-tests (Makefile.am): New variable
65130         test_carray_list_LDADD.
65131         * modules/dirname-tests (Makefile.am): New variable
65132         test_dirname_LDADD.
65133         * modules/linked-list-tests (Makefile.am): New variable
65134         test_linked_list_LDADD.
65135         * modules/linkedhash-list-tests (Makefile.am): New variable
65136         test_linkedhash_list_LDADD.
65137         * modules/rbtree-list-tests (Makefile.am): New variable
65138         test_rbtree_list_LDADD.
65139         * modules/rbtree-oset-tests (Makefile.am): New variable
65140         test_rbtree_oset_LDADD.
65141         * modules/rbtreehash-list-tests (Makefile.am): New variable
65142         test_rbtreehash_list_LDADD.
65143         * modules/xvasprintf-tests (Makefile.am): New variable
65144         test_xvasprintf_LDADD.
65145         Reported by Eric Blake.
65146
65147 2007-04-03  Eric Blake  <ebb9@byu.net>
65148
65149         * DEPENDENCIES: Weaken m4 requirements.
65150
65151 2007-04-03  Bruno Haible  <bruno@clisp.org>
65152
65153         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
65154         * modules/isnanl-tests (configure.ac): Likewise.
65155
65156 2007-04-03  Ben Pfaff  <blp@gnu.org>
65157
65158         * modules/iconv_open: Add $(srcdir)/ to source directory
65159         references in Makefile fragments that call gperf, to fix VPATH
65160         builds.
65161
65162 2007-04-03  Bruno Haible  <bruno@clisp.org>
65163
65164         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
65165         * lib/ldexpl.c: Undo last change.
65166
65167 2007-04-03  Bruno Haible  <bruno@clisp.org>
65168
65169         * modules/printf-frexpl (Depends-on): Undo last change.
65170         (Files): Add m4/ldexpl.m4.
65171
65172 2007-04-03  Bruno Haible  <bruno@clisp.org>
65173
65174         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
65175         * modules/isnanl (Link): New section.
65176
65177         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
65178         * modules/frexp (Link): New section.
65179
65180         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
65181         * modules/frexpl (Link): New section.
65182
65183         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
65184         * modules/ldexpl (Link): New section.
65185
65186 2007-04-03  Bruno Haible  <bruno@clisp.org>
65187
65188         * modules/TEMPLATE-EXTENDED: New file.
65189         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
65190
65191 2007-04-03  Bruno Haible  <bruno@clisp.org>
65192
65193         * DEPENDENCIES: New file.
65194         Suggested by Simon Josefsson.
65195
65196 2007-04-03  Bruno Haible  <bruno@clisp.org>
65197
65198         * doc/gnulib.texi: Escape @.
65199
65200 2007-04-03  James Youngman  <jay@gnu.org>
65201         and Paul Eggert  <eggert@cs.ucla.edu>
65202
65203         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
65204         birthtime on all systems that have birthtime, not just those which
65205         use st_birthtimensec rather than st_birthtim.  Putting zero in
65206         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
65207         that the birth time is not available for files on an NFS mount.
65208
65209 2007-04-03  Simon Josefsson  <simon@josefsson.org>
65210
65211         * modules/memxor: Move back from crypto/, suggested by Bruno.
65212         * modules/crypto/hmac-sha1: Fix memxor dependency.
65213
65214         * modules/crypto/gc: Moved from ../.
65215
65216 2007-04-02  Eric Blake  <ebb9@byu.net>
65217
65218         * lib/ldexpl.c (includes): Avoid libm.
65219
65220         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
65221
65222 2007-04-02  Bruno Haible  <bruno@clisp.org>
65223
65224         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
65225         on IRIX.
65226
65227 2007-04-02  Bruno Haible  <bruno@clisp.org>
65228
65229         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
65230         x86 or x86_64 platforms running MacOS X.
65231         Reported by Ryan Schmidt <@ryandesign.com>.
65232
65233 2007-04-02  Bruno Haible  <bruno@clisp.org>
65234
65235         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65236         i386.
65237
65238 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65239
65240         * modules/crypto/arcfour: Moved from ../.
65241         * modules/crypto/arcfour-tests: Moved from ../.
65242         * modules/crypto/arctwo: Moved from ../.
65243         * modules/crypto/arctwo-tests: Moved from ../.
65244         * modules/crypto/des: Moved from ../.
65245         * modules/crypto/des-tests: Moved from ../.
65246         * modules/crypto/gc-arcfour: Moved from ../.
65247         * modules/crypto/gc-arcfour-tests: Moved from ../.
65248         * modules/crypto/gc-arctwo: Moved from ../.
65249         * modules/crypto/gc-arctwo-tests: Moved from ../.
65250         * modules/crypto/gc-des: Moved from ../.
65251         * modules/crypto/gc-des-tests: Moved from ../.
65252         * modules/crypto/gc-hmac-md5: Moved from ../.
65253         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65254         * modules/crypto/gc-hmac-sha1: Moved from ../.
65255         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65256         * modules/crypto/gc-md2: Moved from ../.
65257         * modules/crypto/gc-md2-tests: Moved from ../.
65258         * modules/crypto/gc-md4: Moved from ../.
65259         * modules/crypto/gc-md4-tests: Moved from ../.
65260         * modules/crypto/gc-md5: Moved from ../.
65261         * modules/crypto/gc-md5-tests: Moved from ../.
65262         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65263         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65264         * modules/crypto/gc-random: Moved from ../.
65265         * modules/crypto/gc-rijndael: Moved from ../.
65266         * modules/crypto/gc-rijndael-tests: Moved from ../.
65267         * modules/crypto/gc-sha1: Moved from ../.
65268         * modules/crypto/gc-sha1-tests: Moved from ../.
65269         * modules/crypto/gc-tests: Moved from ../.
65270         * modules/crypto/hmac-md5: Moved from ../.
65271         * modules/crypto/hmac-md5-tests: Moved from ../.
65272         * modules/crypto/hmac-sha1: Moved from ../.
65273         * modules/crypto/hmac-sha1-tests: Moved from ../.
65274         * modules/crypto/md2: Moved from ../.
65275         * modules/crypto/md2-tests: Moved from ../.
65276         * modules/crypto/md4: Moved from ../.
65277         * modules/crypto/md4-tests: Moved from ../.
65278         * modules/crypto/md5: Moved from ../.
65279         * modules/crypto/md5-tests: Moved from ../.
65280         * modules/crypto/memxor: Moved from ../.
65281         * modules/crypto/rijndael: Moved from ../.
65282         * modules/crypto/rijndael-tests: Moved from ../.
65283         * modules/crypto/sha1: Moved from ../.
65284
65285 2007-03-30  James Youngman  <jay@gnu.org>
65286
65287         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65288         rename() to change the ctime of a file (because ctime is unaffected
65289         by rename on jfs2 on AIX 5.1).
65290         (main): Start by doing cleanup, in case a previous run failed leaving
65291         test files behind.
65292
65293 2007-03-31  Bruno Haible  <bruno@clisp.org>
65294
65295         Support old proprietary implementations of iconv.
65296         * modules/iconv_open: New file.
65297         * lib/iconv_.h: New file.
65298         * m4/iconv_h.m4: New file.
65299         * lib/iconv_open.c: New file.
65300         * lib/iconv_open-aix.gperf: New file.
65301         * lib/iconv_open-hpux.gperf: New file.
65302         * lib/iconv_open-irix.gperf: New file.
65303         * lib/iconv_open-osf.gperf: New file.
65304         * m4/iconv_open.m4: New file.
65305         * modules/linebreak (Depends-on): Add iconv_open.
65306         * modules/striconv (Depends-on): Likewise.
65307         * modules/striconveh (Depends-on): Likewise.
65308         * modules/unicodeio (Depends-on): Likewise.
65309         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65310         (iconv_t)(-1).
65311         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65312         conversion if cd is (iconv_t)(-1).
65313         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65314         is not possible.
65315
65316 2007-03-31  Bruno Haible  <bruno@clisp.org>
65317
65318         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65319         work on Solaris either. Protect also second use of "autodetect_jp".
65320
65321 2007-03-31  Bruno Haible  <bruno@clisp.org>
65322
65323         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65324         the function is not present.
65325
65326 2007-03-31  Bruno Haible  <bruno@clisp.org>
65327
65328         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65329         the function is not present.
65330
65331 2007-03-31  Bruno Haible  <bruno@clisp.org>
65332
65333         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
65334         a bug in HP-UX iconv_open().
65335
65336 2007-03-31  Bruno Haible  <bruno@clisp.org>
65337
65338         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
65339         (Mathematics <math.h>): New section, add fpieee.
65340         (Input/output <stdio.h>): Add fseterr.
65341         (Mathematics <math.h>): New section, add printf-frexp.
65342         (Container data structures): Add sublist.
65343         (Core language properties): Add fpucw, inline.
65344         (Functions for greatest-width integer types <inttypes.h>): Add
65345         imaxabs, imaxdiv, inttypes.
65346         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
65347         isnanl-nolibm, ldexp.
65348         (Mathematics <math.h>): New section, add printf-frexpl.
65349         (Support for systems lacking POSIX:2001): Add fprintf-posix,
65350         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
65351         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
65352         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65353         (Unicode string functions): Add unistr/u*-mbtoucr.
65354         (Java): Add javacomp-script, javaexec-script.
65355         (C#): Add csharpcomp-script, csharpexec-script.
65356         (Support for building libraries and executables): Add havelib,
65357         relocatable-*.
65358         (Support for maintaining and releasing projects): Renamed from
65359         'Support for maintaining and release projects'. Add announce-gen.
65360
65361 2007-03-31  Bruno Haible  <bruno@clisp.org>
65362
65363         * README: Talk primarily about git.
65364         (git and CVS): Renamed from CVS.
65365         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65366         gnulib is available through git.
65367         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65368
65369 2007-03-30  Bruno Haible  <bruno@clisp.org>
65370
65371         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65372         * lib/poll_.h: Likewise.
65373         * lib/stat_.h: Likewise.
65374         * lib/sys_time_.h: Likewise.
65375         * lib/sysexit_.h: Likewise.
65376         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65377         * lib/stdbool_.h: Likewise.
65378         * lib/byteswap_.h: Add double-inclusion guard.
65379
65380 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65381
65382         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65383
65384 2007-03-30  Karl Berry  <karl@gnu.org>
65385
65386         * config/srclist-update: double space after USA in the license
65387         substitution, since that's how it's usually (?) written.
65388
65389 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65390
65391         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65392         reported by Bruno Haible.
65393
65394 2007-03-29  Bruno Haible  <bruno@clisp.org>
65395
65396         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65397         a bug in AIX iconv().
65398
65399 2007-03-29  Bruno Haible  <bruno@clisp.org>
65400
65401         * modules/ldexpl-tests: New file.
65402         * tests/test-ldexpl.c: New file.
65403
65404 2007-03-29  Bruno Haible  <bruno@clisp.org>
65405
65406         * lib/ldexpl.c: Include fpucw.h.
65407         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65408         multiplication.
65409         * modules/ldexpl (Depends-on): Add fpucw.
65410
65411 2007-03-29  Bruno Haible  <bruno@clisp.org>
65412
65413         * modules/ldexpl: New file.
65414         * m4/ldexpl.m4: New file.
65415         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65416         set.
65417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65418         REPLACE_LDEXPL.
65419         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65420         REPLACE_LDEXPL.
65421         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65422         gl_FUNC_LDEXPL_WORKS.
65423         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65424         * modules/mathl (Files): Remove lib/ldexpl.c.
65425         (Depends-on): Add ldexpl.
65426
65427 2007-03-29  Bruno Haible  <bruno@clisp.org>
65428
65429         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65430
65431 2007-03-29  Bruno Haible  <bruno@clisp.org>
65432
65433         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65434         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65435         and possibly also HP-UX.
65436         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65437         work on AIX, IRIX, HP-UX, OSF/1.
65438         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65439         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65440         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65441         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65442         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65443         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65444
65445 2007-03-29  Bruno Haible  <bruno@clisp.org>
65446
65447         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65448
65449 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65450
65451         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65452         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65453
65454 2007-03-29  Eric Blake  <ebb9@byu.net>
65455
65456         * lib/acl-internal.h: Remove redundant include.
65457         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65458         Cygwin when a file is locked.
65459
65460 2007-03-29  Bruno Haible  <bruno@clisp.org>
65461
65462         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65463         file.
65464         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65465
65466 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65467
65468         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65469         try to remove a parent directory if the child couldn't be removed
65470         (except for the first rmdir, which could fail because the child
65471         doesn't exist).  Problem reported by Jeff Blaine in
65472         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65473
65474 2007-03-28  Bruno Haible  <bruno@clisp.org>
65475
65476         * lib/striconveh.c (utf8conv_carefully): New function.
65477         (mem_cd_iconveh_internal): Invoke it.
65478
65479 2007-03-28  Bruno Haible  <bruno@clisp.org>
65480
65481         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65482         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65483         input.
65484         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65485         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65486         unistr/u8-uctomb.
65487
65488 2007-03-28  Bruno Haible  <bruno@clisp.org>
65489
65490         * modules/unistr/u8-mbtoucr: New file.
65491         * lib/unistr/u8-mbtoucr.c: New file.
65492         * modules/unistr/u16-mbtoucr: New file.
65493         * lib/unistr/u16-mbtoucr.c: New file.
65494         * modules/unistr/u16-mbtoucr: New file.
65495         * lib/unistr/u16-mbtoucr.c: New file.
65496         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65497
65498 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65499             Bruno Haible  <bruno@clisp.org>
65500
65501         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65502         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65503         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65504
65505         * m4/stdio_h.m4: Add stubs for vasprintf too.
65506
65507         * modules/stdio: Support vasprintf in sed command.
65508
65509         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65510         vasprintf.h.  Add stdio module indicator.
65511
65512         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65513         vasprintf.h.
65514
65515         * lib/vasprintf.h: File removed.
65516
65517         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65518         * lib/vasprintf.c: Ditto.
65519         * lib/xvasprintf.c: Ditto.
65520         * tests/test-vasprintf-posix.c: Ditto.
65521         * tests/test-vasprintf.c: Ditto.
65522
65523 2007-03-27  Bruno Haible  <bruno@clisp.org>
65524
65525         Make vasnprintf multithread-safe.
65526         * lib/vasnprintf.c (decimal_point_char): New function.
65527         (VASNPRINTF): Use it.
65528         Suggested by Simon Josefsson.
65529
65530 2007-03-27  Eric Blake  <ebb9@byu.net>
65531
65532         Support sub-second birthtime on cygwin.
65533         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65534         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65535         (get_stat_birthtime): Also work with st_birthtim.
65536
65537 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65538
65539         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65540         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65541         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65542         (get_stat_birthtime_ns): Simplify compile-time tests.
65543         (get_stat_birthtime): Change the API to look like
65544         get_stat_mtime etc., except return a negative tv_nsec on error.
65545         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65546         Don't check for "spare" fields.
65547         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65548         or for struct stat.st_birthtime, as these tests aren't used.
65549         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65550
65551 2007-03-27  Bruno Haible  <bruno@clisp.org>
65552
65553         * lib/stat-time.h: Include <sys/stat.h>.
65554
65555 2007-03-27  James Youngman  <jay@gnu.org>
65556
65557         * lib/stat-time.h (get_stat_birthtime): New function for
65558           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65559         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65560           and its variants.
65561         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65562         * modules/stat-time-test: New file.
65563         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65564
65565 2007-03-26  Bruno Haible  <bruno@clisp.org>
65566
65567         Better support of signalling NaNs.
65568         * lib/atanl.c: Include isnanl.h.
65569         (atanl): Perform test for NaN at the beginning of the function and
65570         through a call to isnanl.
65571         * lib/cosl.c: Include isnanl.h.
65572         (cosl): Perform test for NaN at the beginning of the function and
65573         through a call to isnanl.
65574         * lib/ldexpl.c: Include isnanl.h.
65575         (ldexpl): Perform test for NaN through a call to isnanl.
65576         * lib/logl.c: Include isnanl.h.
65577         (logl): Perform test for NaN at the beginning of the function and
65578         through a call to isnanl.
65579         * lib/sinl.c: Include isnanl.h.
65580         (sinl): Perform test for NaN at the beginning of the function and
65581         through a call to isnanl.
65582         * lib/sqrtl.c: Include isnanl.h.
65583         (sqrtl): Perform test for NaN at the beginning of the function and
65584         through a call to isnanl.
65585         * lib/tanl.c: Include isnanl.h.
65586         (tanl): Perform test for NaN at the beginning of the function and
65587         through a call to isnanl.
65588         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65589         * modules/mathl (Depends-on): Add isnanl.
65590
65591 2007-03-26  Eric Blake  <ebb9@byu.net>
65592
65593         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65594         regression in logic sense of previous patch.
65595
65596 2007-03-26  Bruno Haible  <bruno@clisp.org>
65597
65598         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65599         unportable shell command "if ! ...".
65600         Reported by Ralf Wildenhues.
65601
65602 2007-03-25  Bruno Haible  <bruno@clisp.org>
65603
65604         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65605         <sysexits.h> file, and only add EX_CONFIG.
65606         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65607         absolute file name and whether it is sufficient. Substitute also
65608         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65609         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65610         ABSOLUTE_SYSEXITS_H into sysexits.h.
65611
65612 2007-03-25  Bruno Haible  <bruno@clisp.org>
65613
65614         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65615         hints is NULL.
65616
65617 2007-03-25  Bruno Haible  <bruno@clisp.org>
65618
65619         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65620         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65621
65622 2007-03-25  Bruno Haible  <bruno@clisp.org>
65623
65624         * lib/vasnprintf.c: Include langinfo.h.
65625         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65626         multithread-safe.
65627         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65628         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65629         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65630         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65631         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65632         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65633         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65634         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65635         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65636         Reported by Simon Josefsson.
65637
65638 2007-03-25  Bruno Haible  <bruno@clisp.org>
65639
65640         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65641         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65642         * modules/vasnprintf (Depends-on): Add stdint.
65643
65644 2007-03-25  Bruno Haible  <bruno@clisp.org>
65645
65646         * modules/fpieee: New file.
65647         * m4/fpieee.m4: New file.
65648         * modules/isnan-nolibm (Depends-on): Add fpieee.
65649         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65650         * modules/isnanl (Depends-on): Add fpieee.
65651
65652 2007-03-25  Bruno Haible  <bruno@clisp.org>
65653
65654         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65655
65656 2007-03-25  Bruno Haible  <bruno@clisp.org>
65657
65658         Avoid test failures on IRIX 6.5.
65659         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65660         (main): Use it.
65661         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65662         macros.
65663         (main): Use them.
65664
65665 2007-03-25  Bruno Haible  <bruno@clisp.org>
65666
65667         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65668         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65669         exists but doesn't work.
65670         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65671         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65672         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65673         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65674         math.h.
65675
65676 2007-03-25  Bruno Haible  <bruno@clisp.org>
65677
65678         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65679         returns inf. Needed on IRIX 6.5.
65680
65681 2007-03-25  Bruno Haible  <bruno@clisp.org>
65682
65683         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65684         (main): Use isnanl instead of x != x idiom.
65685         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65686
65687         * tests/test-frexp.c: Include isnan.h.
65688         (main): Use isnan instead of x != x idiom.
65689         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65690
65691 2007-03-25  Bruno Haible  <bruno@clisp.org>
65692
65693         * tests/test-frexp.c (NaN): New function/macro.
65694         (main): Use it instead of 0.0 / 0.0.
65695         * tests/test-isnan.c (NaN): New function/macro.
65696         (main): Use it instead of 0.0 / 0.0.
65697         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65698         (test_function): Use it instead of 0.0 / 0.0.
65699         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65700         (test_function): Use it instead of 0.0 / 0.0.
65701         * tests/test-snprintf-posix.h (NaN): New function/macro.
65702         (test_function): Use it instead of 0.0 / 0.0.
65703         * tests/test-sprintf-posix.h (NaN): New function/macro.
65704         (test_function): Use it instead of 0.0 / 0.0.
65705         * tests/test-fprintf-posix.h (NaN): New function/macro.
65706         (test_function): Use it instead of 0.0 / 0.0.
65707         * tests/test-printf-posix.h (NaN): New function/macro.
65708         (test_function): Use it instead of 0.0 / 0.0.
65709
65710         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65711
65712 2007-03-25  Bruno Haible  <bruno@clisp.org>
65713
65714         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65715
65716 2007-03-25  Bruno Haible  <bruno@clisp.org>
65717
65718         * lib/regexec.c (merge_state_with_log): Make static.
65719
65720 2007-03-25  Bruno Haible  <bruno@clisp.org>
65721
65722         * lib/trigl.c (kernel_rem_pio2): Make static.
65723
65724 2007-03-25  Bruno Haible  <bruno@clisp.org>
65725
65726         * lib/sincosl.c (sincosl_table): Make static.
65727
65728 2007-03-25  Bruno Haible  <bruno@clisp.org>
65729
65730         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65731         if the compiler does not support C99.
65732
65733 2007-03-25  Bruno Haible  <bruno@clisp.org>
65734
65735         * modules/time (Makefile.am): Ensure all rule action lines start with a
65736         tab.
65737
65738 2007-03-24  Bruno Haible  <bruno@clisp.org>
65739
65740         * modules/tsearch-tests: New file.
65741         * tests/test-tsearch.sh: New file.
65742         * tests/test-tsearch.c: New file, mostly copied from glibc.
65743
65744         * modules/search-tests: New file.
65745         * tests/test-search.c: New file.
65746
65747         * modules/search: New file.
65748         * lib/search_.h: New file, incorporating lib/tsearch.h.
65749         * m4/search_h.m4: New file.
65750         * lib/tsearch.h: Remove file.
65751         * lib/tsearch.c: Include search.h instead of tsearch.h.
65752         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65753         HAVE_TSEARCH.
65754         * modules/tsearch (Files): Remove lib/tsearch.h.
65755         (Depends-on): Add search.
65756         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65757         (Include): Change tsearch.h into search.h.
65758
65759 2007-03-24  Bruno Haible  <bruno@clisp.org>
65760
65761         * modules/fpucw: New file.
65762         * lib/fpucw.h: New file.
65763         * lib/frexp.c: Include fpucw.h.
65764         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65765         (FUNC): Use them.
65766         * lib/printf-frexp.c: Include fpucw.h.
65767         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65768         (FUNC): Use them.
65769         * lib/vasnprintf.c: Include fpucw.h.
65770         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65771         'long double' calculations.
65772         * tests/test-frexpl.c: Include fpucw.h.
65773         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65774         * tests/test-printf-frexpl.c: Include fpucw.h.
65775         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65776         * modules/frexpl (Depends-on): Add fpucw.
65777         * modules/printf-frexpl (Depends-on): Likewise.
65778         * modules/fprintf-posix (Depends-on): Likewise.
65779         * modules/snprintf-posix (Depends-on): Likewise.
65780         * modules/sprintf-posix (Depends-on): Likewise.
65781         * modules/vasnprintf-posix (Depends-on): Likewise.
65782         * modules/vasprintf-posix (Depends-on): Likewise.
65783         * modules/vfprintf-posix (Depends-on): Likewise.
65784         * modules/vsnprintf-posix (Depends-on): Likewise.
65785         * modules/vsprintf-posix (Depends-on): Likewise.
65786         * modules/frexpl-tests (Depends-on): Likewise.
65787         * modules/printf-frexpl-tests (Depends-on): Likewise.
65788
65789 2007-03-24  Bruno Haible  <bruno@clisp.org>
65790
65791         * lib/float+.h: New file.
65792         * lib/isnan.c: Include float+.h.
65793         (SIZE): New macro.
65794         (FUNC): Compare only SIZE bytes of the value.
65795         * lib/vasnprintf.c: Include float+.h.
65796         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65797         SIZEOF_LDBL or SIZEOF_DBL bytes.
65798         * modules/isnan-nolibm (Files): Add lib/float+.h.
65799         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65800         * modules/isnanl (Files): Add lib/float+.h.
65801         * modules/vasnprintf (Files): Add lib/float+.h.
65802
65803 2007-03-24  Bruno Haible  <bruno@clisp.org>
65804
65805         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65806         include isnanl-nolibm.h.
65807
65808 2007-03-24  Bruno Haible  <bruno@clisp.org>
65809
65810         * tests/test-read-file.c (main): Don't produce spurious output for
65811         expected situations. Make the test fail if it encountered unexpected
65812         results.
65813
65814 2007-03-24  Bruno Haible  <bruno@clisp.org>
65815
65816         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65817         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65818
65819 2007-03-24  Bruno Haible  <bruno@clisp.org>
65820
65821         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65822
65823 2007-03-24  Bruno Haible  <bruno@clisp.org>
65824
65825         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65826         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65827
65828         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65829         * modules/utf8-ucs4: Turn into a symbolic link to module
65830         unistr/u8-mbtouc.
65831
65832         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65833         utf8-ucs4-unsafe.
65834         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65835         unistr/u8-mbtouc-unsafe.
65836
65837         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65838         * modules/utf16-ucs4: Turn into a symbolic link to module
65839         unistr/u16-mbtouc.
65840
65841         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65842         utf16-ucs4-unsafe.
65843         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65844         unistr/u16-mbtouc-unsafe.
65845
65846         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65847         * modules/ucs4-utf8: Turn into a symbolic link to module
65848         unistr/u8-ubtomb.
65849
65850         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65851         * modules/ucs4-utf16: Turn into a symbolic link to module
65852         unistr/u16-ubtomb.
65853
65854 2007-03-24  Bruno Haible  <bruno@clisp.org>
65855
65856         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65857         Enable the function only if HAVE_INLINE.
65858         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65859         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65860         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65861         Enable the function only if HAVE_INLINE.
65862         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65863         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65864         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65865         Enable the function only if HAVE_INLINE.
65866         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65867         Enable the function only if HAVE_INLINE.
65868         * modules/utf8-ucs4: Update.
65869         * modules/utf8-ucs4-unsafe: Update.
65870         * modules/utf16-ucs4: Update.
65871         * modules/utf16-ucs4-unsafe: Update.
65872         * modules/ucs4-utf8: Update.
65873         * modules/ucs4-utf16: Update.
65874
65875 2007-03-24  Bruno Haible  <bruno@clisp.org>
65876
65877         * lib/utf8-ucs4.h: Remove file.
65878         * lib/utf8-ucs4-unsafe.h: Remove file.
65879         * lib/utf16-ucs4.h: Remove file.
65880         * lib/utf16-ucs4-unsafe.h: Remove file.
65881         * lib/ucs4-utf8.h: Remove file.
65882         * lib/ucs4-utf16.h: Remove file.
65883         * lib/unistr.h: Include their previous contents.
65884         * m4/utf-ucs4.m4: Remove file.
65885         * m4/ucs4-utf.m4: Remove file.
65886         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65887         (Depends-on): Add unistr/base.
65888         (configure.ac): Remove gl_UTF_UCS4.
65889         (Makefile.am): Update.
65890         (Include): Change to unistr.h.
65891         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65892         (Depends-on): Add unistr/base.
65893         (configure.ac): Remove gl_UTF_UCS4.
65894         (Makefile.am): Update.
65895         (Include): Change to unistr.h.
65896         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65897         (Depends-on): Add unistr/base.
65898         (configure.ac): Remove gl_UTF_UCS4.
65899         (Makefile.am): Update.
65900         (Include): Change to unistr.h.
65901         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65902         (Depends-on): Add unistr/base.
65903         (configure.ac): Remove gl_UTF_UCS4.
65904         (Makefile.am): Update.
65905         (Include): Change to unistr.h.
65906         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65907         (Depends-on): Add unistr/base.
65908         (configure.ac): Remove gl_UCS4_UTF.
65909         (Makefile.am): Update.
65910         (Include): Change to unistr.h.
65911         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65912         (Depends-on): Add unistr/base.
65913         (configure.ac): Remove gl_UCS4_UTF.
65914         (Makefile.am): Update.
65915         (Include): Change to unistr.h.
65916         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65917         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65918         utf8-ucs4-unsafe.h.
65919         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65920         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65921         utf16-ucs4-unsafe.h.
65922         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65923         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65924         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65925         * lib/unistr/u8-strchr.c: Likewise.
65926         * lib/unistr/u8-strrchr.c: Likewise.
65927         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65928         * lib/unistr/u16-strchr.c: Likewise.
65929         * lib/unistr/u16-strrchr.c: Likewise.
65930         * lib/striconveh.c: Update.
65931         * lib/linebreak.c: Update.
65932
65933 2007-03-24  Bruno Haible  <bruno@clisp.org>
65934
65935         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65936         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65937
65938 2007-03-22  Bruno Haible  <bruno@clisp.org>
65939
65940         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65941
65942 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65943
65944         * MODULES.html.sh (File system functions): New module write-any-file.
65945         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65946         * m4/write-any-file.m4: New files.
65947
65948 2007-03-23  Eric Blake  <ebb9@byu.net>
65949
65950         * gnulib-tool: Rearrange space-tab sequences, since some editors
65951         like to eat them.
65952
65953 2007-03-23  Eric Blake  <ebb9@byu.net>
65954
65955         * lib/version-etc.c (version_etc_va): Update license wording to
65956         be more concise.  Recommended by Richard Stallman.
65957
65958 2007-03-22  Bruno Haible  <bruno@clisp.org>
65959
65960         * lib/poll.c (MSG_PEEK): New fallback definition.
65961
65962 2007-03-22  Bruno Haible  <bruno@clisp.org>
65963
65964         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65965         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65966         (main): Update.
65967         Fixes a compilation error on BeOS.
65968
65969 2007-03-22  Bruno Haible  <bruno@clisp.org>
65970
65971         * modules/frexpl-tests: New file.
65972         * tests/test-frexpl.c: New file.
65973
65974         * modules/frexpl: New file.
65975         * m4/frexpl.m4: New file.
65976         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65977         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65979         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65980         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65981         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65982
65983 2007-03-22  Bruno Haible  <bruno@clisp.org>
65984
65985         * lib/frexpl.c: Share code with lib/frexp.c.
65986         * modules/mathl (Files): Add lib/frexp.c.
65987         (Depends-on): Add isnanl-nolibm.
65988
65989 2007-03-22  Bruno Haible  <bruno@clisp.org>
65990
65991         * modules/printf-frexp (Files): Add m4/frexp.m4.
65992         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65993         only if the found frexp function actually works.
65994
65995 2007-03-22  Bruno Haible  <bruno@clisp.org>
65996
65997         * lib/frexp.c: Remove older implementation that uses divisions.
65998
65999 2007-03-21  Bruno Haible  <bruno@clisp.org>
66000
66001         * modules/frexp-tests: New file.
66002         * tests/test-frexp.c: New file.
66003
66004         * modules/frexp: New file.
66005         * lib/frexp.c: New file.
66006         * m4/frexp.m4: New file.
66007         * lib/math_.h (frexp): New declaration.
66008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
66009         REPLACE_FREXP.
66010         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
66011
66012 2007-03-21  Bruno Haible  <bruno@clisp.org>
66013
66014         * modules/isnanl-tests: New file.
66015         * tests/test-isnanl.c: New file.
66016
66017         * modules/isnanl: New file.
66018         * lib/isnanl.h: New file.
66019         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
66020         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
66021         gl_FUNC_ISNANL_WORKS.
66022         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
66023         New macros.
66024
66025 2007-03-21  Bruno Haible  <bruno@clisp.org>
66026
66027         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
66028         lib/isnanl.h.
66029         (Include): Update.
66030         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
66031         * lib/vasnprintf.c: Update.
66032         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
66033         tests/test-isnanl.h, remove tests/test-isnanl.c.
66034         (Makefile.am): Update.
66035         * tests/test-isnanl-nolibm.c: New file.
66036         * tests/test-isnanl.h: New file.
66037         * tests/test-isnanl.c: Remove file.
66038
66039 2007-03-21  Jim Meyering  <jim@meyering.net>
66040
66041         When trying to open ".", treat ESTALE like EACCES.
66042         * lib/savewd.c (savewd_save): Resort to forking not just upon
66043         failure with EACCES, but also when errno is ESTALE.
66044
66045 2007-03-20  Bruno Haible  <bruno@clisp.org>
66046
66047         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
66048         Needed on AIX 5.1. Reported by Matthew Woehlke.
66049
66050 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66051
66052         Suggestions by Bruno Haible:
66053         * lib/acl-internal.h: Include "gettext.h" rather than rolling
66054         our own.
66055         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
66056         * modules/acl (Depends-on): Add gettext.
66057
66058 2007-03-19  Bruno Haible  <bruno@clisp.org>
66059
66060         * modules/iconvme: Remove file.
66061         * lib/iconvme.h: Remove file.
66062         * lib/iconvme.c: Remove file.
66063         * m4/iconvme.m4: Remove file.
66064
66065 2007-03-19  Bruno Haible  <bruno@clisp.org>
66066
66067         * doc/relocatable-maint.texi: Break long shell script line.
66068         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
66069
66070 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66071
66072         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
66073         handle file_has_acl.
66074         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
66075         * lib/acl.c: Move header inclusions and related macro defns into
66076         lib/acl-internal.h.
66077         (S_ISLNK): Remove defn, since that's now done for us.
66078         (file_has_acl): Move to lib/file-has-acl.c.
66079         Call acl_trivial if available.  This is the crucial part of the fix.
66080         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
66081         shared within the library.  Rewrite a bit, partly to make it compatible
66082         with the GNU coding style.
66083         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
66084         Remove unnecessary double-quotes.
66085         Don't test for acl_to_text; the build will catch that.
66086         Replace acl_entries if it doesn't exist and it is needed.
66087         Check for -lsec and acl_trivial (as used on Solaris 10).
66088         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
66089         lib/file-has-acl.c.
66090         (Depends-on): Add sys_stat, for S_ISLNK.
66091
66092 2007-03-19  Ben Pfaff  <blp@gnu.org>
66093
66094         * doc/gnulib.texi: Fix typos.
66095         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
66096
66097 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
66098
66099         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
66100         If size is zero here, buf must be zero.
66101
66102 2007-03-19  Simon Josefsson  <simon@josefsson.org>
66103
66104         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
66105         <bruno@clisp.org>.
66106
66107 2007-03-18  Bruno Haible  <bruno@clisp.org>
66108
66109         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
66110         Suggested by Eric Blake.
66111
66112 2007-03-18  Ben Pfaff  <blp@gnu.org>
66113
66114         * doc/relocatable.texi: Recommend using as prefix a directory
66115         that does not exist and will never be created.  Based on
66116         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
66117         and others.
66118
66119 2007-03-17  Bruno Haible  <bruno@clisp.org>
66120
66121         * lib/fchownat.c: Include lchown.h.
66122
66123 2007-03-17  Bruno Haible  <bruno@clisp.org>
66124
66125         Fix endless loop when the given allocated size was > INT_MAX.
66126         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
66127         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
66128         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
66129         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
66130         * lib/sprintf.c (sprintf): Likewise.
66131
66132 2007-03-17  Bruno Haible  <bruno@clisp.org>
66133
66134         * tests/test-argp-2.sh (func_compare): Output a context diff.
66135
66136 2007-03-17  Bruno Haible  <bruno@clisp.org>
66137
66138         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
66139         locale's decimal-point character.
66140
66141 2007-03-17  Bruno Haible  <bruno@clisp.org>
66142
66143         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
66144         before comparing it. Needed because on some platforms (e.g. x86) a
66145         'long double' occupies less bytes than sizeof (long double).
66146
66147 2007-03-17  Bruno Haible  <bruno@clisp.org>
66148
66149         * tests/test-crc.c (main): Make printf statements 64-bit clean.
66150         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
66151         * tests/test-getaddrinfo.c (simple): Likewise.
66152         * tests/test-read-file.c (main): Likewise.
66153
66154 2007-03-17  Bruno Haible  <bruno@clisp.org>
66155
66156         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
66157
66158 2007-03-17  Bruno Haible  <bruno@clisp.org>
66159
66160         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
66161         unused variable.
66162
66163 2007-03-17  Bruno Haible  <bruno@clisp.org>
66164
66165         * tests/test-c-strcasecmp.c: Include c-strcase.h.
66166         * tests/test-c-strncasecmp.c: Likewise.
66167
66168 2007-03-17  Bruno Haible  <bruno@clisp.org>
66169
66170         * modules/stdlib (Depends-on): Add unistd.
66171         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
66172         Needed for MacOS X 10.3.
66173
66174 2007-03-17  Bruno Haible  <bruno@clisp.org>
66175
66176         * lib/unistr/u-strdup.h: Include <stdlib.h>.
66177
66178 2007-03-17  Bruno Haible  <bruno@clisp.org>
66179
66180         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
66181
66182 2007-03-17  Bruno Haible  <bruno@clisp.org>
66183
66184         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
66185         to reflect files copied from gnulib (with or without modifications).
66186         Suggested by Jim Meyering.
66187
66188 2007-03-17  Eric Blake  <ebb9@byu.net>
66189
66190         * NEWS: Document stdlib change from 2007-02-18.
66191
66192 2007-03-17  Jim Meyering  <jim@meyering.net>
66193
66194         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
66195         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
66196         someone uses a name containing shell meta-characters.
66197         Reported by Alfred M. Szmidt.
66198
66199         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
66200
66201 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66202
66203         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
66204         and copy gettext configuration files only if configure.ac contains
66205         a use of AM_GNU_GETTEXT_VERSION.
66206
66207 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66208
66209         * build-aux/bootstrap (gnulib_name): New variable.
66210         (gnulib_tool_options): Use it.
66211
66212 2007-03-13  Simon Josefsson  <simon@josefsson.org>
66213
66214         * tests/test-des.c: Use new namespace.
66215
66216 2007-03-15  Bruno Haible  <bruno@clisp.org>
66217
66218         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
66219         Reported by James Youngman <jay@gnu.org>.
66220
66221 2007-03-15  Bruno Haible  <bruno@clisp.org>
66222
66223         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
66224         declared prototype. Needed with cc on OSF/1 5.1.
66225
66226 2007-03-15  Bruno Haible  <bruno@clisp.org>
66227
66228         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
66229         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
66230         (struct gl_list_implementation): Add dispose_fn argument to the
66231         'create_empty', 'create' methods.
66232         (struct gl_list_impl_base): Add field 'dispose_fn'.
66233         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
66234         argument.
66235         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66236         dispose_fn argument.
66237         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66238         dispose_fn on the dropped values.
66239         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66240         dispose_fn argument.
66241         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66242         dropped values.
66243         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66244         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66245         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66246         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66247         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66248         argument.
66249         (gl_tree_list_free): Call dispose_fn on the dropped values.
66250         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66251         the dropped values.
66252         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66253         Add dispose_fn argument.
66254         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66255         Call dispose_fn on the dropped values.
66256         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66257         Add dispose_fn argument.
66258         (gl_sublist_create): Initialize the 'dispose_fn' field.
66259         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66260         * tests/test-array_list.c (main): Update.
66261         * tests/test-carray_list.c (main): Update.
66262         * tests/test-avltree_list.c (main): Update.
66263         * tests/test-rbtree_list.c (main): Update.
66264         * tests/test-avltreehash_list.c (main): Update.
66265         * tests/test-rbtreehash_list.c (main): Update.
66266         * tests/test-linked_list.c (main): Update.
66267         * tests/test-linkedhash_list.c (main): Update.
66268         * tests/test-array_oset.c (main): Update.
66269
66270 2007-03-15  Bruno Haible  <bruno@clisp.org>
66271
66272         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66273         (gl_oset_create_empty): Add dispose_fn argument.
66274         (struct gl_oset_implementation): Add dispose_fn argument to
66275         'create_empty' method.
66276         (struct gl_oset_impl_base): Add dispose_fn field.
66277         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66278         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66279         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66280         values.
66281         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66282         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66283         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66284         dropped value.
66285         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66286         dropped value.
66287         * tests/test-array_oset.c (main): Update.
66288         * tests/test-avltree_oset.c (main): Update.
66289         * tests/test-rbtree_oset.c (main): Update.
66290         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66291
66292 2007-03-13  Bruno Haible  <bruno@clisp.org>
66293
66294         * tests/test-stdbool.c (i): Update after last patch.
66295
66296 2007-03-12  Bruno Haible  <bruno@clisp.org>
66297
66298         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66299         the iswprint macro. Needed on Solaris 2.5.1.
66300
66301 2007-03-12  Bruno Haible  <bruno@clisp.org>
66302
66303         * tests/test-printf-frexp.c (main): Declare x as volatile.
66304
66305 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66306
66307         * doc/gnulib.texi (Build robot for gnulib): New section.
66308
66309 2007-03-12  Jim Meyering  <jim@meyering.net>
66310
66311         * build-aux/bootstrap: New file.
66312         * build-aux/bootstrap.conf: New file, from coreutils.
66313
66314 2007-03-11  Bruno Haible  <bruno@clisp.org>
66315
66316         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66317
66318 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66319
66320         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66321         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66322         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66323
66324 2007-03-11  Bruno Haible  <bruno@clisp.org>
66325
66326         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66327         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66328
66329 2007-03-11  Bruno Haible  <bruno@clisp.org>
66330
66331         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
66332         formula. Needed for SunPRO C 5.0.
66333
66334 2007-03-11  Bruno Haible  <bruno@clisp.org>
66335
66336         * modules/long-options (Depends-on): Add getopt.
66337
66338 2007-03-11  Bruno Haible  <bruno@clisp.org>
66339
66340         * modules/modechange (Depends-on): Add stdbool.
66341
66342 2007-03-11  Bruno Haible  <bruno@clisp.org>
66343
66344         * modules/i-ring (Depends-on): Add stdbool.
66345
66346 2007-03-11  Bruno Haible  <bruno@clisp.org>
66347
66348         * modules/gc-des (Depends-on): Add stdbool.
66349
66350 2007-03-11  Bruno Haible  <bruno@clisp.org>
66351
66352         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66353
66354 2007-03-11  Bruno Haible  <bruno@clisp.org>
66355
66356         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66357
66358 2007-03-11  Bruno Haible  <bruno@clisp.org>
66359
66360         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66361
66362 2007-03-11  Bruno Haible  <bruno@clisp.org>
66363
66364         * lib/vasnprintf.c (sprintf): Undefine.
66365
66366 2007-03-11  Bruno Haible  <bruno@clisp.org>
66367
66368         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66369         initializers in SunPRO C and Compaq C compilers.
66370
66371 2007-03-11  Bruno Haible  <bruno@clisp.org>
66372
66373         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66374         decrementing code ANSI C compliant.
66375
66376 2007-03-11  Bruno Haible  <bruno@clisp.org>
66377
66378         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66379         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66380
66381 2007-03-11  Bruno Haible  <bruno@clisp.org>
66382
66383         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66384         <stdbool.h> substitute doesn't pass.
66385
66386 2007-03-11  Bruno Haible  <bruno@clisp.org>
66387
66388         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66389
66390 2007-03-11  Bruno Haible  <bruno@clisp.org>
66391
66392         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66393         script, for submission to autobuild.josefsson.org.
66394
66395 2007-03-10  Bruno Haible  <bruno@clisp.org>
66396
66397         * modules/canonicalize-lgpl-tests: New file.
66398         * tests/test-canonicalize-lgpl.sh: New file.
66399         * tests/test-canonicalize-lgpl.c: New file.
66400
66401         * modules/c-strcase-tests: New file.
66402         * tests/test-c-strcase.sh: New file.
66403         * tests/test-c-strcasecmp.c: New file.
66404         * tests/test-c-strncasecmp.c: New file.
66405
66406         * modules/atexit-tests: New file.
66407         * tests/test-atexit.sh: New file.
66408         * tests/test-atexit.c: New file.
66409
66410 2007-03-10  Bruno Haible  <bruno@clisp.org>
66411
66412         * tests/test-binary-io.sh: Use temporary filenames that are not so
66413         likely to clash with those of other tests (in a parallel make).
66414         * tests/test-binary-io.c: Likewise.
66415
66416 2007-03-10  Bruno Haible  <bruno@clisp.org>
66417
66418         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66419         fallback; use #error instead.
66420         Suggested by Simon Josefsson.
66421
66422 2007-03-10  Bruno Haible  <bruno@clisp.org>
66423
66424         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66425         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66426         first and the last.
66427
66428 2007-03-10  Bruno Haible  <bruno@clisp.org>
66429
66430         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66431
66432 2007-03-10  Bruno Haible  <bruno@clisp.org>
66433
66434         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66435         "make distcheck".
66436         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66437         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66438         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66439
66440 2007-03-10  Bruno Haible  <bruno@clisp.org>
66441
66442         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66443         variable.
66444         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66445         variable.
66446
66447 2007-03-09  Eric Blake  <ebb9@byu.net>
66448         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66449
66450         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66451         types are not being provided by gnulib.
66452         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66453         types are supported.
66454
66455 2007-03-10  Bruno Haible  <bruno@clisp.org>
66456
66457         * lib/stdio_.h (__attribute__): New macro.
66458         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66459         vsprintf): Specify __attribute__ __format__ for GCC.
66460         Suggested by Eric Blake.
66461
66462 2007-03-09  Bruno Haible  <bruno@clisp.org>
66463
66464         * modules/printf-posix-tests: New file.
66465         * tests/test-printf-posix.sh: New file.
66466         * tests/test-printf-posix.c: New file.
66467
66468         * modules/printf-posix: New file.
66469         * lib/printf.c: New file.
66470         * m4/printf-posix-rpl.m4: New file.
66471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66472         REPLACE_PRINTF.
66473         * lib/stdio_.h (printf): New declaration.
66474         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66475         ____strfmon____): New macros.
66476         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66477         REPLACE_PRINTF.
66478
66479 2007-03-09  Bruno Haible  <bruno@clisp.org>
66480
66481         * tests/test-vasnprintf-posix2.sh: New file.
66482         * tests/test-vasnprintf-posix2.c: New file.
66483         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66484         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66485         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66486
66487         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66488         a locale dependent decimal point, rather than always '.'.
66489
66490 2007-03-09  Eric Blake  <ebb9@byu.net>
66491
66492         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66493         spite of platforms like Tandem/NSK that define it to -1.
66494
66495 2007-03-08  Bruno Haible  <bruno@clisp.org>
66496
66497         * modules/vprintf-posix-tests: New file.
66498         * tests/test-vprintf-posix.sh: New file.
66499         * tests/test-vprintf-posix.c: New file.
66500         * tests/test-printf-posix.h: New file.
66501
66502         * modules/vprintf-posix: New file.
66503         * lib/vprintf.c: New file.
66504         * m4/vprintf-posix.m4: New file.
66505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66506         REPLACE_VPRINTF.
66507         * lib/stdio_.h (vprintf): New declaration.
66508         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66509         REPLACE_VPRINTF.
66510
66511 2007-03-08  Bruno Haible  <bruno@clisp.org>
66512
66513         * modules/fprintf-posix-tests: New file.
66514         * tests/test-fprintf-posix.sh: New file.
66515         * tests/test-fprintf-posix.c: New file.
66516
66517         * modules/fprintf-posix: New file.
66518         * lib/fprintf.c: New file.
66519         * m4/fprintf-posix.m4: New file.
66520         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66521         REPLACE_FPRINTF.
66522         * lib/stdio_.h (fprintf): New declaration.
66523         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66524         REPLACE_FPRINTF.
66525
66526 2007-03-08  Bruno Haible  <bruno@clisp.org>
66527
66528         * modules/vfprintf-posix-tests: New file.
66529         * tests/test-vfprintf-posix.sh: New file.
66530         * tests/test-vfprintf-posix.c: New file.
66531         * tests/test-fprintf-posix.h: New file.
66532         * tests/test-fprintf-posix.out: New file.
66533
66534         * modules/vfprintf-posix: New file.
66535         * lib/vfprintf.c: New file.
66536         * m4/vfprintf-posix.m4: New file.
66537         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66538         REPLACE_VFPRINTF.
66539         * lib/stdio_.h (vfprintf): New declaration.
66540         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66541         REPLACE_VFPRINTF.
66542
66543 2007-03-08  Bruno Haible  <bruno@clisp.org>
66544
66545         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66546
66547 2007-03-08  Bruno Haible  <bruno@clisp.org>
66548
66549         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66550         instead of 'expr' invocations.
66551         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66552         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66553         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66554         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66555         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66556         Suggested by Paul Eggert.
66557
66558 2007-03-08  Bruno Haible  <bruno@clisp.org>
66559
66560         * modules/fseterr-tests: New file.
66561         * tests/test-fseterr.c: New file.
66562
66563         * modules/fseterr: New file.
66564         * lib/fseterr.h: New file.
66565         * lib/fseterr.c: New file.
66566
66567 2007-03-08  Bruno Haible  <bruno@clisp.org>
66568
66569         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66570         * lib/getopt_.h: Likewise.
66571         * lib/mbswidth.h: Likewise.
66572         * lib/setenv.h: Likewise.
66573         * lib/vasnprintf.h: Likewise.
66574         * lib/vasprintf.h: Likewise.
66575         * lib/verror.h: Likewise.
66576         * lib/xsetenv.h: Likewise.
66577         * lib/xvasprintf.h: Likewise.
66578
66579 2007-03-08  Jim Meyering  <jim@meyering.net>
66580
66581         * users.txt: Add parted.
66582
66583         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66584
66585 2007-03-07  Bruno Haible  <bruno@clisp.org>
66586
66587         * m4/printf.m4: Make the shell script snippets copy&pastable.
66588
66589 2007-03-02  Bruno Haible  <bruno@clisp.org>
66590
66591         * lib/netinet_in_.h: New file.
66592         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66593         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66594         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66595         (Depends-on): Add absolute-header.
66596         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66597         into netinet/in.h.
66598
66599 2007-03-03  Bruno Haible  <bruno@clisp.org>
66600
66601         * lib/sys_select_.h: New file.
66602         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66603         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66604         * modules/sys_select (Files): Add lib/sys_select_.h.
66605         (Depends-on): Add absolute-header.
66606         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66607         into sys/select.h.
66608
66609 2007-03-02  Bruno Haible  <bruno@clisp.org>
66610
66611         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66612         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66613         values.
66614         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66615         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66616         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66617         * modules/sys_socket (Depends-on): Add absolute-header.
66618         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66619         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66620         (Include): Remove requirement of inclusion of <sys/types.h>.
66621
66622 2007-03-02  Bruno Haible  <bruno@clisp.org>
66623
66624         * lib/byteswap_.h (bswap_32): Fix formula.
66625
66626 2007-03-06  Bruno Haible  <bruno@clisp.org>
66627
66628         * modules/sprintf-posix-tests: New file.
66629         * tests/test-sprintf-posix.c: New file.
66630
66631         * modules/sprintf-posix: New file.
66632         * lib/sprintf.c: New file.
66633         * m4/sprintf-posix.m4: New file.
66634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66635         REPLACE_SPRINTF.
66636         * lib/stdio_.h (sprintf): New declaration.
66637         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66638         REPLACE_SPRINTF.
66639
66640 2007-03-06  Bruno Haible  <bruno@clisp.org>
66641
66642         * modules/vsprintf-posix-tests: New file.
66643         * tests/test-vsprintf-posix.c: New file.
66644         * tests/test-sprintf-posix.h: New file.
66645
66646         * modules/vsprintf-posix: New file.
66647         * lib/vsprintf.c: New file.
66648         * m4/vsprintf-posix.m4: New file.
66649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66650         REPLACE_VSPRINTF.
66651         * lib/stdio_.h (vsprintf): New declaration.
66652         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66653         REPLACE_VSPRINTF.
66654
66655 2007-03-06  Bruno Haible  <bruno@clisp.org>
66656
66657         * modules/vsnprintf (Depend-on): Remove minmax.
66658
66659 2007-03-06  Bruno Haible  <bruno@clisp.org>
66660
66661         * modules/snprintf-posix-tests: New file.
66662         * tests/test-snprintf-posix.c: New file.
66663
66664         * modules/snprintf-posix: New file.
66665         * m4/snprintf-posix.m4: New file.
66666         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66667         gl_FUNC_SNPRINTF.
66668         (gl_FUNC_SNPRINTF): Invoke it.
66669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66670         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66671         is set.
66672         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66673
66674 2007-03-06  Bruno Haible  <bruno@clisp.org>
66675
66676         * modules/vsnprintf-posix-tests: New file.
66677         * tests/test-vsnprintf-posix.c: New file.
66678         * tests/test-snprintf-posix.h: New file.
66679
66680         * modules/vsnprintf-posix: New file.
66681         * m4/vsnprintf-posix.m4: New file.
66682         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66683         gl_FUNC_VSNPRINTF.
66684         (gl_FUNC_VSNPRINTF): Invoke it.
66685         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66686         * lib/stdio_.h (vsnprintf): Define as a replacement if
66687         REPLACE_VSNPRINTF is set.
66688         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66689
66690 2007-03-06  Bruno Haible  <bruno@clisp.org>
66691
66692         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66694
66695 2007-03-06  Bruno Haible  <bruno@clisp.org>
66696
66697         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66698         (asinl): Declare also if HAVE_DECL_ASINL is set.
66699         (atanl): Declare also if HAVE_DECL_ATANL is set.
66700         (ceill): Declare also if HAVE_DECL_CEILL is set.
66701         (cosl): Declare also if HAVE_DECL_COSL is set.
66702         (expl): Declare also if HAVE_DECL_EXPL is set.
66703         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66704         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66705         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66706         (logl): Declare also if HAVE_DECL_LOGL is set.
66707         (sinl): Declare also if HAVE_DECL_SINL is set.
66708         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66709         (tanl): Declare also if HAVE_DECL_TANL is set.
66710         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66712         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66713         declaration of frexpl, ldexpl.
66714         * modules/printf-frexpl (Depends-on): Add math.
66715         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66716
66717 2007-03-05  Bruno Haible  <bruno@clisp.org>
66718
66719         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66720         frexpl and ldexpl are declared.
66721         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66722
66723 2007-03-05  Bruno Haible  <bruno@clisp.org>
66724
66725         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66726         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66727
66728 2007-03-05  Bruno Haible  <bruno@clisp.org>
66729
66730         * lib/stdio_.h: Include <stddef.h>.
66731
66732 2007-03-05  Bruno Haible  <bruno@clisp.org>
66733
66734         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66735
66736 2007-03-05  Bruno Haible  <bruno@clisp.org>
66737
66738         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66739         NetBSD 4, from Ralf Wildenhues.
66740
66741 2007-03-04  Bruno Haible  <bruno@clisp.org>
66742
66743         * lib/vasprintf.h: Update #if logic for the case when the functions
66744         exist but are overridden.
66745
66746 2007-03-04  Bruno Haible  <bruno@clisp.org>
66747
66748         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66749         implementations: glibc-2.4 and MacOS X 10.3.
66750         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66751         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66752         * tests/test-vasprintf-posix.c (test_function): Likewise.
66753
66754 2007-03-04  Bruno Haible  <bruno@clisp.org>
66755
66756         * modules/vasprintf-posix-tests: New file.
66757         * tests/test-vasprintf-posix.c: New file.
66758
66759         * modules/vasprintf-posix: New file.
66760         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66761         defined.
66762         * m4/vasprintf-posix.m4: New file.
66763         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66764         gl_FUNC_VASPRINTF.
66765         (gl_FUNC_VASPRINTF): Invoke it.
66766         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66767         here.
66768         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66769
66770 2007-03-04  Bruno Haible  <bruno@clisp.org>
66771
66772         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66773         REPLACE_GETTIMEOFDAY.
66774         * modules/sys_time (Makefile.am): Likewise.
66775         * m4/sys_time_h.m4: Likewise.
66776         * m4/gettimeofday.m4: Likewise.
66777
66778 2007-03-04  Bruno Haible  <bruno@clisp.org>
66779
66780         * modules/vasnprintf-posix-tests: New file.
66781         * tests/test-vasnprintf-posix.c: New file.
66782
66783         * modules/vasnprintf-posix: New file.
66784         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66785         printf-frexpl.h.
66786         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66787         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66788         REPLACE_VASNPRINTF is defined.
66789         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66790         gl_FUNC_VASNPRINTF.
66791         (gl_FUNC_VASNPRINTF): Invoke it.
66792         * m4/vasnprintf-posix.m4: New file.
66793         * m4/printf.m4: New file.
66794
66795 2007-03-04  Bruno Haible  <bruno@clisp.org>
66796
66797         Compile progreloc.c only if --enable-relocatable is specified.
66798         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66799         if --enable-relocatable was specified.
66800         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66801         lib_SOURCES.
66802
66803 2007-03-04  Jim Meyering  <jim@meyering.net>
66804
66805         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66806         Use it consistently, rather than enumerating errno constants.
66807
66808 2007-03-04  Bruno Haible  <bruno@clisp.org>
66809
66810         * modules/xvasprintf-tests: New file.
66811         * tests/test-xvasprintf.c: New file.
66812
66813         * modules/vasprintf-tests: New file.
66814         * tests/test-vasprintf.c: New file.
66815
66816         * modules/vasnprintf-tests: New file.
66817         * tests/test-vasnprintf.c: New file.
66818
66819         * modules/vsnprintf-tests: New file.
66820         * tests/test-vsnprintf.c: New file.
66821
66822         * modules/snprintf-tests: New file.
66823         * tests/test-snprintf.c: New file.
66824
66825 2007-03-04  Bruno Haible  <bruno@clisp.org>
66826
66827         Compile relocatable.c only if --enable-relocatable is specified.
66828         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66829         gl_RELOCATABLE_LIBRARY.
66830         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66831         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66832         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66833         gl_RELOCATABLE_LIBRARY.
66834         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66835         (Makefile.am): Remove lib_SOURCES.
66836         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66837         gl_RELOCATABLE_LIBRARY.
66838         (Makefile.am): Remove lib_SOURCES.
66839         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66840         always.
66841         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66842         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66843
66844 2007-03-04  Bruno Haible  <bruno@clisp.org>
66845
66846         * modules/argmatch-tests: New file.
66847         * tests/test-argmatch.c: New file.
66848
66849         * tests/test-allocsa.c (main): Halve the number of loop runs.
66850
66851         * modules/alloca-opt-tests: New file.
66852         * tests/test-alloca-opt.c: New file.
66853
66854 2007-03-04  Jim Meyering  <jim@meyering.net>
66855
66856         Work around difference between Linux ACLs and Solaris 10 ZFS.
66857         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66858         for EINVAL.
66859
66860 2007-03-03  Bruno Haible  <bruno@clisp.org>
66861
66862         * modules/relocatable-prog (Depends-on): Add back progreloc's
66863         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66864
66865 2007-03-03  Bruno Haible  <bruno@clisp.org>
66866
66867         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66868         * modules/relocatable-lib: New file.
66869
66870 2007-03-03  Bruno Haible  <bruno@clisp.org>
66871
66872         * modules/relocatable-prog: Renamed from modules/relocatable.
66873         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66874
66875 2007-03-03  Bruno Haible  <bruno@clisp.org>
66876
66877         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66878         m4/relocatable-lib.m4.
66879         (Depends-on): Remove 'relocatable'.
66880         (configure.ac): Add gl_RELOCATABLE_NOP.
66881
66882 2007-03-03  Bruno Haible  <bruno@clisp.org>
66883
66884         * modules/relocatable-prog-wrapper: New file.
66885         * modules/relocatable (Depends-on): Add it. Remove all other
66886         dependencies except progname.
66887         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66888
66889         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66890         (gl_FUNC_STRERROR): Nop.
66891         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66892
66893         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66894         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66895
66896         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66897         (gl_FUNC_READLINK): Update.
66898
66899         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66900
66901 2007-03-03  Bruno Haible  <bruno@clisp.org>
66902
66903         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66904         * modules/xreadlink (Depends-on): Add unistd.
66905         * modules/xreadlink-with-size (Depends-on): Likewise.
66906
66907 2007-03-03  Bruno Haible  <bruno@clisp.org>
66908
66909         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66910         extracted from gt_FUNC_SETENV.
66911         (gt_FUNC_SETENV): Remove macro.
66912         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66913         remove gt_FUNC_SETENV.
66914
66915 2007-03-03  Bruno Haible  <bruno@clisp.org>
66916
66917         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66918         ENABLE_RELOCATABLE here.
66919         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66920
66921 2007-03-03  Bruno Haible  <bruno@clisp.org>
66922
66923         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66924         * tests/test-rbtreehash_list.c: Include progname.h.
66925         (main): Call set_program_name.
66926
66927         * modules/rbtree-oset-tests (Depends-on): Add progname.
66928         * tests/test-rbtree_oset.c: Include progname.h.
66929         (main): Call set_program_name.
66930
66931         * modules/rbtree-list-tests (Depends-on): Add progname.
66932         * tests/test-rbtree_list.c: Include progname.h.
66933         (main): Call set_program_name.
66934
66935         * modules/linked-list-tests (Depends-on): Add progname.
66936         * tests/test-linked_list.c: Include progname.h.
66937         (main): Call set_program_name.
66938
66939 2007-03-03  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66942         All uses of __restrict changed to _Restrict_.
66943         * lib/glob_.h (__restrict): Remove macro.
66944
66945 2007-03-02  Bruno Haible  <bruno@clisp.org>
66946
66947         * modules/gettext (configure.ac): Require gettext infrastructure
66948         from version 0.16.1.
66949
66950 2007-03-02  Bruno Haible  <bruno@clisp.org>
66951
66952         * modules/linkedhash-list-tests (Depends-on): Add progname.
66953         * tests/test-linkedhash_list.c: Include progname.h.
66954         (main): Call set_program_name.
66955
66956         * modules/carray-list-tests (Depends-on): Add progname.
66957         * tests/test-carray_list.c: Include progname.h.
66958         (main): Call set_program_name.
66959
66960         * modules/avltreehash-list-tests (Depends-on): Add progname.
66961         * tests/test-avltreehash_list.c: Include progname.h.
66962         (main): Call set_program_name.
66963
66964         * modules/avltree-oset-tests (Depends-on): Add progname.
66965         * tests/test-avltree_oset.c: Include progname.h.
66966         (main): Call set_program_name.
66967
66968         * modules/avltree-list-tests (Depends-on): Add progname.
66969         * tests/test-avltree_list.c: Include progname.h.
66970         (main): Call set_program_name.
66971
66972         * modules/array-oset-tests (Depends-on): Add progname.
66973         * tests/test-array_oset.c: Include progname.h.
66974         (main): Call set_program_name.
66975
66976         * modules/array-list-tests (Depends-on): Add progname.
66977         * tests/test-array_list.c: Include progname.h.
66978         (main): Call set_program_name.
66979
66980         * modules/argp-tests (Depends-on): Add progname.
66981         * tests/test-argp.c: Include argp.h first. Include progname.h.
66982         (main): Call set_program_name.
66983
66984 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66985
66986         * doc/gnulib-tool.texi (Initial import): Reword description of
66987         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66988         limited effect even if defined after the first system include.
66989
66990 2007-03-01  Bruno Haible  <bruno@clisp.org>
66991
66992         * build-aux/config.libpath: Update to libtool-1.5.22.
66993         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66994
66995 2007-03-01  Bruno Haible  <bruno@clisp.org>
66996
66997         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66998         foo_CFLAGS.
66999         Reported by Ralf Wildenhues.
67000
67001 2007-03-01  Bruno Haible  <bruno@clisp.org>
67002
67003         * build-aux/install-reloc: Remove object files left over by some
67004         compilers.
67005         Reported by Ralf Wildenhues.
67006
67007 2007-03-01  Bruno Haible  <bruno@clisp.org>
67008
67009         * build-aux/install-reloc: Break long lines.
67010
67011 2007-03-01  Bruno Haible  <bruno@clisp.org>
67012
67013         * doc/relocatable.texi: Document that it may not work on OpenBSD.
67014         Reported by Ralf Wildenhues.
67015
67016 2007-03-01  Bruno Haible  <bruno@clisp.org>
67017
67018         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
67019         include ordering constraints.
67020
67021 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
67024         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
67025         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
67026         as another example.
67027         * lib/time_.h: Fix misspelling.
67028         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67029         Require gl_HEADER_TIME_H_DEFAULTS.
67030         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
67031         * m4/time_r.m4 (gl_TIME_R): Likewise.
67032         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
67033
67034 2007-03-01  Bruno Haible  <bruno@clisp.org>
67035
67036         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
67037         * m4/utimens.m4 (gl_UTIMENS): Likewise.
67038
67039 2007-03-01  Jim Meyering  <jim@meyering.net>
67040
67041         * modules/xreadlink (Maintainer): Add my name.
67042         * modules/xreadlink-with-size (Depends-on): Alphabetize.
67043
67044 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
67045             Bruno Haible  <bruno@clisp.org>
67046
67047         * build-aux/install-reloc: Compile also c-ctype.c.
67048         * build-aux/relocatable.sh.in: New file.
67049         * doc/relocatable.texi: New file.
67050         * doc/relocatable-maint.texi: New file.
67051         * doc/gnulib.texi: Include relocatable-maint.texi.
67052         * lib/progreloc.c: Include unistd.h unconditionally.
67053         * lib/relocwrapper.c: Include unistd.h unconditionally.
67054         Include c-ctype.h.
67055         (add_dotbin): Use c_tolower.
67056         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
67057         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
67058         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
67059         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
67060         to m4/relocatable-lib.m4.
67061         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
67062         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
67063         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
67064         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
67065         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
67066         * modules/relocatable: New file.
67067         * modules/relocatable-lib: New file.
67068         * modules/relocatable-script: New file.
67069
67070 2007-02-28  Bruno Haible  <bruno@clisp.org>
67071
67072         Import --enable-relocatable infrastructure.
67073         * build-aux/config.libpath: New file, from GNU gettext.
67074         * build-aux/install-reloc: New file, from GNU gettext.
67075         * build-aux/reloc-ldflags: New file, from GNU gettext.
67076         * lib/relocatable.h: New file, from GNU gettext.
67077         * lib/relocatable.c: New file, from GNU gettext.
67078         * lib/relocwrapper.c: New file, from GNU gettext.
67079         * m4/relocatable.m4: New file, from GNU gettext.
67080
67081 2007-02-28  Bruno Haible  <bruno@clisp.org>
67082
67083         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
67084
67085         * modules/xreadlink: New file, from GNU gettext with modifications.
67086         * lib/xreadlink.c: New file, from GNU gettext.
67087         * lib/xreadlink.h: Add comments.
67088         (xreadlink): New declaration.
67089
67090         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
67091         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
67092         lib/xreadlink-with-size.c.
67093         (configure.ac): Remove gl_XREADLINK invocation.
67094         (Makefile.am): Augment lib_SOURCES.
67095         * m4/xreadlink.m4: Remove file.
67096         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
67097         (xreadlink_with_size): Renamed from xreadink.
67098         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
67099         * modules/canonicalize (Depends-on): Replace xreadlink with
67100         xreadlink-with-size.
67101         * lib/canonicalize.c (canonicalize_filename_mode): Update.
67102
67103 2007-02-25  Jim Meyering  <jim@meyering.net>
67104
67105         * build-aux/announce-gen: When complaining about excess arguments,
67106         list them.
67107
67108 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67109
67110         * README: Document signed integer overflow situation more
67111         accurately.
67112
67113 2007-02-25  Bruno Haible  <bruno@clisp.org>
67114
67115         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
67116         'a' or 'A' conversion.
67117
67118 2007-02-25  Bruno Haible  <bruno@clisp.org>
67119
67120         * modules/filename: Renamed from modules/pathname.
67121         (Files): Replace lib/pathname.h with lib/filename.h. Replace
67122         lib/concatpath.c with lib/concat-filename.c.
67123         (Makefile.am): Update.
67124         (Include): Replace pathname.h with filename.h.
67125         * lib/filename.h: Renamed from lib/pathname.h.
67126         (concatenated_filename): Renamed from concatenated_pathname.
67127         * lib/concat-filename.c: Renamed from lib/concatpath.c.
67128         (concatenated_filename): Renamed from concatenated_pathname.
67129         * lib/findprog.c: Include filename.h instead of pathname.h.
67130         (find_in_path): Update.
67131         * lib/javacomp.c: Include filename.h instead of pathname.h.
67132         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
67133         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
67134         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
67135         is_oldgcj_14_13_usable, is_javac_usable): Update.
67136         * lib/javaexec.c: Include filename.h instead of pathname.h.
67137         (execute_java_class): Update.
67138         * modules/findprog: Update.
67139         * modules/javacomp: Update.
67140         * modules/javaexec: Update.
67141         * MODULES.html.sh (File system functions): Add 'filename', remove
67142         'pathname'.
67143
67144 2007-02-25  Bruno Haible  <bruno@clisp.org>
67145
67146         * modules/printf-frexpl-tests: New file.
67147         * tests/test-printf-frexpl.c: New file.
67148
67149         * modules/printf-frexpl: New file.
67150         * lib/printf-frexpl.h: New file.
67151         * lib/printf-frexpl.c: New file.
67152         * m4/printf-frexpl.m4: New file.
67153
67154 2007-02-25  Bruno Haible  <bruno@clisp.org>
67155
67156         * modules/printf-frexp-tests: New file.
67157         * tests/test-printf-frexp.c: New file.
67158
67159         * modules/printf-frexp: New file.
67160         * lib/printf-frexp.h: New file.
67161         * lib/printf-frexp.c: New file.
67162         * m4/printf-frexp.m4: New file.
67163
67164 2007-02-25  Bruno Haible  <bruno@clisp.org>
67165
67166         Assume automake >= 1.10 for the tests.
67167         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
67168         * modules/arctwo-tests: Likewise.
67169         * modules/argp-tests: Likewise.
67170         * modules/avltree-list-tests: Likewise.
67171         * modules/avltree-oset-tests: Likewise.
67172         * modules/avltreehash-list-tests: Likewise.
67173         * modules/carray-list-tests: Likewise.
67174         * modules/crc-tests: Likewise.
67175         * modules/des-tests: Likewise.
67176         * modules/gc-arcfour-tests: Likewise.
67177         * modules/gc-arctwo-tests: Likewise.
67178         * modules/gc-des-tests: Likewise.
67179         * modules/gc-hmac-md5-tests: Likewise.
67180         * modules/gc-hmac-sha1-tests: Likewise.
67181         * modules/gc-md2-tests: Likewise.
67182         * modules/gc-md4-tests: Likewise.
67183         * modules/gc-md5-tests: Likewise.
67184         * modules/gc-pbkdf2-sha1-tests: Likewise.
67185         * modules/gc-rijndael-tests: Likewise.
67186         * modules/gc-sha1-tests: Likewise.
67187         * modules/gc-tests: Likewise.
67188         * modules/getaddrinfo-tests: Likewise.
67189         * modules/hmac-md5-tests: Likewise.
67190         * modules/hmac-sha1-tests: Likewise.
67191         * modules/linked-list-tests: Likewise.
67192         * modules/linkedhash-list-tests: Likewise.
67193         * modules/lock-tests: Likewise.
67194         * modules/md2-tests: Likewise.
67195         * modules/md4-tests: Likewise.
67196         * modules/md5-tests: Likewise.
67197         * modules/rbtree-list-tests: Likewise.
67198         * modules/rbtree-oset-tests: Likewise.
67199         * modules/rbtreehash-list-tests: Likewise.
67200         * modules/read-file-tests: Likewise.
67201         * modules/rijndael-tests: Likewise.
67202         * modules/stdint-tests: Likewise.
67203         * modules/tls-tests: Likewise.
67204
67205 2007-02-24  Bruno Haible  <bruno@clisp.org>
67206
67207         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
67208         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
67209         function; instead check whether isnan with a double argument links.
67210         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
67211         function; instead check whether isnan with a 'long double' argument
67212         links.
67213         Reported by Eric Blake <ebb9@byu.net>.
67214
67215 2007-02-24  Bruno Haible  <bruno@clisp.org>
67216
67217         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
67218         defined.
67219         * lib/isnanl.c: Remove all code. Just include isnan.c.
67220         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
67221
67222 2007-02-25  Jim Meyering  <jim@meyering.net>
67223
67224         Avoid conflicting types for 'unsetenv' on FreeBSD.
67225         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
67226         conflicting with FreeBSD's (5.0 and 6.1) function declaration
67227         in stdlib.h.
67228
67229 2007-02-24  Bruno Haible  <bruno@clisp.org>
67230
67231         * modules/isnanl-nolibm-tests: New file.
67232         * tests/test-isnanl.c: New file.
67233
67234         * modules/isnanl-nolibm: New file.
67235         * lib/isnanl.h: New file.
67236         * lib/isnanl.c: New file.
67237         * m4/isnanl.m4: New file.
67238
67239 2007-02-24  Bruno Haible  <bruno@clisp.org>
67240
67241         * modules/isnan-nolibm-tests: New file.
67242         * tests/test-isnan.c: New file.
67243
67244         * modules/isnan-nolibm: New file.
67245         * lib/isnan.h: New file.
67246         * lib/isnan.c: New file.
67247         * m4/isnan.m4: New file.
67248
67249 2007-02-24  Bruno Haible  <bruno@clisp.org>
67250
67251         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67252         assume that an exponent fits in 20 bits.
67253
67254 2007-02-24  Jim Meyering  <jim@meyering.net>
67255
67256         * m4/regex.m4: Update the description of the configure-time option,
67257         --without-included-regex, to state accurately what the defaults are,
67258         and perhaps to give people an idea why using this option is risky.
67259
67260 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67261
67262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67263         loops on small arguments.  This attempts to avoid the problem
67264         Bruno Haible reported for AIX 4.3.2 in
67265         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67266
67267 2007-02-23  Bruno Haible  <bruno@clisp.org>
67268
67269         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67270         Needed for help2man.
67271
67272 2007-02-23  Karl Berry  <karl@gnu.org>
67273
67274         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67275         exists, foo.h should be cvs-ignored, not committed.
67276
67277 2007-02-23  Eric Blake  <ebb9@byu.net>
67278
67279         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67280         * lib/stat-time.h (includes): Likewise.
67281         * lib/utimecmp.c (includes): Likewise.
67282         * lib/utimens.h (includes): Likewise.
67283         * lib/getdate.y (includes): Also include "timespec.h" for use
67284         internal to the module.
67285         * modules/utimens (Depends-on): Revert yesterday's patch.
67286         * modules/nanosleep (Depends-on): Add missing dependency.
67287
67288 2007-02-22  Bruno Haible  <bruno@clisp.org>
67289
67290         * lib/glob.c: Don't include getlogin_r.h.
67291
67292 2007-02-22  Jim Meyering  <jim@meyering.net>
67293
67294         * modules/utimens (Depends-on): Add timespec, required for
67295         utimens.h's inclusion of timespec.h.
67296
67297 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67298
67299         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67300         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67301         Schwab in
67302         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67303         I'll try to think of a better way to fix the Solaris problem.
67304
67305         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67306         like glibc; on Solaris 10, it fails with errno == EINVAL.
67307         POSIX says the behavior is unspecified if the first argument is NULL,
67308         so play it safe and never pass NULL to the system getcwd.
67309
67310 2007-02-21  Jim Meyering  <jim@meyering.net>
67311
67312         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67313         of gettimeofday.  It would conflict with the one now always
67314         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67315         an IRIX 6.5 build failure.
67316
67317 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67318
67319         Minor fixups to port to Solaris 10 with Sun C 5.8.
67320         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67321         * modules/getcwd (Depends-on): Add dirfd.
67322         * lib/putenv.c (putenv): #undef it.
67323         (rpl_putenv): New decl.
67324         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67325
67326 2007-02-20  Bruno Haible  <bruno@clisp.org>
67327
67328         * modules/stdio-tests: New file.
67329         * tests/test-stdio.c: New file.
67330
67331         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
67332         (Depends-on): Add stdio.
67333         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67334         (Include): Use <stdio.h> instead of vsnprintf.h.
67335         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67336         HAVE_DECL_VSNPRINTF.
67337         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
67338
67339         * modules/snprintf (Files): Remove lib/snprintf.h.
67340         (Depends-on): Add stdio.
67341         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67342         (Include): Use <stdio.h> instead of snprintf.h.
67343         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67344         HAVE_DECL_SNPRINTF.
67345         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
67346         * lib/getaddrinfo.c: Likewise.
67347
67348         * modules/stdio: New file.
67349         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
67350         * lib/snprintf.h: Remove file.
67351         * lib/vsnprintf.h: Remove file.
67352         * lib/.cppi-disable: Remove snprintf.h.
67353         * m4/stdio_h.m4: New file.
67354         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67355
67356 2007-02-20  Jim Meyering  <jim@meyering.net>
67357
67358         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67359         used by e.g., mingw.  From Bruno Haible.
67360
67361 2007-02-19  Bruno Haible  <bruno@clisp.org>
67362
67363         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67364         warnings.
67365         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67366
67367 2007-02-19  Bruno Haible  <bruno@clisp.org>
67368
67369         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67370         from mingw users.
67371
67372 2007-02-19  Bruno Haible  <bruno@clisp.org>
67373
67374         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67375         warnings.
67376         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67377
67378 2007-02-19  Jim Meyering  <jim@meyering.net>
67379
67380         Don't use FD after a successful "fdopendir (fd)".
67381         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67382         Reset it by calling dirfd on the just-obtained DIR*.
67383
67384         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67385         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67386
67387 2007-02-18  Bruno Haible  <bruno@clisp.org>
67388
67389         * lib/readlink.c: Include <unistd.h>.
67390         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67391         HAVE_READLINK.
67392         * modules/readlink (Depends-on): Add unistd.
67393         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67394         (Include): Add <unistd.h>.
67395
67396         * lib/getlogin_r.h: Remove file.
67397         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67398         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67399         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67400         HAVE_DECL_GETLOGIN_R.
67401         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67402         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67403         (Include): Use <unistd.h> instead of getlogin_r.h.
67404
67405         * lib/getcwd.h: Remove file.
67406         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67407         * lib/xgetcwd.c: Likewise.
67408         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67409         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67410         * modules/getcwd (Files): Remove lib/getcwd.h.
67411         (Depends-on): Add unistd.
67412         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67413         (Include): Use <unistd.h> instad of getcwd.h.
67414
67415         * lib/ftruncate.c: Include <unistd.h> first.
67416         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67417         Set HAVE_FTRUNCATE.
67418         * modules/ftruncate (Depends-on): Add unistd.
67419         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67420
67421         * lib/fchdir.c: Include <unistd.h> first.
67422         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67423         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67424         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67425         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67426         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67427
67428         * lib/dup2.c: Include <unistd.h> first.
67429         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67430         HAVE_DUP2.
67431         * modules/dup2 (Depends-on): Add unistd.
67432         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67433
67434         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67435         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67436         REPLACE_CHOWN. Don't define chown as a macro here.
67437         * modules/chown (Depends-on): Add unistd.
67438         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67439
67440         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67441         Add definition for GL_LINK_WARNING.
67442         (chown, dup2): New declarations.
67443         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67444         link warning.
67445         (ftruncate): New declaration.
67446         (getcwd): New declaration, taken from old getcwd.h.
67447         (getlogin_r): New declaration, taken from old getlogin_r.h.
67448         (readlink): New declaration.
67449         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67450         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67451         (gl_PREREQ_UNISTD): Remove macro.
67452         (gl_UNISTD_MODULE_INDICATOR): New macro.
67453         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67454         many new variables. Don't set UNISTD_H.
67455         * modules/unistd (Description): Change.
67456         (Depends-on): Add link-warning.
67457         (configure.ac): Update.
67458         (Makefile.am): Create unistd.h always. Substitute many new variables
67459         into it.
67460
67461 2007-02-18  Bruno Haible  <bruno@clisp.org>
67462
67463         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67464         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67465         HAVE_GETSUBOPT.
67466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67467         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67468         * lib/getsubopt.h: Remove file.
67469         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67470         (Depends-on): Add stdlib.
67471         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67472         (Includes): Use <stdlib.h> instead of getsubopt.h.
67473         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67474         Set HAVE_GETSUBOPT.
67475         * lib/getsubopt.c: Don't include getsubopt.h.
67476
67477 2007-02-18  Bruno Haible  <bruno@clisp.org>
67478
67479         * modules/fchdir (Depends-on): Add dup2.
67480
67481 2007-02-18  Bruno Haible  <bruno@clisp.org>
67482
67483         * lib/stdlib_.h: Handle glibc's special invocation convention
67484         specially.
67485
67486 2007-02-18  Bruno Haible  <bruno@clisp.org>
67487
67488         * modules/stdlib-tests: New file.
67489         * tests/test-stdlib.c: New file.
67490
67491         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67492         (Depends-on): Add stdlib.
67493         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67494         (Includes): Use <stdlib.h> instead of mkstemp.h.
67495         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67496         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67497         * lib/mkstemp.c: Don't include mkstemp.h.
67498         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67499         * lib/stdlib--.h: Don't include mkstemp.h.
67500
67501         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67502         (Depends-on): Add stdlib.
67503         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67504         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67505         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67506         HAVE_MKDTEMP.
67507         * lib/mkdtemp.c: Don't include mkdtemp.h.
67508         * lib/clean-temp.c: Don't include mkdtemp.h.
67509
67510         * modules/exit (Files): Remove lib/exit.h.
67511         (Depends-on): Add stdlib.
67512         (Makefile.am): Remove lib_SOURCES.
67513         (Include): Use <stdlib.h> instead of exit.h.
67514         * lib/argmatch.c: Don't include exit.h.
67515         * lib/execute.c: Likewise.
67516         * lib/pagealign_alloc.c: Likewise.
67517         * lib/pipe.c: Likewise.
67518         * lib/wait-process.c: Likewise.
67519         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67520         * lib/exitfail.c: Likewise.
67521         * lib/savewd.c: Likewise.
67522         * lib/xsetenv.c: Likewise.
67523
67524         * modules/stdlib: New file.
67525         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67526         and extra comments about mkstemp().
67527         * lib/exit.h: Remove file.
67528         * lib/mkdtemp.h: Remove file.
67529         * lib/mkstemp.h: Remove file.
67530         * m4/stdlib_h.m4: New file.
67531         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67532
67533 2007-02-18  Bruno Haible  <bruno@clisp.org>
67534
67535         * modules/math-tests: New file.
67536         * tests/test-math.c: New file.
67537
67538         * modules/math: New file.
67539         * modules/mathl (Files): Remove lib/mathl.h.
67540         (Depends-on): Add math.
67541         (Makefile.am): Don't mention mathl.h.
67542         (Include): Use <math.h> instead of mathl.h.
67543         * lib/math_.h: New file.
67544         * lib/mathl.h: Remove file.
67545         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67546         mathl.h.
67547         * lib/asinl.c: Likewise.
67548         * lib/atanl.c: Likewise.
67549         * lib/ceill.c: Likewise.
67550         * lib/cosl.c: Likewise.
67551         * lib/expl.c: Likewise.
67552         * lib/floorl.c: Likewise.
67553         * lib/frexpl.c: Likewise.
67554         * lib/ldexpl.c: Likewise.
67555         * lib/logl.c: Likewise.
67556         * lib/sincosl.c: Likewise.
67557         * lib/sinl.c: Likewise.
67558         * lib/sqrtl.c: Likewise.
67559         * lib/tanl.c: Likewise.
67560         * lib/trigl.c: Likewise.
67561         * m4/math_h.m4: New file.
67562         * MODULES.html.sh (Mathematics): Add math.
67563
67564 2007-02-17  Bruno Haible  <bruno@clisp.org>
67565
67566         * modules/wctype-tests: New file.
67567         * tests/test-wctype.c: New file.
67568
67569         * modules/wchar-tests: New file.
67570         * tests/test-wchar.c: New file.
67571
67572         * modules/unistd-tests: New file.
67573         * tests/test-unistd.c: New file.
67574
67575         * modules/time-tests: New file.
67576         * tests/test-time.c: New file.
67577
67578         * modules/sysexits-tests: New file.
67579         * tests/test-sysexits.c: New file.
67580
67581         * modules/sys_time-tests: New file.
67582         * tests/test-sys_time.c: New file.
67583
67584         * modules/sys_stat-tests: New file.
67585         * tests/test-sys_stat.c: New file.
67586
67587         * modules/sys_socket-tests: New file.
67588         * tests/test-sys_socket.c: New file.
67589
67590         * modules/sys_select-tests: New file.
67591         * tests/test-sys_select.c: New file.
67592
67593         * modules/string-tests: New file.
67594         * tests/test-string.c: New file.
67595
67596         * modules/stdbool-tests: New file.
67597         * tests/test-stdbool.c: New file.
67598
67599         * modules/netinet_in-tests: New file.
67600         * tests/test-netinet_in.c: New file.
67601
67602         * modules/inttypes-tests: New file.
67603         * tests/test-inttypes.c: New file.
67604
67605         * modules/fcntl-tests: New file.
67606         * tests/test-fcntl.c: New file.
67607
67608         * modules/byteswap-tests: New file.
67609         * tests/test-byteswap.c: New file.
67610
67611         * modules/arpa_inet-tests: New file.
67612         * tests/test-arpa_inet.c: New file.
67613
67614 2007-02-17  Bruno Haible  <bruno@clisp.org>
67615
67616         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67617         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67618         if the corresponding module is not enabled. Emit link warnings if
67619         the function is used nevertheless.
67620         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67621         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67622         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67623         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67624         * modules/inttypes (Depends-on): Add link-warning.
67625         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67626         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67627         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67628         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67629         * modules/imaxdiv (configure.ac): Likewise.
67630         * modules/strtoimax (configure.ac): Likewise.
67631         * modules/strtoumax (configure.ac): Likewise.
67632
67633 2007-02-17  Bruno Haible  <bruno@clisp.org>
67634
67635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67636         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67637         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67638         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67639
67640 2007-02-17  Bruno Haible  <bruno@clisp.org>
67641
67642         * modules/link-warning: New file.
67643         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67644         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67645         * modules/string (Depends-on): Add link-warning.
67646         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67647         string.h.
67648         * MODULES.html.sh (Support for building libraries and executables): Add
67649         link-warning.
67650
67651 2007-02-17  Bruno Haible  <bruno@clisp.org>
67652
67653         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67654         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67655         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67656         long lines.
67657
67658 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67659             Bruno Haible  <bruno@clisp.org>
67660
67661         * modules/tmpfile: New file.
67662         * lib/tmpfile.c: New file.
67663         * m4/tmpfile.m4: New file.
67664         * MODULES.html.sh (func_all_modules): New section "Input/output".
67665
67666 2007-02-15  Bruno Haible  <bruno@clisp.org>
67667
67668         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67669         (supports_delete_on_close): New function.
67670         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67671
67672 2007-02-14  Bruno Haible  <bruno@clisp.org>
67673
67674         * modules/mbspcasecmp-tests: New file.
67675         * tests/test-mbspcasecmp.sh: New file.
67676         * tests/test-mbspcasecmp.c: New file.
67677
67678         New module mbspcasecmp.
67679         * modules/mbspcasecmp: New file.
67680         * lib/mbspcasecmp.c: New file.
67681         * lib/string_.h (strncasecmp): Change warning message.
67682         (mbspcasecmp): New declaration.
67683         * m4/mbspcasecmp.m4: New file.
67684         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67685         GNULIB_MBSPCASECMP.
67686         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67687         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67688
67689 2007-02-14  Bruno Haible  <bruno@clisp.org>
67690
67691         * modules/mbsncasecmp-tests: New file.
67692         * tests/test-mbsncasecmp.sh: New file.
67693         * tests/test-mbsncasecmp.c: New file.
67694
67695         New module mbsncasecmp.
67696         * modules/mbsncasecmp: New file.
67697         * lib/mbsncasecmp.c: New file.
67698         * lib/string_.h (mbsncasecmp): New declaration.
67699         * m4/mbsncasecmp.m4: New file.
67700         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67701         GNULIB_MBSNCASECMP.
67702         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67703         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67704
67705 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67706
67707         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67708         Verify that it doesn't overlap with our flags.
67709         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67710         do not have the desired effect in multibyte locales; instead, use
67711         mbscasecmp.
67712         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67713         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67714         we don't require GNU fnmatch ourselves (if our users require it, they
67715         should do so explicitly).
67716
67717         Fix regex code so it doesn't rely on strcasecmp.
67718         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67719         Otherwise, include gnulib's langinfo.h.
67720         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67721         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67722         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67723         * modules/regex (FILES): Remove m4/codeset.m4.
67724         (Depends-on): Add localcharset.  Remove strcase.
67725
67726 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67727
67728         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67729         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67730
67731 2007-02-13  Bruno Haible  <bruno@clisp.org>
67732
67733         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67734         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67735
67736 2007-02-12  Bruno Haible  <bruno@clisp.org>
67737
67738         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67739         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67740         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67741         time warning rather than a link error.
67742
67743 2007-02-12  Bruno Haible  <bruno@clisp.org>
67744
67745         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67746         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67747         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67748
67749 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67750
67751         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67752         args, not 2.
67753
67754 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67755
67756         New module 'time', so that apps can include <time.h> as per
67757         POSIX and GNU instead of separate include files like time_r.h
67758         and timegm.h.  This implementation tries out a simpler approach
67759         for replacing decls in standard include files (as compared to
67760         the string module), somewhat as an experiment.
67761
67762         * config/srclist.txt: Comment out mktime.c for now.
67763         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67764         since it doesn't apply any more.  Use generic wording instead.
67765         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67766         'time'.
67767         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67768         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67769         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67770         Don't include <sys/types.h>; no longer needed since we assume C89.
67771         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67772         * lib/strftime.c: Likewise.
67773         * lib/time_r.c: Likewise.
67774         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67775         * lib/nanosleep.c: Include <time.h> first, to check interface.
67776         * lib/strptime.c: Likewise.
67777         * lib/time_r.c: Likewise.
67778         * lib/timegm.c: Likewise.
67779         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67780         needed.
67781         * lib/timegm.c: Don't include timegm.h; no longer needed.
67782         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67783         time.h now handles any problems in that area.
67784         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67785         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67786         that time.h defines struct timespec.
67787         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67788         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67789         handles that.
67790         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67791         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67792         needed.  Set REPLACE_LOCALTIME.
67793         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67794         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67795         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67796         nanosleep; time_h.m4 now does that.  Don't require
67797         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67798         module handles this now.
67799         * modules/getdate (Depends-on): Remove timespec.  Add time.
67800         * modules/nanosleep (Depends-on): Likewise.
67801         * modules/stat-time (Depends-on): Likewise.
67802         * modules/nanosleep (Include): Include time.h, not timespec.h.
67803         * modules/strptime (Files): Remove lib/strptime.h.
67804         (Depends-on): Add extensions, time.
67805         (Include): Include time.h, not strptime.h.
67806         * modules/time_r (Files): Remove lib/time_r.h.
67807         (Depends-on): Add time.
67808         (Include): Include time.h, not time_r.h.
67809         * modules/timegm: Likewise.
67810         * modules/timespec (Description): Now does timespec-related decls
67811         of our own, instead of struct timespec itself.
67812         (Depends-on): Add time; remove extensions.
67813         (Maintainer): Add self.
67814         * modules/utimecmp (Depends-on): Add time; remove timespec.
67815         * modules/utimens (Depends-on): Likewise.
67816         * modules/xnanosleep (Depends-on): Likewise.
67817
67818 2007-02-11  Bruno Haible  <bruno@clisp.org>
67819
67820         * lib/c-strstr.c: Include allocsa.h.
67821         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67822         * lib/c-strcasestr.c: Include allocsa.h.
67823         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67824         * lib/strcasestr.c: Include allocsa.h.
67825         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67826         * lib/mbsstr.c: Include allocsa.h.
67827         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67828         allocsa/freesa instead of malloc/free.
67829         * lib/mbscasestr.c: Include allocsa.h.
67830         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67831         allocsa/freesa instead of malloc/free.
67832         * modules/c-strstr (Depends-on): Add allocsa.
67833         * modules/c-strcasestr (Depends-on): Likewise.
67834         * modules/strcasestr (Depends-on): Likewise.
67835         * modules/mbsstr (Depends-on): Likewise.
67836         * modules/mbscasestr (Depends-on): Likewise.
67837
67838 2007-02-11  Bruno Haible  <bruno@clisp.org>
67839
67840         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67841
67842         * modules/mbsspn-tests: New file.
67843         * tests/test-mbsspn.sh: New file.
67844         * tests/test-mbsspn.c: New file.
67845
67846 2007-02-11  Bruno Haible  <bruno@clisp.org>
67847
67848         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67849
67850         * modules/mbspbrk-tests: New file.
67851         * tests/test-mbspbrk.sh: New file.
67852         * tests/test-mbspbrk.c: New file.
67853
67854 2007-02-11  Bruno Haible  <bruno@clisp.org>
67855
67856         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67857         unneeded cast.
67858
67859         * modules/mbscspn-tests: New file.
67860         * tests/test-mbscspn.sh: New file.
67861         * tests/test-mbscspn.c: New file.
67862
67863 2007-02-11  Bruno Haible  <bruno@clisp.org>
67864
67865         * modules/mbscasecmp-tests: New file.
67866         * tests/test-mbscasecmp.sh: New file.
67867         * tests/test-mbscasecmp.c: New file.
67868
67869 2007-02-11  Bruno Haible  <bruno@clisp.org>
67870
67871         Ensure O(n) worst-case complexity of mbscasestr.
67872         * lib/mbscasestr.c: Include stdbool.h.
67873         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67874         functions.
67875         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67876         the bookkeeping indicates that it's worth it.
67877         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67878
67879         * modules/mbscasestr-tests: New file.
67880         * tests/test-mbscasestr1.c: New file.
67881         * tests/test-mbscasestr2.sh: New file.
67882         * tests/test-mbscasestr2.c: New file.
67883         * tests/test-mbscasestr3.sh: New file.
67884         * tests/test-mbscasestr3.c: New file.
67885         * tests/test-mbscasestr4.sh: New file.
67886         * tests/test-mbscasestr4.c: New file.
67887         * m4/locale-tr.m4: New file.
67888
67889 2007-02-11  Bruno Haible  <bruno@clisp.org>
67890
67891         Ensure O(n) worst-case complexity of mbsstr.
67892         * lib/mbsstr.c: Include stdbool.h.
67893         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67894         functions.
67895         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67896         bookkeeping indicates that it's worth it.
67897         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67898
67899         * modules/mbsstr-tests: New file.
67900         * tests/test-mbsstr1.c: New file.
67901         * tests/test-mbsstr2.sh: New file.
67902         * tests/test-mbsstr2.c: New file.
67903         * tests/test-mbsstr3.sh: New file.
67904         * tests/test-mbsstr3.c: New file.
67905         * m4/locale-fr.m4: New file.
67906
67907 2007-02-11  Bruno Haible  <bruno@clisp.org>
67908
67909         * lib/mbsrchr.c (mbsrchr): Fix bug.
67910
67911         * modules/mbsrchr-tests: New file.
67912         * tests/test-mbsrchr.sh: New file.
67913         * tests/test-mbsrchr.c: New file.
67914
67915 2007-02-11  Bruno Haible  <bruno@clisp.org>
67916
67917         * lib/mbschr.c (mbschr): Fix bug.
67918
67919         * modules/mbschr-tests: New file.
67920         * tests/test-mbschr.sh: New file.
67921         * tests/test-mbschr.c: New file.
67922         * m4/locale-zh.m4: New file.
67923
67924 2007-02-11  Bruno Haible  <bruno@clisp.org>
67925
67926         Support for copying multibyte string iterators.
67927         * lib/mbiter.h: Include <string.h>.
67928         (mbiter_multi_copy): New function.
67929         (mbi_copy): New macro.
67930         * lib/mbuiter.h: Include <string.h>.
67931         (mbuiter_multi_copy): New function.
67932         (mbui_copy): New macro.
67933
67934 2007-02-11  Bruno Haible  <bruno@clisp.org>
67935
67936         New module mbslen.
67937         * modules/mbslen: New file.
67938         * lib/mbslen.c: New file.
67939         * lib/string_.h (mbslen): New declaration.
67940         * m4/mbslen.m4: New file.
67941         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67942         GNULIB_MBSLEN.
67943         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67944         * MODULES.html.sh (Internationalization functions): Add mbslen.
67945
67946 2007-02-11  Bruno Haible  <bruno@clisp.org>
67947
67948         Ensure O(n) worst-case complexity of strcasestr substitute.
67949         * lib/strcasestr.c: Include stdbool.h.
67950         (knuth_morris_pratt): New function.
67951         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67952         bookkeeping indicates that it's worth it.
67953         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67954
67955         * modules/strcasestr-tests: New file.
67956         * tests/test-strcasestr.c: New file.
67957
67958 2007-02-11  Bruno Haible  <bruno@clisp.org>
67959
67960         Ensure O(n) worst-case complexity of c_strcasestr.
67961         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67962         (knuth_morris_pratt): New function.
67963         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67964         the bookkeeping indicates that it's worth it.
67965         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67966
67967         * modules/c-strcasestr-tests: New file.
67968         * tests/test-c-strcasestr.c: New file.
67969
67970 2007-02-11  Bruno Haible  <bruno@clisp.org>
67971
67972         Ensure O(n) worst-case complexity of c_strstr.
67973         * lib/c-strstr.c: Include stdbool.h, string.h.
67974         (knuth_morris_pratt): New function.
67975         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67976         bookkeeping indicates that it's worth it.
67977         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67978
67979         * lib/c-strstr.c: Complete rewrite for maintainability.
67980
67981         * modules/c-strstr-tests: New file.
67982         * tests/test-c-strstr.c: New file.
67983
67984 2007-02-11  Bruno Haible  <bruno@clisp.org>
67985
67986         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67987         5.2.1 and earlier, whereby \055 was treated just like the range
67988         delimiter '-'.
67989         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67990
67991 2007-02-08  Bruno Haible  <bruno@clisp.org>
67992
67993         * modules/regex (Depends-on): Add stdbool.
67994         Reported by Dalibor Topic <robilad@kaffe.org>.
67995
67996 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67997
67998         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67999         Prefer returning from main to exiting from it.
68000         Remove unnecessary parens after sizeof.
68001
68002 2007-02-05  Bruno Haible  <bruno@clisp.org>
68003
68004         New module mbssep.
68005         * modules/mbssep: New file.
68006         * lib/mbssep.c: New file.
68007         * lib/string_.h (strsep): Add a conditional link warning.
68008         (mbssep): New declaration.
68009         * m4/mbssep.m4: New file.
68010         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68011         GNULIB_MBSSEP.
68012         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
68013         * MODULES.html.sh (Internationalization functions): Add mbssep.
68014
68015 2007-02-05  Bruno Haible  <bruno@clisp.org>
68016
68017         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
68018         Optimize search in case of 1 delimiter.
68019
68020 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
68021
68022         * lib/acl.h: Include sys/types.h before sys/acl.h.
68023
68024 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
68025
68026         Merge upstream fix for glibc bugzilla #3957:
68027
68028         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
68029
68030         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
68031         bit for RE_HAT_LISTS_NOT_NEWLINE.
68032         (build_charclass_op): Remove bogus comment.
68033
68034 2007-02-05  Simon Josefsson  <simon@josefsson.org>
68035
68036         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
68037
68038 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68039
68040         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
68041         * lib/memmem.c [!defined _LIBC]: Include config.h.
68042
68043 2007-02-04  Bruno Haible  <bruno@clisp.org>
68044
68045         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
68046         warning message.
68047
68048 2007-02-04  Bruno Haible  <bruno@clisp.org>
68049
68050         New module mbstok_r.
68051         * modules/mbstok_r: New file.
68052         * lib/mbstok_r.c: New file.
68053         * lib/string_.h (strtok_r): Change argument names to match the
68054         comments. Add a conditional link warning.
68055         (mbstok_r): New declaration.
68056         * m4/mbstok_r.m4: New file.
68057         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68058         GNULIB_MBSTOK_R.
68059         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
68060         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
68061
68062 2007-02-04  Bruno Haible  <bruno@clisp.org>
68063
68064         New module mbsspn.
68065         * modules/mbsspn: New file.
68066         * lib/mbsspn.c: New file.
68067         * lib/string_.h (strspn): Add a conditional link warning.
68068         (mbsspn): New declaration.
68069         * m4/mbsspn.m4: New file.
68070         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68071         GNULIB_MBSSPN.
68072         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
68073         * MODULES.html.sh (Internationalization functions): Add mbsspn.
68074
68075 2007-02-04  Bruno Haible  <bruno@clisp.org>
68076
68077         New module mbspbrk.
68078         * modules/mbspbrk: New file.
68079         * lib/mbspbrk.c: New file.
68080         * lib/string_.h (strpbrk): Add a conditional link warning.
68081         (mbspbrk): New declaration.
68082         * m4/mbspbrk.m4: New file.
68083         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68084         GNULIB_MBSPBRK.
68085         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
68086         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
68087
68088 2007-02-04  Bruno Haible  <bruno@clisp.org>
68089
68090         New module mbscspn.
68091         * modules/mbscspn: New file.
68092         * lib/mbscspn.c: New file.
68093         * lib/string_.h (strcspn): Add a conditional link warning.
68094         (mbscspn): New declaration.
68095         * m4/mbscspn.m4: New file.
68096         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68097         GNULIB_MBSCSPN.
68098         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
68099         * MODULES.html.sh (Internationalization functions): Add mbscspn.
68100
68101 2007-02-04  Bruno Haible  <bruno@clisp.org>
68102
68103         New module mbscasestr, reduced goal of strcasestr.
68104         * modules/mbscasestr: New file.
68105         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
68106         (mbscasestr): Renamed from strcasestr.
68107         * lib/strcasestr.c: Don't include mbuiter.h.
68108         (strcasestr): Remove support for multibyte locales.
68109         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
68110         Change the conditional link warning.
68111         (mbscasestr): New declaration.
68112         * m4/mbscasestr.m4: New file.
68113         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
68114         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
68115         REPLACE_STRCASESTR.
68116         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
68117         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68118         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
68119         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
68120         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
68121         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
68122         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
68123         (Depends-on): Remove mbuiter.
68124         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
68125
68126 2007-02-04  Bruno Haible  <bruno@clisp.org>
68127
68128         Simplify handling of strncasecmp.
68129         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
68130         the conditional link warning.
68131         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
68132         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
68133         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
68134         * modules/strcase (configure.ac): Don't invoke
68135         gl_STRING_MODULE_INDICATOR.
68136         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
68137
68138 2007-02-04  Bruno Haible  <bruno@clisp.org>
68139
68140         New module mbscasecmp, reduced goal of strcasecmp.
68141         * modules/mbscasecmp: New file.
68142         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
68143         (mbscasecmp): Renamed from strcasecmp.
68144         * lib/strcasecmp.c: Don't include mbuiter.h.
68145         (strcasecmp): Remove support for multibyte locales.
68146         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
68147         Change the conditional link warning.
68148         (mbscasecmp): New declaration.
68149         * m4/mbscasecmp.m4: New file.
68150         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
68151         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
68152         REPLACE_STRCASECMP.
68153         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
68154         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68155         GNULIB_MBSCASECMP.
68156         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
68157         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
68158         * modules/strcase (Files): Remove m4/mbrtowc.m4.
68159         (Depends-on): Remove mbuiter.
68160         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
68161
68162 2007-02-04  Bruno Haible  <bruno@clisp.org>
68163
68164         New module mbsstr. Remove module strstr.
68165         * modules/mbsstr: New file.
68166         * modules/strstr: Remove file.
68167         * lib/mbsstr.c: Renamed from lib/strstr.c.
68168         (mbsstr): Renamed from strstr.
68169         * lib/string_.h (strstr): Remove declaration. Change the conditional
68170         link warning.
68171         (mbsstr): New declaration.
68172         * m4/mbsstr.m4: New file.
68173         * m4/strstr.m4: Remove file.
68174         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
68175         REPLACE_STRSTR.
68176         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
68177         Don't initialize GNULIB_STRSTR.
68178         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
68179         substitute GNULIB_STRSTR and REPLACE_STRSTR.
68180         * MODULES.html.sh (Internationalization functions): Add mbsstr.
68181         (Support for systems lacking ANSI C 89): Remove strstr.
68182
68183 2007-02-04  Bruno Haible  <bruno@clisp.org>
68184
68185         New module mbsrchr.
68186         * modules/mbsrchr: New file.
68187         * lib/mbsrchr.c: New file.
68188         * lib/string_.h (strrchr): Add a conditional link warning.
68189         (mbsrchr): New declaration.
68190         * m4/mbsrchr.m4: New file.
68191         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68192         GNULIB_MBSRCHR.
68193         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
68194         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
68195
68196 2007-02-04  Bruno Haible  <bruno@clisp.org>
68197
68198         New module mbschr.
68199         * modules/mbschr: New file.
68200         * lib/mbschr.c: New file.
68201         * lib/string_.h (strchr): Add a conditional link warning.
68202         (mbschr): New declaration.
68203         * m4/mbschr.m4: New file.
68204         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68205         GNULIB_MBSCHR.
68206         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
68207         * MODULES.html.sh (Internationalization functions): Add mbschr.
68208
68209 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68210
68211         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
68212
68213         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
68214
68215 2007-02-04  Bruno Haible  <bruno@clisp.org>
68216
68217         New module description section 'configure.ac-early'.
68218         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
68219         (func_get_autoconf_early_snippet): New function.
68220         (func_import, func_create_testdir): Use it. Remove special cases for
68221         modules 'extensions' and 'lock'.
68222         * modules/extensions (configure.ac-early): Require
68223         gl_USE_SYSTEM_EXTENSIONS.
68224         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
68225
68226 2007-02-04  Bruno Haible  <bruno@clisp.org>
68227
68228         Make use of gcj-4.3's -fsource and -ftarget option.
68229         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
68230         and if so try the options -fsource and -ftarget.
68231         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
68232         source_version, ftarget_option, target_version arguments.
68233         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
68234         (is_envjavac_oldgcj_14_14_usable): Renamed from
68235         is_envjavac_gcj_14_14_usable.
68236         (is_envjavac_oldgcj_14_13_usable): Renamed from
68237         is_envjavac_gcj_14_13_usable.
68238         (is_gcj_present): Update.
68239         (is_gcj_43, is_gcj43_usable): New functions.
68240         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68241         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68242         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68243         try the options -fsource and -ftarget.
68244
68245 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68246
68247         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68248         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68249         larger value.
68250
68251 2007-02-03  Jim Meyering  <jim@meyering.net>
68252
68253         Give tools a better chance to allocate space for very large buffers.
68254         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68255
68256         Make pwd and readlink work also when run with an unreadable parent dir
68257         on systems with openat support.
68258         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68259         provided getcwd function, even when we have openat support.
68260         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68261
68262 2007-02-02  Bruno Haible  <bruno@clisp.org>
68263
68264         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68265         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68266         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68267         portability problems if one of these functions is only used on specific
68268         platforms.
68269         Reported by Paul Eggert.
68270
68271 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68272
68273         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68274         is causing more trouble than it's curing.
68275         * lib/regex_internal.h (__mempcpy): Remove.
68276         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68277         (and make the code a tad smaller to boot).
68278         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68279
68280 2007-02-02  Jim Meyering  <jim@meyering.net>
68281
68282         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68283         section, not in the Makefile.am: one.
68284
68285 2007-02-02  Eric Blake  <ebb9@byu.net>
68286
68287         * lib/strchrnul.c: Always include config.h first.
68288
68289         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68290         gnulib strstr is not necessary here.
68291
68292 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68293
68294         * m4/socklen.m4: Fix typo.
68295
68296 2007-02-02  Eric Blake  <ebb9@byu.net>
68297
68298         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68299         * modules/netinet_in (Makefile.am): Likewise.
68300
68301 2007-02-01  Bruno Haible  <bruno@clisp.org>
68302
68303         * lib/string_.h (GL_LINK_WARNING): New macro.
68304         (strcasecmp, strstr, strcasestr): If provided by the system,
68305         conditionally define as a macro that leads to a warning instead of to
68306         an error.
68307         (strncasecmp): Conditionally define as a macro that leads to a warning.
68308
68309 2007-02-01  Karl Berry  <karl@gnu.org>
68310
68311         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68312
68313 2007-02-01  Bruno Haible  <bruno@clisp.org>
68314
68315         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68316         renamings.
68317
68318 2007-02-01  Eric Blake  <ebb9@byu.net>
68319
68320         * modules/regex (Depends-on): Revert dependence on mempcpy.
68321         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68322         module's definition of mempcpy.
68323         Reported by Paul Eggert.
68324
68325 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68326
68327         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68328         the symbol XYZ before redefining it.  This fixes a problem with
68329         programs that don't use XYZ, when compiled on systems that define
68330         XYZ to something else.
68331
68332 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
68333
68334         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
68335         occurs when "mkdir -m foo" creates a setgid directory that is (1)
68336         writeable to group or other and (2) is intended to have a special
68337         mode bit that is set or cleared.  In such a case, the directory
68338         should be neither group- nor other-writeable until the special
68339         mode bits are right.
68340
68341 2007-01-31  Eric Blake  <ebb9@byu.net>
68342
68343         * modules/mountlist (Depends-on): Add strstr.
68344
68345         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
68346         bug.
68347         * modules/string (Makefile.am): Remove redundant replacement.
68348         * modules/regex (Depends-on): Add mempcpy.
68349
68350 2007-01-31  Bruno Haible  <bruno@clisp.org>
68351
68352         New module description field 'Link'.
68353         * gnulib-tool (func_usage): Document --extract-link-directive.
68354         (sed_extract_prog): Recognize 'Link' directive.
68355         (func_get_link_directive): New function.
68356         (func_import): Show summary of link directives.
68357         Handle --extract-link-directive option.
68358         * modules/acl (Link): New section.
68359         * modules/clock-time (Link): New section.
68360         * modules/euidaccess (Link): New section.
68361         * modules/gettext (Link): New section.
68362         * modules/iconv (Link): New section.
68363         * modules/lock (Link): New section.
68364         * modules/nanosleep (Link): New section.
68365         * modules/readline (Link): New section.
68366
68367 2007-01-27  Bruno Haible  <bruno@clisp.org>
68368
68369         Enforce the use of gnulib modules for unportable <string.h> functions.
68370         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68371         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68372         (gl_HEADER_STRING_H_BODY): Require it.
68373         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68374         the symbol XYZ to one that gives a link error.
68375         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68376         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68377         * modules/mempcpy (configure.ac): Likewise.
68378         * modules/memrchr (configure.ac): Likewise.
68379         * modules/stpcpy (configure.ac): Likewise.
68380         * modules/stpncpy (configure.ac): Likewise.
68381         * modules/strcase (configure.ac): Likewise.
68382         * modules/strcasestr (configure.ac): Likewise.
68383         * modules/strchrnul (configure.ac): Likewise.
68384         * modules/strdup (configure.ac): Likewise.
68385         * modules/strndup (configure.ac): Likewise.
68386         * modules/strnlen (configure.ac): Likewise.
68387         * modules/strpbrk (configure.ac): Likewise.
68388         * modules/strsep (configure.ac): Likewise.
68389         * modules/strstr (configure.ac): Likewise.
68390         * modules/strtok_r (configure.ac): Likewise.
68391
68392 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68393
68394         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68395
68396 2007-01-30  Jim Meyering  <jim@meyering.net>
68397
68398         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68399
68400 2007-01-29  Bruno Haible  <bruno@clisp.org>
68401
68402         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68403         * lib/execute.c: Likewise.
68404         * lib/pipe.c: Likewise.
68405         * lib/printf-args.h: Likewise.
68406         * lib/printf-args.c: Likewise.
68407         * lib/printf-parse.c: Likewise.
68408         * lib/vasnprintf.c: Likewise.
68409
68410 2007-01-29  Eric Blake  <ebb9@byu.net>
68411
68412         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68413         declaration.
68414
68415 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68416
68417         * lib/strptime.h (strptime): Use 'restrict' for args where
68418         POSIX requires this.
68419         * lib/strptime.c (strptime): Likewise.
68420         Change license notice from LGPL to GPL, since gnulib-tool will
68421         change this as needed.
68422         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68423         defined.
68424         Include "strptime.h" first, to check interface.
68425         Do not #undef _LIBC and _NL_CURRENT.
68426         Do not include <stdlib.h>; no longer needed.
68427         Include "time_r.h" and declare ptime_locale_status
68428         only if _LIBC is not defined.
68429         (__P): Remove unused macro.
68430         (match_string): Bring back glibc version, but use it only if _LIBC
68431         is defined.
68432         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68433         Remove unnecessary assertion and abort() call.
68434         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68435         * m4/strptime.m4: Fix serial number comment.
68436         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68437         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68438         (Depends-on): Add time_r.
68439
68440 2007-01-29  Bruno Haible  <bruno@clisp.org>
68441
68442         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68443         strptime.
68444         * modules/strptime (Depends-on): Add stdbool.
68445         * lib/strptime.h: Include <time.h> always. Add comments.
68446
68447 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68448
68449         * modules/strptime: New file.
68450         * lib/strptime.h: New file.
68451         * lib/strptime.c: New file.
68452         * m4/strptime.m4: New file.
68453
68454 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68455
68456         * MODULES.html.sh: New module mpsort.
68457         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68458
68459         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68460         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68461         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68462         All uses changed.
68463         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68464         All uses changed.
68465         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68466         to _Restrict_.
68467         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68468         the parameter matches the prototype.
68469
68470 2007-01-28  Jim Meyering  <jim@meyering.net>
68471
68472         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68473         sys/time.h here, reverting that part of the previous patch:
68474         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68475
68476 2007-01-28  Bruno Haible  <bruno@clisp.org>
68477
68478         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68479         value of $(SYS_TIME_H).
68480         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68481         remove it conditionally, too. [added by Jim Meyering]
68482         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68483         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68484         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68485         GETTIMEOFDAY_REPLACEMENT to 1.
68486
68487 2007-01-28  Bruno Haible  <bruno@clisp.org>
68488
68489         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68490         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68491         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68492         Set UNISTD_H instead of UNISTD_H2.
68493         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68494
68495 2007-01-28  Bruno Haible  <bruno@clisp.org>
68496
68497         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68498         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68499
68500 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68501
68502         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68503         (func_create_testdir): Ensure C locale for `grep' and `tr'
68504         character ranges.
68505         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68506         ACLOCAL_AMFLAGS parsing state machine.
68507
68508 2007-01-27  Bruno Haible  <bruno@clisp.org>
68509
68510         * modules/unistr/base: Update.
68511
68512 2007-01-27  Bruno Haible  <bruno@clisp.org>
68513
68514         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68515         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68516         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68517         modules/unistr/u32-mbtouc.
68518         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68519         * lib/unistr.h: Update.
68520         * lib/linebreak.c: Update.
68521         * modules/unistr/u32-mbtouc: Renamed from
68522         modules/unistr/u32-mbtouc-safe.
68523         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68524         * lib/unistr.h: Update.
68525         * lib/unistr/u32-to-u8.c: Update.
68526         * lib/unistr/u32-to-u16.c: Update.
68527
68528 2007-01-27  Bruno Haible  <bruno@clisp.org>
68529
68530         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68531         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68532         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68533         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68534         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68535         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68536         modules/unistr/u16-mbtouc.
68537         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68538         * lib/unistr.h: Update.
68539         * lib/linebreak.c: Update.
68540         * modules/linebreak: Update.
68541         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68542         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68543         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68544         * modules/unistr/u16-mbtouc: Renamed from
68545         modules/unistr/u16-mbtouc-safe.
68546         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68547         * lib/unistr.h: Update.
68548         * lib/unistr/u16-to-u8.c: Update.
68549         * modules/unistr/u16-to-u8: Update.
68550         * lib/unistr/u16-to-u32.c: Update.
68551         * modules/unistr/u16-to-u32: Update.
68552
68553 2007-01-27  Bruno Haible  <bruno@clisp.org>
68554
68555         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68556         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68557         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68558         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68559         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68560         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68561         modules/unistr/u8-mbtouc.
68562         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68563         * lib/unistr.h: Update.
68564         * lib/striconveh.c: Update.
68565         * modules/striconveh: Update.
68566         * lib/linebreak.c: Update.
68567         * modules/linebreak: Update.
68568         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68569         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68570         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68571         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68572         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68573         * lib/unistr.h: Update.
68574         * lib/striconveh.c: Update.
68575         * modules/striconveh: Update.
68576         * lib/unistr/u8-to-u16.c: Update.
68577         * modules/unistr/u8-to-u16: Update.
68578         * lib/unistr/u8-to-u32.c: Update.
68579         * modules/unistr/u8-to-u32: Update.
68580
68581 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68582
68583         Sync from Libtool.
68584         * lib/argz.c: Do not include strings.h nor memory.h, include
68585         string.h unconditionally.  Patch by Simon Josefsson.
68586
68587 2007-01-27  Bruno Haible  <bruno@clisp.org>
68588
68589         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68590         from gl_HEADER_STRING_H_BODY.
68591         (gl_HEADER_STRING_H_BODY): Require it.
68592         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68593         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68594         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68595         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68596         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68597         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68598         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68599         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68600         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68601         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68602         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68603         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68604         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68605         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68606         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68607
68608 2007-01-27  Bruno Haible  <bruno@clisp.org>
68609
68610         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68611         check_PROGRAMS into noinst_PROGRAMS.
68612         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68613         check_PROGRAMS in this case.
68614         (func_import): Set for_test to false.
68615         (func_create_testdir): Set for_test to true.
68616
68617 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68618             Bruno Haible  <bruno@clisp.org>
68619
68620         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68621         (Depends-on): Add string.
68622         (Includes): Use <string.h> instead of strcasestr.h.
68623         * modules/string (Makefile.am): Also substitute the value of
68624         REPLACE_STRCASESTR.
68625         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68626         assume strcasestr is declared in <string.h> not <strings.h>. Also
68627         set REPLACE_STRCASESTR.
68628         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68629         REPLACE_STRCASESTR.
68630         * lib/strcasestr.h: Remove file.
68631         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68632         * lib/string_.h (strcasestr): New declaration.
68633
68634 2007-01-27  Bruno Haible  <bruno@clisp.org>
68635
68636         * lib/string_.h: Use 'extern'.
68637
68638 2007-01-27  Jim Meyering  <jim@meyering.net>
68639
68640         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68641         of set-but-not-used local, "q".
68642
68643         * lib/mempcpy.c: Include <config.h> before <string.h>.
68644         This fixes a compilation error on HP-UX, due to the system's
68645         "restrict"-using mempcpy prototype.
68646
68647 2007-01-26  Bruno Haible  <bruno@clisp.org>
68648
68649         Small optimization.
68650         * lib/javacomp.c: Include c-strstr.h.
68651          (is_envjavac_gcj): Use c_strstr instead of strstr.
68652         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68653
68654 2007-01-26  Bruno Haible  <bruno@clisp.org>
68655
68656         * MODULES.html.sh (Unicode string functions): Add the new modules.
68657
68658         * modules/uniconv/u32-strconv-to-locale: New file.
68659         * lib/uniconv/u32-strconv-to-locale.c: New file.
68660
68661         * modules/uniconv/u16-strconv-to-locale: New file.
68662         * lib/uniconv/u16-strconv-to-locale.c: New file.
68663
68664         * modules/uniconv/u8-strconv-to-locale: New file.
68665         * lib/uniconv/u8-strconv-to-locale.c: New file.
68666
68667         * modules/uniconv/u32-strconv-from-locale: New file.
68668         * lib/uniconv/u32-strconv-from-locale.c: New file.
68669
68670         * modules/uniconv/u16-strconv-from-locale: New file.
68671         * lib/uniconv/u16-strconv-from-locale.c: New file.
68672
68673         * modules/uniconv/u8-strconv-from-locale: New file.
68674         * lib/uniconv/u8-strconv-from-locale.c: New file.
68675
68676         * modules/uniconv/u32-strconv-to-enc: New file.
68677         * lib/uniconv/u32-strconv-to-enc.c: New file.
68678         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68679         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68680
68681         * modules/uniconv/u16-strconv-to-enc: New file.
68682         * lib/uniconv/u16-strconv-to-enc.c: New file.
68683         * lib/uniconv/u-strconv-to-enc.h: New file.
68684         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68685         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68686
68687         * modules/uniconv/u8-strconv-to-enc: New file.
68688         * lib/uniconv/u8-strconv-to-enc.c: New file.
68689         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68690         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68691
68692         * modules/uniconv/u32-strconv-from-enc: New file.
68693         * lib/uniconv/u32-strconv-from-enc.c: New file.
68694         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68695         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68696
68697         * modules/uniconv/u16-strconv-from-enc: New file.
68698         * lib/uniconv/u16-strconv-from-enc.c: New file.
68699         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68700         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68701
68702         * modules/uniconv/u8-strconv-from-enc: New file.
68703         * lib/uniconv/u8-strconv-from-enc.c: New file.
68704         * lib/uniconv/u-strconv-from-enc.h: New file.
68705         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68706         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68707
68708         * modules/uniconv/u32-conv-from-enc: New file.
68709         * lib/uniconv/u32-conv-from-enc.c: New file.
68710         * modules/uniconv/u32-conv-from-enc-tests: New file.
68711         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68712
68713         * modules/uniconv/u16-conv-from-enc: New file.
68714         * lib/uniconv/u16-conv-from-enc.c: New file.
68715         * lib/uniconv/u-conv-from-enc.h: New file.
68716         * modules/uniconv/u16-conv-from-enc-tests: New file.
68717         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68718
68719         * modules/uniconv/u8-conv-from-enc: New file.
68720         * lib/uniconv/u8-conv-from-enc.c: New file.
68721         * modules/uniconv/u8-conv-from-enc-tests: New file.
68722         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68723
68724         * modules/uniconv/base: New file.
68725         * lib/uniconv.h: New file.
68726
68727 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68728
68729         * doc/gnulib-tool.texi (Initial import): Update to match current
68730         behavior with strdup module.
68731         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68732         * lib/memmem.h: Remove; all uses removed.  This is now done
68733         by <string.h>.
68734         * lib/mempcpy.h: Likewise.
68735         * lib/memrchr.h: Likewise.
68736         * lib/stpcpy.h: Likewise.
68737         * lib/stpncpy.h: Likewise.
68738         * lib/strcase.h: Likewise.
68739         * lib/strchrnul.h: Likewise.
68740         * lib/strdup.h: Likewise.
68741         * lib/strndup.h: Likewise.
68742         * lib/strnlen.h: Likewise.
68743         * lib/strpbrk.h: Likewise.
68744         * lib/strsep.h: Likewise.
68745         * lib/strstr.h: Likewise.
68746         * lib/strtok_r.h: Likewise.
68747         * lib/string_.h: New file.
68748         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68749         Rely on <string.h> instead.
68750         * lib/canon-host.c: Likewise.
68751         * lib/chdir-long.c: Likewise.
68752         * lib/concatpath.c: Likewise.
68753         * lib/exclude.c: Likewise.
68754         * lib/fchdir.c: Likewise.
68755         * lib/getaddrinfo.c: Likewise.
68756         * lib/getcwd.c: Likewise.
68757         * lib/getsubopt.c: Likewise.
68758         * lib/glob.c: Likewise.
68759         * lib/hard-locale.c: Likewise.
68760         * lib/iconvme.c: Likewise.
68761         * lib/javacomp.c: Likewise.
68762         * lib/mempcpy.c: Likewise.
68763         * lib/memrchr.c: Likewise.
68764         * lib/regex_internal.h: Likewise.
68765         * lib/stpncpy.c: Likewise.
68766         * lib/strcasecmp.c: Likewise.
68767         * lib/strchrnul.c: Likewise.
68768         * lib/strdup.c: Likewise.
68769         * lib/striconv.c: Likewise.
68770         * lib/striconveh.c: Likewise.
68771         * lib/striconveha.c: Likewise.
68772         * lib/strncasecmp.c: Likewise.
68773         * lib/strndup.c: Likewise.
68774         * lib/strnlen.c: Likewise.
68775         * lib/strsep.c: Likewise.
68776         * lib/strstr.c: Likewise.
68777         * lib/strtok_r.c: Likewise.
68778         * lib/userspec.c: Likewise.
68779         * lib/w32spawn.h: Likewise.
68780         * lib/xstrndup.c: Likewise.
68781         * lib/mountlist.c (strstr): Remove decl.
68782         * m4/string_h.m4: New file.
68783         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68784         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68785         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68786         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68787         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68788         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68789         Set REPLACE_STRCASECMP if necessary.
68790         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68791         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68792         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68793         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68794         HAVE_DECL_STRDUP if necessary.
68795         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68796         since gl_FUNC_STRNDUP does that now.
68797         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68798         Check for decl here...
68799         (gl_PREREQ_STRNLEN): ... not here.
68800         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68801         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68802         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68803         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68804         necessary.
68805         * modules/string: New file.
68806         * modules/memmem (Files): Remove special-purpose include file.
68807         (Depends-on): Add string.
68808         (Include): Include <string.h>, not the removed file.
68809         * modules/mempcpy: Likewise.
68810         * modules/memrchr: Likewise.
68811         * modules/stpcpy: Likewise.
68812         * modules/stpncpy: Likewise.
68813         * modules/strcase: Likewise.
68814         * modules/strchrnul: Likewise.
68815         * modules/strdup: Likewise.
68816         * modules/strndup: Likewise.
68817         * modules/strnlen: Likewise.
68818         * modules/strpbrk: Likewise.
68819         * modules/strsep: Likewise.
68820         * modules/strstr: Likewise.
68821         * modules/strtok_r: Likewise.
68822         * tests/test-dirname.c: Don't include "strdup.h", since
68823         <string.h> now suffices.
68824         * tests/test-memmem.c: Don't include "memmem.h", since
68825         <string.h> now suffices.
68826
68827 2007-01-25  Bruno Haible  <bruno@clisp.org>
68828
68829         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68830         *resultp is 0.
68831
68832         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68833         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68834         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68835         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68836
68837         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68838         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68839         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68840         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68841         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68842         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68843
68844 2007-01-24  Bruno Haible  <bruno@clisp.org>
68845
68846         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68847         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68848         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68849         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68850         gl_FUNC_FTS_CORE.
68851         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68852         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68853         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68854         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68855         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68856         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68857         gl_FUNC_FCHOWNAT.
68858         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68859         gl_FUNC_STRFTIME.
68860         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68861         Reported by Ralf Wildenhues.
68862
68863 2007-01-24  Bruno Haible  <bruno@clisp.org>
68864
68865         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68866         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68867         gl_GETADDRINFO.
68868         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68869         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68870         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68871
68872 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68873
68874         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68875         Don't use 'exit'; just return from 'main'.
68876         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68877
68878         * lib/fnmatch_.h: Readjust white space and comments to match
68879         glibc, to avoid spurious diffs.
68880
68881 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68884         2004-12-01 change by Jakub Jelinek, since this code won't compile
68885         if !LIBC.  Problem reported by Bob Proulx.
68886
68887 2007-01-23  Bruno Haible  <bruno@clisp.org>
68888
68889         * lib/striconveh.c: Include c-strcaseeq.h.
68890         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68891         * modules/striconveh (Depends-on): Add c-strcaseeq.
68892
68893 2007-01-23  Bruno Haible  <bruno@clisp.org>
68894
68895         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68896
68897         * modules/c-strcaseeq: New file.
68898         * lib/c-strcaseeq.h: New file.
68899
68900         * modules/streq: New file.
68901         * lib/streq.h: New file.
68902
68903 2007-01-23  Bruno Haible  <bruno@clisp.org>
68904
68905         * modules/striconveha-tests: New file.
68906         * tests/test-striconveha.c: New file.
68907
68908         * lib/striconveha.h: Include <stdbool.h>.
68909         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68910         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68911         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68912         (mem_iconveha): New function.
68913         (str_iconveha_notranslit): Renamed from str_iconveha.
68914         (str_iconveha): New function.
68915         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68916         c-strcase.
68917
68918 2007-01-23  Bruno Haible  <bruno@clisp.org>
68919
68920         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68921         encodings without forgiving before trying any encoding with handler.
68922         (str_iconveha): Try all encodings without forgiving before trying any
68923         encoding with handler.
68924
68925 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68926
68927         Import the following changes from libc.
68928
68929         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68930
68931         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68932
68933         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68934
68935         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68936         normal_bracket label.
68937
68938         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68939
68940         [BZ #361]
68941         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68942         to normal_bracket after fetching the next character.
68943
68944 2007-01-22  Bruno Haible  <bruno@clisp.org>
68945
68946         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68947         argument.
68948         * lib/striconveh.c (iconv_carefully_1): New function.
68949         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68950         argument.
68951         (str_cd_iconveh): Update.
68952         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68953         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68954         * tests/test-striconveh.c (MAGIC): New macro.
68955         (new_offsets): New function.
68956         (main): Test call with and without offsets.
68957
68958 2007-01-22  Bruno Haible  <bruno@clisp.org>
68959
68960         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68961         * modules/sys_select (Makefile.am): Likewise.
68962         * modules/sys_socket (Makefile.am): Likewise.
68963         * modules/sys_time (Makefile.am): Likewise.
68964
68965 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68966
68967         * modules/gettimeofday (License): Change from GPL to LGPL, since
68968         gettimeofday is a library function.
68969
68970 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68971
68972         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68973
68974 2007-01-21  Bruno Haible  <bruno@clisp.org>
68975
68976         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68977
68978 2007-01-21  Bruno Haible  <bruno@clisp.org>
68979
68980         * modules/striconveha: New file.
68981         * lib/striconveha.h: New file.
68982         * lib/striconveha.c: New file.
68983         * MODULES.html.sh (Internationalization functions): Add striconveha.
68984         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68985         string.
68986         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68987
68988 2007-01-21  Bruno Haible  <bruno@clisp.org>
68989
68990         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68991         * lib/striconveh.c (str_iconveh): Likewise.
68992
68993 2007-01-21  Bruno Haible  <bruno@clisp.org>
68994
68995         * lib/striconveh.h (mem_iconveh): New declaration.
68996         * lib/striconveh.c (mem_iconveh): New function.
68997         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68998
68999 2007-01-21  Bruno Haible  <bruno@clisp.org>
69000
69001         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
69002
69003         * lib/striconveh.h (mem_cd_iconveh): Change specification.
69004         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
69005         original result buffer.
69006         (str_cd_iconveh): Update.
69007         * tests/test-striconveh.c (main): Update.
69008
69009         * lib/striconv.h (mem_cd_iconv): Change specification.
69010         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
69011         result buffer.
69012         (str_cd_iconv): Update.
69013         * tests/test-striconv.c (main): Update.
69014
69015 2007-01-21  Bruno Haible  <bruno@clisp.org>
69016
69017         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
69018
69019 2007-01-20  Jim Meyering  <jim@meyering.net>
69020
69021         * lib/userspec.c (parse_with_separator): If a user or group string
69022         starts with "+", skip the corresponding name-to-ID look-up, since
69023         such a look-up must fail: user and group names may not include "+".
69024
69025 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69026
69027         * lib/poll.c: Include sys/time.h and time.h unconditionally,
69028         since we now assume the sys_time module.
69029         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
69030         check for sys/time.h; no longer needed.
69031         * modules/poll (Depends-on): Depend on sys_time.
69032
69033 2007-01-18  Bruno Haible  <bruno@clisp.org>
69034
69035         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
69036         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
69037
69038         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
69039         gettimeofday.
69040
69041         * tests/test-gettimeofday.c: Include <time.h>.
69042         (dummy): Remove variable.
69043
69044         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
69045         gl_HEADER_SYS_TIME_H.
69046         (gl_HEADER_SYS_TIME_H): New macro.
69047
69048         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
69049         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69050         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
69051         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
69052         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69053         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
69054         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
69055         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69056         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
69057         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
69058         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69059
69060         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
69061         last change; it caused a compilation error when cross-compiling to
69062         Cygwin.
69063
69064 2007-01-18  Jim Meyering  <jim@meyering.net>
69065
69066         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
69067         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
69068         than the race-prone "test -d sys || mkdir sys".
69069         (configure.ac): Use AC_PROG_MKDIR_P.
69070         * modules/sys_select: Likewise.
69071         * modules/sys_socket: Likewise.
69072         * modules/sys_time: Likewise.
69073
69074 2007-01-18  Eric Blake  <ebb9@byu.net>
69075
69076         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
69077         replace gettimeofday.
69078         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
69079         name, to avoid infinite recursion.
69080
69081 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
69082
69083         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
69084         module sys_time.
69085         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
69086         assume timespec.h defines struct timeval.
69087         * lib/settime.c: Likewise.
69088         * lib/utimens.c: Likewise.
69089         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
69090         since we now assume the gettimeofday module.
69091         * lib/tempname.c (__gen_tempname): Likewise.
69092         * lib/gettimeofday.h: Remove.
69093         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
69094         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
69095         Include <time.h>, for 'time()'.
69096         (localtime_buffer_addr): Also use this workaround if
69097         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
69098         to simplify the uses.  All uses changed.
69099         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
69100         that #undef is inside {}, and 'const' follows type name consistently.
69101         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
69102         (gettimeofday): Do not use the maximum possible value for
69103         tv->tv_usec, since that might break usages other than ls.c.
69104         Instead, we'll leave ls.c alone.  This undoes today's patch
69105         by Bruno.  Add a compile-time warning for 1s-clock resolution;
69106         we've never observed the problem but might as well keep the
69107         canary.
69108         * lib/nanosleep.c: Include timespec.h first, for interface check.
69109         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
69110         now assume the sys_time module.
69111         * lib/tempname.c: Likewise.
69112         * lib/timespec.h: Likewise.
69113         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
69114         needed.
69115         * lib/strftime.c: Likewise.
69116         * lib/timespec.h: Likewise.
69117         * lib/posixtm.c: Include posixtm.h first, for interface check.
69118         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
69119         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
69120         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
69121         * lib/sys_time_.h: New file.
69122         * lib/timespec.h (struct timespec): Use long int, not long.
69123         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69124         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
69125         Remove obsolescent call to AC_HEADER_TIME.
69126         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
69127         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69128         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
69129         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
69130         Likewise.
69131         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
69132         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
69133         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
69134         into the sys_time module.  Check for gettimeofday just once.
69135         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
69136         for gettimeofday signature to just check the signature.  Merely
69137         compile it, since linking doesn't test signature.  Improve test for
69138         whether gettimeofday.o is actually needed.
69139         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
69140         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
69141         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
69142         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69143         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
69144         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
69145         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
69146         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
69147         than worrying about sys/time.h.
69148         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69149         Don't bother worrying about TIME_WITH_SYS_TIME.
69150         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
69151         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
69152         * m4/sys_time_h.m4: New file.
69153         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
69154         Don't include sys/time.h.  Return from main rather than exiting.
69155         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
69156         all uses changed.
69157         * modules/gethrxtime (Depends-on): Add sys_time.
69158         * modules/gettime (Depends-on): Likewise.
69159         * modules/gettimeofday (Depends-on): Likewise.
69160         * modules/nanosleep (Depends-on): Likewise.
69161         * modules/settime (Depends-on): Likewise.
69162         * modules/tempname (Depends-on): Likewise.
69163         * modules/utimens (Depends-on): Likewise.
69164         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
69165         (Include): Change back to <sys/time.h>.
69166         (Maintainer): Add self.
69167         * modules/sys_time: New file.
69168         * modules/tempname (Depends-on): Add gettimeofday.
69169         * tests/test-gettimeofday.c: Include <sys/time.h>
69170         rather than gettimeofday.h.
69171
69172 2007-01-17  Bruno Haible  <bruno@clisp.org>
69173
69174         * gnulib-tool (func_get_license): Revert last patch. Instead, let
69175         the license default to GPL.
69176         (func_create_testdir): Don't complain if a module is LGPL and its
69177         tests module depends on GPLed modules.
69178
69179 2007-01-17  Bruno Haible  <bruno@clisp.org>
69180
69181         * lib/gettimeofday.c (gettimeofday): Add code for the case
69182         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
69183         maximum possible value for tv->tv_usec, rather than the minimum one.
69184
69185 2005-10-08  Martin Lambers  <marlam@marlam.de>
69186 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69187 2007-01-16  Bruno Haible  <bruno@clisp.org>
69188
69189         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
69190         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
69191         gl_FUNC_GETTIMEOFDAY.
69192         (Include): Add gettimeofday.h.
69193         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
69194         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
69195         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
69196         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
69197         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
69198         * lib/gettimeofday.h: New file.
69199         * lib/gettimeofday.c: Include <sys/timeb.h>.
69200         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
69201         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69202         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
69203         fall back on time().
69204
69205         * tests/test-gettimeofday.c: New file.
69206         * modules/gettimeofday-tests: New file.
69207
69208 2007-01-16  Eric Blake  <ebb9@byu.net>
69209
69210         * modules/fnmatch (Depends-on): Depend on wchar.
69211         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
69212         * m4/fnmatch.m4: Likewise.
69213         * modules/mbchar (Makefile.am): Assume <wchar.h>.
69214         * m4/mbchar.m4: Likewise.
69215         * modules/mbswidth (Depends-on): Depend on wchar.
69216         * lib/mbswidth.c: Assume <wchar.h>.
69217         * m4/mbswidth.m4: Likewise.
69218         * modules/quotearg (Depends-on): Depend on wchar.
69219         * lib/quotearg.c: Assume <wchar.h>.
69220         * m4/quotearg.m4: Likewise.
69221         * modules/regex (Depends-on): Depend on wchar.
69222         * lib/regex_internal.h: Assume <wchar.h>.
69223         * m4/regex.m4: Likewise.
69224         * modules/stdint (Depends-on): Depend on wchar.
69225         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
69226         * m4/stdint.m4: Likewise.
69227         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
69228         * modules/strftime (Depends-on): Depend on wchar.
69229         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
69230         * modules/strtol (Depends-on): Depend on wchar.
69231         * lib/strtol.c: Assume <wchar.h>.
69232         * modules/wcwidth (Depends-on): Depend on wchar.
69233         * lib/wcwidth.h: Assume <wchar.h>.
69234         * m4/wcwidth.m4: Likewise.
69235
69236 2007-01-16  Bruno Haible  <bruno@clisp.org>
69237
69238         * modules/csharpexec-script: New, created from...
69239         * modules/csharpexec: ... this.
69240
69241 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69242
69243         * modules/javaexec-script: New, created from...
69244         * modules/javaexec: ... this.
69245
69246 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69247
69248         * modules/poll (Dependencies): Add sys_select.
69249
69250 2007-01-15  Jim Meyering  <jim@meyering.net>
69251
69252         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69253         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69254         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69255         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69256
69257 2007-01-15  Bruno Haible  <bruno@clisp.org>
69258
69259         * modules/striconveh: New file.
69260         * lib/striconveh.h: New file.
69261         * lib/striconveh.c: New file.
69262         * MODULES.html.sh (Internationalization functions): Add striconveh.
69263
69264         * modules/striconveh-tests: New file.
69265         * tests/test-striconveh.c: New file.
69266
69267 2007-01-15  Bruno Haible  <bruno@clisp.org>
69268
69269         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69270         not from GNU libiconv or GNU libc.
69271
69272 2007-01-15  Bruno Haible  <bruno@clisp.org>
69273
69274         * doc/gnulib-intro.texi (Copyright): Explain the different license
69275         terms for module descriptions, autoconf macros, tests, documentation.
69276
69277 2007-01-14  Bruno Haible  <bruno@clisp.org>
69278
69279         * modules/striconv-tests: New file.
69280         * tests/test-striconv.c: New file.
69281
69282 2007-01-14  Bruno Haible  <bruno@clisp.org>
69283
69284         * modules/iconv-tests: New file.
69285         * tests/test-iconv.c: New file.
69286
69287 2007-01-14  Bruno Haible  <bruno@clisp.org>
69288
69289         * gnulib-tool (func_get_license): For test modules, use the license of
69290         the main module.
69291
69292 2007-01-14  Bruno Haible  <bruno@clisp.org>
69293
69294         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69295         if iconv is found to exist.
69296
69297 2007-01-14  Bruno Haible  <bruno@clisp.org>
69298
69299         * modules/c-ctype-tests: New file.
69300         * tests/test-c-ctype.c: New file.
69301
69302 2007-01-14  Bruno Haible  <bruno@clisp.org>
69303
69304         * modules/binary-io-tests: New file.
69305         * tests/test-binary-io.sh: New file.
69306         * tests/test-binary-io.c: New file.
69307
69308 2007-01-14  Bruno Haible  <bruno@clisp.org>
69309
69310         * modules/array-oset-tests: New file.
69311         * tests/test-array_oset.c: New file.
69312
69313 2007-01-14  Bruno Haible  <bruno@clisp.org>
69314
69315         * modules/array-list-tests: New file.
69316         * tests/test-array_list.c: New file.
69317
69318 2007-01-14  Bruno Haible  <bruno@clisp.org>
69319
69320         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69321         and make.
69322         Reported by Simon Josefsson in
69323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69324
69325 2007-01-14  Bruno Haible  <bruno@clisp.org>
69326
69327         * modules/allocsa-tests: New file.
69328         * tests/test-allocsa.c: New file.
69329
69330 2007-01-14  Bruno Haible  <bruno@clisp.org>
69331
69332         * modules/fchdir (Depends-on): Add absolute-header.
69333         * modules/unistd (Depends-on): Likewise.
69334
69335 2006-12-30  Bruno Haible  <bruno@clisp.org>
69336
69337         * modules/fchdir: New file.
69338         * modules/unistd (Files): Add lib/unistd_.h.
69339         (Makefile.am): Generate unistd.h from unistd_.h.
69340         * lib/fchdir.c: New file.
69341         * lib/dirent_.h: New file.
69342         * lib/unistd_.h: New file.
69343         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
69344         * m4/fchdir.m4: New file.
69345         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
69346         (gl_HEADER_UNISTD): Invoke it.
69347         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
69348         function.
69349         * lib/backupfile.c (opendir, closedir): Undefine.
69350         * lib/chown.c (open, close): Undefine.
69351         * lib/clean-temp.c (open, close): Undefine.
69352         * lib/copy-file.c (open, close): Undefine.
69353         * lib/execute.c (open, close): Undefine.
69354         * lib/fsusage.c (open, close): Undefine.
69355         * lib/gc-gnulib.c (open, close): Undefine.
69356         * lib/getcwd.c (opendir, closedir): Undefine.
69357         * lib/glob.c (opendir, closedir): Undefine.
69358         * lib/javacomp.c (open, close): Undefine.
69359         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69360         * lib/openat-proc.c (open, close): Undefine.
69361         * lib/pagealign_alloc.c (open, close): Undefine.
69362         * lib/pipe.c (open, close): Undefine.
69363         * lib/progreloc.c (open, close): Undefine.
69364         * lib/savedir.c (opendir, closedir): Undefine.
69365         * lib/utime.c (open, close): Undefine.
69366         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69367
69368 2007-01-10  Bruno Haible  <bruno@clisp.org>
69369
69370         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69371
69372 2007-01-12  Eric Blake  <ebb9@byu.net>
69373
69374         Provide a robust <wchar.h>.  Further simplifications are now
69375         possible in other modules, but not included here.
69376         * modules/wchar: New module.
69377         * m4/wchar.m4: New file.
69378         * lib/wchar_.h: Likewise.
69379         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69380         of the new module.
69381         * MODULES.html.sh (Extended multibyte and wide character utilities):
69382         New section.
69383
69384 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69385
69386         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69387         to a reasonable default for memory allocation.
69388         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69389         file system that reports garbage st_size values for symlinks.
69390         Problem reported by Liyang Hu.
69391
69392 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69393
69394         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69395         Emacs .#* auto-save files).
69396
69397 2007-01-11  Bruno Haible  <bruno@clisp.org>
69398
69399         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69400         directory.
69401
69402 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69403
69404         Use @...@ consistently in lib/wctype_.h.
69405         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69406         on it being set to 1 or 0.
69407         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69408         go back to AC_SUBSTing it.
69409         * modules/wctype (Makefile.am): Undo previous change.
69410
69411 2007-01-10  Eric Blake  <ebb9@byu.net>
69412
69413         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69414         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69415         * modules/wctype (Makefile.am): Likewise.
69416         Reported by Chris McGuire.
69417
69418 2007-01-10  Jim Meyering  <jim@meyering.net>
69419
69420         fts.c: a small readability/maintainability improvement
69421         * lib/fts.c (fts_read): Make this code slightly more readable and
69422         maintainable by hoisting the "sp->fts_cur = p" assignments to
69423         immediately follow the statements that set P.  Derived from
69424         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69425
69426 2007-01-10  Eric Blake  <ebb9@byu.net>
69427
69428         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69429         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69431         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69432         Reported by Chris McGuire.
69433
69434 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69435
69436         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69437         in sed script.
69438
69439 2007-01-09  Bruno Haible  <bruno@clisp.org>
69440
69441         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69442         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69443         variables.
69444         (func_module): Use them.
69445
69446 2007-01-09  Bruno Haible  <bruno@clisp.org>
69447
69448         * modules/unistr/base: New file.
69449         * lib/unistr.h: New file.
69450
69451         * modules/unistr/u8-to-u16: New file.
69452         * lib/unistr/u8-to-u16.c: New file.
69453
69454         * modules/unistr/u8-to-u32: New file.
69455         * lib/unistr/u8-to-u32.c: New file.
69456
69457         * modules/unistr/u16-to-u8: New file.
69458         * lib/unistr/u16-to-u8.c: New file.
69459
69460         * modules/unistr/u16-to-u32: New file.
69461         * lib/unistr/u16-to-u32.c: New file.
69462
69463         * modules/unistr/u32-to-u8: New file.
69464         * lib/unistr/u32-to-u8.c: New file.
69465
69466         * modules/unistr/u32-to-u16: New file.
69467         * lib/unistr/u32-to-u16.c: New file.
69468
69469         * modules/unistr/u8-check: New file.
69470         * modules/unistr/u16-check: New file.
69471         * modules/unistr/u32-check: New file.
69472         * lib/unistr/u8-check.c: New file.
69473         * lib/unistr/u16-check.c: New file.
69474         * lib/unistr/u32-check.c: New file.
69475
69476         * modules/unistr/u8-chr: New file.
69477         * modules/unistr/u16-chr: New file.
69478         * modules/unistr/u32-chr: New file.
69479         * lib/unistr/u8-chr.c: New file.
69480         * lib/unistr/u16-chr.c: New file.
69481         * lib/unistr/u32-chr.c: New file.
69482
69483         * modules/unistr/u8-cmp: New file.
69484         * modules/unistr/u16-cmp: New file.
69485         * modules/unistr/u32-cmp: New file.
69486         * lib/unistr/u8-cmp.c: New file.
69487         * lib/unistr/u16-cmp.c: New file.
69488         * lib/unistr/u32-cmp.c: New file.
69489
69490         * modules/unistr/u8-cpy: New file.
69491         * modules/unistr/u16-cpy: New file.
69492         * modules/unistr/u32-cpy: New file.
69493         * lib/unistr/u8-cpy.c: New file.
69494         * lib/unistr/u16-cpy.c: New file.
69495         * lib/unistr/u32-cpy.c: New file.
69496         * lib/unistr/u-cpy.h: New file.
69497
69498         * modules/unistr/u8-cpy-alloc: New file.
69499         * modules/unistr/u16-cpy-alloc: New file.
69500         * modules/unistr/u32-cpy-alloc: New file.
69501         * lib/unistr/u8-cpy-alloc.c: New file.
69502         * lib/unistr/u16-cpy-alloc.c: New file.
69503         * lib/unistr/u32-cpy-alloc.c: New file.
69504         * lib/unistr/u-cpy-alloc.h: New file.
69505
69506         * modules/unistr/u8-endswith: New file.
69507         * modules/unistr/u16-endswith: New file.
69508         * modules/unistr/u32-endswith: New file.
69509         * lib/unistr/u8-endswith.c: New file.
69510         * lib/unistr/u16-endswith.c: New file.
69511         * lib/unistr/u32-endswith.c: New file.
69512         * lib/unistr/u-endswith.h: New file.
69513
69514         * modules/unistr/u8-mblen: New file.
69515         * modules/unistr/u16-mblen: New file.
69516         * modules/unistr/u32-mblen: New file.
69517         * lib/unistr/u8-mblen.c: New file.
69518         * lib/unistr/u16-mblen.c: New file.
69519         * lib/unistr/u32-mblen.c: New file.
69520
69521         * modules/unistr/u8-mbtouc: New file.
69522         * modules/unistr/u16-mbtouc: New file.
69523         * modules/unistr/u32-mbtouc: New file.
69524         * lib/unistr/u8-mbtouc.c: New file.
69525         * lib/unistr/u16-mbtouc.c: New file.
69526         * lib/unistr/u32-mbtouc.c: New file.
69527
69528         * modules/unistr/u8-mbtouc-safe: New file.
69529         * modules/unistr/u16-mbtouc-safe: New file.
69530         * modules/unistr/u32-mbtouc-safe: New file.
69531         * lib/unistr/u8-mbtouc-safe.c: New file.
69532         * lib/unistr/u16-mbtouc-safe.c: New file.
69533         * lib/unistr/u32-mbtouc-safe.c: New file.
69534
69535         * modules/unistr/u8-move: New file.
69536         * modules/unistr/u16-move: New file.
69537         * modules/unistr/u32-move: New file.
69538         * lib/unistr/u8-move.c: New file.
69539         * lib/unistr/u16-move.c: New file.
69540         * lib/unistr/u32-move.c: New file.
69541         * lib/unistr/u-move.h: New file.
69542
69543         * modules/unistr/u8-next: New file.
69544         * modules/unistr/u16-next: New file.
69545         * modules/unistr/u32-next: New file.
69546         * lib/unistr/u8-next.c: New file.
69547         * lib/unistr/u16-next.c: New file.
69548         * lib/unistr/u32-next.c: New file.
69549
69550         * modules/unistr/u8-prev: New file.
69551         * modules/unistr/u16-prev: New file.
69552         * modules/unistr/u32-prev: New file.
69553         * lib/unistr/u8-prev.c: New file.
69554         * lib/unistr/u16-prev.c: New file.
69555         * lib/unistr/u32-prev.c: New file.
69556
69557         * modules/unistr/u8-set: New file.
69558         * modules/unistr/u16-set: New file.
69559         * modules/unistr/u32-set: New file.
69560         * lib/unistr/u8-set.c: New file.
69561         * lib/unistr/u16-set.c: New file.
69562         * lib/unistr/u32-set.c: New file.
69563         * lib/unistr/u-set.h: New file.
69564
69565         * modules/unistr/u8-startswith: New file.
69566         * modules/unistr/u16-startswith: New file.
69567         * modules/unistr/u32-startswith: New file.
69568         * lib/unistr/u8-startswith.c: New file.
69569         * lib/unistr/u16-startswith.c: New file.
69570         * lib/unistr/u32-startswith.c: New file.
69571         * lib/unistr/u-startswith.h: New file.
69572
69573         * modules/unistr/u8-stpcpy: New file.
69574         * modules/unistr/u16-stpcpy: New file.
69575         * modules/unistr/u32-stpcpy: New file.
69576         * lib/unistr/u8-stpcpy.c: New file.
69577         * lib/unistr/u16-stpcpy.c: New file.
69578         * lib/unistr/u32-stpcpy.c: New file.
69579         * lib/unistr/u-stpcpy.h: New file.
69580
69581         * modules/unistr/u8-stpncpy: New file.
69582         * modules/unistr/u16-stpncpy: New file.
69583         * modules/unistr/u32-stpncpy: New file.
69584         * lib/unistr/u8-stpncpy.c: New file.
69585         * lib/unistr/u16-stpncpy.c: New file.
69586         * lib/unistr/u32-stpncpy.c: New file.
69587         * lib/unistr/u-stpncpy.h: New file.
69588
69589         * modules/unistr/u8-strcat: New file.
69590         * modules/unistr/u16-strcat: New file.
69591         * modules/unistr/u32-strcat: New file.
69592         * lib/unistr/u8-strcat.c: New file.
69593         * lib/unistr/u16-strcat.c: New file.
69594         * lib/unistr/u32-strcat.c: New file.
69595         * lib/unistr/u-strcat.h: New file.
69596
69597         * modules/unistr/u8-strchr: New file.
69598         * modules/unistr/u16-strchr: New file.
69599         * modules/unistr/u32-strchr: New file.
69600         * lib/unistr/u8-strchr.c: New file.
69601         * lib/unistr/u16-strchr.c: New file.
69602         * lib/unistr/u32-strchr.c: New file.
69603
69604         * modules/unistr/u8-strcmp: New file.
69605         * modules/unistr/u16-strcmp: New file.
69606         * modules/unistr/u32-strcmp: New file.
69607         * lib/unistr/u8-strcmp.c: New file.
69608         * lib/unistr/u16-strcmp.c: New file.
69609         * lib/unistr/u32-strcmp.c: New file.
69610
69611         * modules/unistr/u8-strcpy: New file.
69612         * modules/unistr/u16-strcpy: New file.
69613         * modules/unistr/u32-strcpy: New file.
69614         * lib/unistr/u8-strcpy.c: New file.
69615         * lib/unistr/u16-strcpy.c: New file.
69616         * lib/unistr/u32-strcpy.c: New file.
69617         * lib/unistr/u-strcpy.h: New file.
69618
69619         * modules/unistr/u8-strcspn: New file.
69620         * modules/unistr/u16-strcspn: New file.
69621         * modules/unistr/u32-strcspn: New file.
69622         * lib/unistr/u8-strcspn.c: New file.
69623         * lib/unistr/u16-strcspn.c: New file.
69624         * lib/unistr/u32-strcspn.c: New file.
69625         * lib/unistr/u-strcspn.h: New file.
69626
69627         * modules/unistr/u8-strdup: New file.
69628         * modules/unistr/u16-strdup: New file.
69629         * modules/unistr/u32-strdup: New file.
69630         * lib/unistr/u8-strdup.c: New file.
69631         * lib/unistr/u16-strdup.c: New file.
69632         * lib/unistr/u32-strdup.c: New file.
69633         * lib/unistr/u-strdup.h: New file.
69634
69635         * modules/unistr/u8-strlen: New file.
69636         * modules/unistr/u16-strlen: New file.
69637         * modules/unistr/u32-strlen: New file.
69638         * lib/unistr/u8-strlen.c: New file.
69639         * lib/unistr/u16-strlen.c: New file.
69640         * lib/unistr/u32-strlen.c: New file.
69641         * lib/unistr/u-strlen.h: New file.
69642
69643         * modules/unistr/u8-strmblen: New file.
69644         * modules/unistr/u16-strmblen: New file.
69645         * modules/unistr/u32-strmblen: New file.
69646         * lib/unistr/u8-strmblen.c: New file.
69647         * lib/unistr/u16-strmblen.c: New file.
69648         * lib/unistr/u32-strmblen.c: New file.
69649
69650         * modules/unistr/u8-strmbtouc: New file.
69651         * modules/unistr/u16-strmbtouc: New file.
69652         * modules/unistr/u32-strmbtouc: New file.
69653         * lib/unistr/u8-strmbtouc.c: New file.
69654         * lib/unistr/u16-strmbtouc.c: New file.
69655         * lib/unistr/u32-strmbtouc.c: New file.
69656
69657         * modules/unistr/u8-strncat: New file.
69658         * modules/unistr/u16-strncat: New file.
69659         * modules/unistr/u32-strncat: New file.
69660         * lib/unistr/u8-strncat.c: New file.
69661         * lib/unistr/u16-strncat.c: New file.
69662         * lib/unistr/u32-strncat.c: New file.
69663         * lib/unistr/u-strncat.h: New file.
69664
69665         * modules/unistr/u8-strncmp: New file.
69666         * modules/unistr/u16-strncmp: New file.
69667         * modules/unistr/u32-strncmp: New file.
69668         * lib/unistr/u8-strncmp.c: New file.
69669         * lib/unistr/u16-strncmp.c: New file.
69670         * lib/unistr/u32-strncmp.c: New file.
69671
69672         * modules/unistr/u8-strncpy: New file.
69673         * modules/unistr/u16-strncpy: New file.
69674         * modules/unistr/u32-strncpy: New file.
69675         * lib/unistr/u8-strncpy.c: New file.
69676         * lib/unistr/u16-strncpy.c: New file.
69677         * lib/unistr/u32-strncpy.c: New file.
69678         * lib/unistr/u-strncpy.h: New file.
69679
69680         * modules/unistr/u8-strnlen: New file.
69681         * modules/unistr/u16-strnlen: New file.
69682         * modules/unistr/u32-strnlen: New file.
69683         * lib/unistr/u8-strnlen.c: New file.
69684         * lib/unistr/u16-strnlen.c: New file.
69685         * lib/unistr/u32-strnlen.c: New file.
69686         * lib/unistr/u-strnlen.h: New file.
69687
69688         * modules/unistr/u8-strpbrk: New file.
69689         * modules/unistr/u16-strpbrk: New file.
69690         * modules/unistr/u32-strpbrk: New file.
69691         * lib/unistr/u8-strpbrk.c: New file.
69692         * lib/unistr/u16-strpbrk.c: New file.
69693         * lib/unistr/u32-strpbrk.c: New file.
69694         * lib/unistr/u-strpbrk.h: New file.
69695
69696         * modules/unistr/u8-strrchr: New file.
69697         * modules/unistr/u16-strrchr: New file.
69698         * modules/unistr/u32-strrchr: New file.
69699         * lib/unistr/u8-strrchr.c: New file.
69700         * lib/unistr/u16-strrchr.c: New file.
69701         * lib/unistr/u32-strrchr.c: New file.
69702
69703         * modules/unistr/u8-strspn: New file.
69704         * modules/unistr/u16-strspn: New file.
69705         * modules/unistr/u32-strspn: New file.
69706         * lib/unistr/u8-strspn.c: New file.
69707         * lib/unistr/u16-strspn.c: New file.
69708         * lib/unistr/u32-strspn.c: New file.
69709         * lib/unistr/u-strspn.h: New file.
69710
69711         * modules/unistr/u8-strstr: New file.
69712         * modules/unistr/u16-strstr: New file.
69713         * modules/unistr/u32-strstr: New file.
69714         * lib/unistr/u8-strstr.c: New file.
69715         * lib/unistr/u16-strstr.c: New file.
69716         * lib/unistr/u32-strstr.c: New file.
69717         * lib/unistr/u-strstr.h: New file.
69718
69719         * modules/unistr/u8-strtok: New file.
69720         * modules/unistr/u16-strtok: New file.
69721         * modules/unistr/u32-strtok: New file.
69722         * lib/unistr/u8-strtok.c: New file.
69723         * lib/unistr/u16-strtok.c: New file.
69724         * lib/unistr/u32-strtok.c: New file.
69725         * lib/unistr/u-strtok.h: New file.
69726
69727         * modules/unistr/u8-uctomb: New file.
69728         * modules/unistr/u16-uctomb: New file.
69729         * modules/unistr/u32-uctomb: New file.
69730         * lib/unistr/u8-uctomb.c: New file.
69731         * lib/unistr/u16-uctomb.c: New file.
69732         * lib/unistr/u32-uctomb.c: New file.
69733
69734         * MODULES.html.sh (Unicode string functions): Add the new modules.
69735
69736 2007-01-08  Bruno Haible  <bruno@clisp.org>
69737
69738         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69739         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69740         subdirectories.
69741
69742 2007-01-08  Karl Berry  <karl@gnu.org>
69743
69744         * doc/error.texi: mention that main() fns must set program_name
69745         when progname is used.
69746
69747 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69748
69749         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69750         WCTYPE_H is empty, for the benefit of builds from non-distclean
69751         directories.  Problem reported by Eric Blake in
69752         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69753
69754 2007-01-08  Bruno Haible  <bruno@clisp.org>
69755
69756         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69757         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69758         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69759         PROVIDE_CANONICALIZE_FILENAME_MODE.
69760         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69761
69762 2007-01-08  Bruno Haible  <bruno@clisp.org>
69763
69764         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69765         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69766         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69767         * lib/fts.c: Likewise.
69768         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69769
69770 2006-12-25  Bruno Haible  <bruno@clisp.org>
69771
69772         * modules/utf8-ucs4-safe: New file.
69773         * lib/utf8-ucs4-safe.h: New file.
69774         * lib/unistr/utf8-ucs4-safe.c: New file.
69775
69776         * modules/utf16-ucs4-safe: New file.
69777         * lib/utf16-ucs4-safe.h: New file.
69778         * lib/unistr/utf16-ucs4-safe.c: New file.
69779
69780         * MODULES.html.sh (Unicode string functions): Add the new modules.
69781
69782 2007-01-08  Bruno Haible  <bruno@clisp.org>
69783
69784         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69785         (Depends-on): Add unitypes.
69786         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69787         (u8_mbtouc_aux): Move out to separate file.
69788         (u8_mbtouc): Use ucs4_t, uint8_t types.
69789         * lib/unistr/utf8-ucs4.c: New file.
69790
69791         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69792         (Depends-on): Add unitypes.
69793         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69794         (u16_mbtouc_aux): Move out to separate file.
69795         (u16_mbtouc): Use ucs4_t, uint16_t types.
69796         * lib/unistr/utf16-ucs4.c: New file.
69797
69798         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69799         (Depends-on): Add unitypes.
69800         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69801         (u8_uctomb_aux): Move out to separate file.
69802         (u8_uctomb): Use ucs4_t, uint8_t types.
69803         * lib/unistr/ucs4-utf8.c: New file.
69804
69805         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69806         (Depends-on): Add unitypes.
69807         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69808         (u16_uctomb_aux): Move out to separate file.
69809         (u16_uctomb): Use ucs4_t, uint16_t types.
69810         * lib/unistr/ucs4-utf16.c: New file.
69811
69812 2006-12-25  Bruno Haible  <bruno@clisp.org>
69813
69814         * modules/unitypes: New file.
69815         * lib/unitypes.h: New file.
69816         * MODULES.html.sh (func_all_modules): New section "Unicode string
69817         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69818         this section. Add unitypes.
69819
69820 2007-01-08  Bruno Haible  <bruno@clisp.org>
69821
69822         Avoid variable names that conflict with those from libtool.
69823         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69824         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69825         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69826         library_names_spec to acl_library_names_spec, hardcode_* to
69827         acl_hardcode_*.
69828         Reported by Ralf Wildenhues.
69829
69830 2007-01-08  Bruno Haible  <bruno@clisp.org>
69831
69832         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69833         definition.
69834         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69835         definition.
69836         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69837         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69838         definition.
69839         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69840         definition.
69841         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69842         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69843         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69844         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69845         definition.
69846         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69847         definition.
69848         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69849         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69850         GC_USE_<algorithm>.
69851         * lib/gc-libgcrypt.c: Likewise.
69852         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69853         * modules/gc-arctwo (configure.ac): Likewise.
69854         * modules/gc-des (configure.ac): Likewise.
69855         * modules/gc-hmac-md5 (configure.ac): Likewise.
69856         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69857         * modules/gc-md2 (configure.ac): Likewise.
69858         * modules/gc-md4 (configure.ac): Likewise.
69859         * modules/gc-md5 (configure.ac): Likewise.
69860         * modules/gc-random (configure.ac): Likewise.
69861         * modules/gc-rijndael (configure.ac): Likewise.
69862         * modules/gc-sha1 (configure.ac): Likewise.
69863
69864 2007-01-08  Bruno Haible  <bruno@clisp.org>
69865
69866         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69867         macro definition.
69868         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69869         definition.
69870         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69871         definition.
69872         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69873         * modules/fcntl-safer (configure.ac): Likewise.
69874         * modules/fopen-safer (configure.ac): Likewise.
69875         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69876         GNULIB_FWRITEERROR macro definition.
69877
69878 2007-01-08  Bruno Haible  <bruno@clisp.org>
69879
69880         * m4/gnulib-common.m4: New file.
69881         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69882         (func_get_filelist): Add m4/gnulib-common.m4.
69883
69884 2007-01-08  Bruno Haible  <bruno@clisp.org>
69885
69886         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69887         command.
69888
69889 2007-01-08  Jim Meyering  <jim@meyering.net>
69890
69891         Use a more robust test for a "can't happen" condition.
69892         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69893         narrowed the st_size value.  Presuming the "can't happen" condition
69894         is true, that narrowing could conceivably convert an invalid st_size
69895         value into a valid one.  Instead, use a change based on Matthew
69896         Woehlke's original patch.
69897
69898         Slight readability improvement: use an assert-like macro
69899         in place of literal "abort ()" uses.
69900         * lib/fts.c (fts_assert): Define.
69901         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69902         Use this macro instead of a bare 'abort'.
69903
69904 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69905
69906         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69907         simply work around them.
69908         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69909         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69910         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69911         declaring.
69912         Don't bother to define as macros, since the standard doesn't require it.
69913         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69914         longer worry about IRIX 5.3.
69915         (HAVE_WCTYPE_CTMP_BUG): Remove.
69916
69917 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69918
69919         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69920         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69921         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69922         Problems reported by Georg Schwarz for IRIX 5.3.
69923
69924         * gnulib-tool (autoconf_minversion): Take the maximum version number
69925         found, not the minimum.  Problem reported by James Youngman.
69926
69927 2007-01-03  Karl Berry  <karl@gnu.org>
69928
69929         * doc/error.texi: new file, explaining interaction with progname.
69930         * doc/gnulib.texi: include it.  Update copyright.
69931
69932 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69933
69934         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69935         AC_CANONICAL_HOST, to improve autobuild outputs.
69936
69937 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69938             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69939
69940         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69941         sockets, server sockets, and other file descriptors.  Count errors
69942         to compute the return value.  Reorder the code a bit to be easier
69943         to follow.  Don't set event bits that were not requested (except
69944         POLLERR and POLLHUP).
69945
69946 2007-01-01  Bruno Haible  <bruno@clisp.org>
69947
69948         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69949
69950 2007-01-03  Jim Meyering  <jim@meyering.net>
69951
69952         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69953
69954 2007-01-02  Bruno Haible  <bruno@clisp.org>
69955
69956         * modules/settime (Include): Require timespec.h.
69957         * modules/nanosleep (Include): Likewise.
69958
69959 2007-01-01  Bruno Haible  <bruno@clisp.org>
69960
69961         * gnulib-tool (func_emit_copyright_notice): Bump year.
69962         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69963
69964 2007-01-01  Bruno Haible  <bruno@clisp.org>
69965
69966         Improve support for OpenBSD.
69967         * build-aux/config.rpath (libname_spec): Export.
69968         (library_names_spec): New variable. Export.
69969         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69970         library_names_spec from the config.rpath output. Locate shared library
69971         through the name pattern in library_names_spec.
69972
69973 2007-01-01  Eric Blake  <ebb9@byu.net>
69974
69975         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69976
69977 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69978
69979         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69980         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69981         assume the C locale, and avoid an "eval" that could cause trouble.
69982         Problem with SORT reported by Bob Proulx.
69983
69984         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69985         Define.  Trivial patch from Henning Nielsen Lund, originally
69986         sent to bug-grep@gnu.org today.
69987
69988 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69989
69990         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69991         struct stat.  Problem reported by Henning Nielsen Lund.
69992         * lib/acl.c: Include acl.h first, to check interface.  Don't
69993         bother to include sys/types.h and sys/stat.h again.
69994
69995 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69996
69997         Import the following change from libc; problem reported by
69998         Sven Verdoolaege.
69999
70000         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
70001
70002         [BZ #1373]
70003         * lib/argp.h: Remove __NTH for __argp_usage inline function.
70004
70005 2006-12-28  Jim Meyering  <jim@meyering.net>
70006
70007         * build-aux/announce-gen: Do not assume that the package
70008         builds any of tar.gz, tar.bz2, and .xdelta files.
70009         Suggestion from Simon Josefsson.
70010
70011 2006-12-28  Simon Josefsson  <simon@josefsson.org>
70012
70013         * modules/announce-gen: New file.
70014
70015 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
70016
70017         * lib/mbchar.h: Just include <wctype.h>; the wctype module
70018         handles its gotchas now.
70019         * lib/mbswidth.c: Likewise.
70020         * lib/wcwidth.h: Likewise.
70021         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
70022         and iswcntrl; the wctype module does this stuff now.
70023         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70024         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70025         * modules/mbchar (Depends-on): Add wctype.
70026         * modules/mbswidth (Depends-on): Likewise.
70027         * modules/wcwidth (Depends-on): Likewise.
70028
70029 2006-12-27  Eric Blake  <ebb9@byu.net>
70030
70031         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
70032         module uses more than what <wctype.h> is required to provide.
70033
70034 2006-12-26  Eric Blake  <ebb9@byu.net>
70035
70036         * gnulib-tool (sed_extract_prog): Avoid space-tab.
70037
70038 2006-12-26  Eric Blake  <ebb9@byu.net>
70039
70040         * modules/absolute-header: New module.
70041         * modules/fcntl (Depends-on): Depend on it.
70042         * modules/inttypes (Depends-on): Likewise.
70043         * modules/stdint (Depends-on): Likewise.
70044         * modules/sys_stat (Depends-on): Likewise.
70045         * modules/wctype (Depends-on): Likewise.
70046         * MODULES.html.sh (Support for building libraries and
70047         executables): Document it.
70048
70049 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
70050
70051         * gnulib-tool (SED): Remove, undoing previous change.
70052         The problem was that it broke coreutils on Solaris, because
70053         "sed --posix" leaked into a makefile.
70054         (sed): New alias, if 'alias' and GNU sed.
70055
70056 2006-12-24  Jim Meyering  <jim@meyering.net>
70057
70058         Work around an fchownat bug in glibc-2.4:
70059         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
70060         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
70061         in spite of the -P option.
70062         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
70063         New macros.
70064         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
70065         * modules/openat (Files): Add lib/fchownat.c.
70066         * lib/openat.c (fchownat): Don't define here.  Move to...
70067         * lib/fchownat.c: ...this new file.
70068
70069 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
70070
70071         Fix bug reported by Bruno Haible in
70072         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
70073         where quotearg.c didn't compile on Mac OS X 10.2 because it
70074         lacks <wchar.h> and wint_t.
70075         * lib/wctype_.h (__wctype_wint_t): New type.
70076         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
70077         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
70078         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
70079         Arg is now of type __wctype_wint_t, not wint_t.
70080         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
70081         substitute HAVE_WINT_T.
70082         * modules/wctype (Files): Add m4/wint_t.m4.
70083         (wctype.h): Substitute HAVE_WINT_T.
70084
70085 2006-12-23  Bruno Haible  <bruno@clisp.org>
70086
70087         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
70088
70089 2006-12-23  Bruno Haible  <bruno@clisp.org>
70090
70091         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
70092         S_ISLNK.
70093         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
70094         mingw.
70095
70096 2006-12-22  Bruno Haible  <bruno@clisp.org>
70097
70098         * lib/copy-file.c: Include acl.h.
70099         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
70100         Close the file descriptors only after being done with copy_acl.
70101         * modules/copy-file (Depends-on): Add acl.
70102
70103 2006-12-22  Bruno Haible  <bruno@clisp.org>
70104
70105         * gnulib-tool (SED): New variable.
70106         Use $SED instead of sed everywhere.
70107
70108 2006-12-22  Bruno Haible  <bruno@clisp.org>
70109
70110         * modules/no-c++: New file.
70111         * m4/no-c++.m4: New file.
70112         * MODULES.html.sh (Support for building libraries and executables):
70113         Add no-c++.
70114
70115 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
70116
70117         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70118         Include <limits.h>, and use its INT_MAX to rewrite the
70119         j loop so that it does not overflow 'int'.  Problem reported by
70120         Ralf Wildenhues in
70121         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
70122         Play it safe by shifting left by 1 rather than multiplying by 2,
70123         as GCC is less likely to optimize this away when the value
70124         is signed (when it assumes overflow leads to undefined behavior).
70125         Also, don't assume time_t uses two's complement.
70126
70127 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
70128
70129         * MODULES.html.sh: New module wctype.
70130         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
70131         * lib/fnmatch.c: Don't bother to include <wchar.h> before
70132         <wctype.h>, since the new wctype module should fix this.
70133         * lib/quotearg.c: Include <wctype.h> unconditionally, since
70134         the wctype module should arrange for it.
70135         * lib/regex_internal.h: Likewise.
70136         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
70137         since the wctype module should handle this now.
70138         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
70139         * modules/fnmatch (Depends-on): Add wctype.
70140         * modules/quotearg (Depends-on): Likewise.
70141         * modules/regex (Depends-on): Likewise.
70142
70143 2006-12-19  Bruno Haible  <bruno@clisp.org>
70144
70145         * lib/strdup.h [C++]: Wrap definitions in extern "C".
70146         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
70147
70148 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70149
70150         * modules/savewd (Depends-on): Fix dependency on fcntl.
70151
70152 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70153
70154         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
70155         conforms to C99, rather than relying on the user's environment
70156         setting of STDINT_H.
70157
70158 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70159         and Eric Blake  <ebb9@byu.net>
70160
70161         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
70162         This is more consistent with the other defines here.
70163         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
70164         Port to z/OS.  Problem reported by Paul Gilmartin.
70165         Change local vars to use gl_ prefix rather than ac_.
70166         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
70167         with other defines.
70168         * modules/double-slash-root: New module.
70169         * modules/dirname (Files): Remove m4/double-slash-root.m4.
70170         (Depends-on): Add double-slash-root.
70171         * MODULES.html.sh (File system functions): Mention new module.
70172
70173 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
70174
70175         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
70176         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
70177         This is for the benefit of gzip, which doesn't do i18n.
70178
70179 2006-12-12  Jim Meyering  <jim@meyering.net>
70180
70181         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
70182         Reported by Andreas Schwab <schwab@suse.de>.
70183
70184 2006-12-12  Bruno Haible  <bruno@clisp.org>
70185
70186         Merge these changes.
70187         2006-09-05  Bruno Haible  <bruno@clisp.org>
70188         * lib/iconvme.c (iconv_string): No need to save and restore errno when
70189         iconv_alloc succeeded.
70190         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
70191         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
70192         test for " && dest " at the end - dest is always != NULL there. Call
70193         iconv with 4xNULL arguments initially, to reset the state. Call iconv
70194         with 2xNULL arguments, also to flush the state storage. Handle the
70195         IRIX iconv behaviour. Realloc the final result, to throw away unused
70196         memory.
70197
70198 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
70199
70200         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
70201         and fchmodat unconditionally, since glibc 2.4 has them.
70202         Problem reported by Arkadiusz Miskiewicz.
70203
70204 2006-12-10  Bruno Haible  <bruno@clisp.org>
70205
70206         * gnulib-tool (func_import): Show the include files only for those
70207         modules that are copied and specified.
70208         Reported by Karl Berry.
70209
70210 2006-12-08  Jim Meyering  <jim@meyering.net>
70211
70212         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
70213         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
70214
70215         * build-aux/announce-gen: Add two new options, both optional:
70216         --bootstrap-tools=TOOL_LIST
70217               a comma-separated list of tools, e.g.,
70218               autoconf,automake,bison,gnulib
70219         --gnulib-snapshot-date=DATE
70220               if gnulib is in the bootstrap tool list,
70221               then report this as the snapshot date.
70222               If not specified, use the current date/time.
70223               If you specify a date here, be sure it's UTC.
70224
70225 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70226
70227         * tests/test-argp-2.sh: Fix test to match actual output.
70228         (func_compare): Fix sed script to be portable.
70229
70230 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
70231
70232         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
70233         workaround for this case.  It is not autoconfigured now; offhand
70234         it's hard to see how to autoconfigure it.
70235
70236 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70237
70238         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70239         a directory that is about to be chowned.  Such a directory's
70240         initial file permissions should permit the owner only and this
70241         should not be changed until after the chown, since the group and
70242         other bits would be incorrect if they granted permission before
70243         the chown.
70244
70245         Fix porting problem for iswctype reported by Georg Schwarz in:
70246         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70247         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70248         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70249         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70250         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70251
70252 2006-12-03  Jim Meyering  <jim@meyering.net>
70253
70254         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70255         p->fts_statp may not yet be defined.
70256         (fts_read): Instead, set it in the caller, once p->fts_statp is
70257         sure to be defined, and corresponds to a top-level directory.
70258         This bug made du -x fail.  Here's the coreutils test case:
70259         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70260         Reported by Mike Frysinger.
70261
70262 2006-12-01  Jim Meyering  <jim@meyering.net>
70263
70264         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70265         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70266         Reported by Simon Josefsson.
70267
70268 2006-11-30  Jim Meyering  <jim@meyering.net>
70269
70270         * m4/warning.m4: Use the all-permissive copyright notice
70271         recommended by RMS (rather than LGPL).
70272         * m4/vararrays.m4: Likewise.
70273         * m4/flexmember.m4: Likewise.
70274
70275 2006-11-29  Bruno Haible  <bruno@clisp.org>
70276
70277         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70278         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70279         using +=.
70280         Reported by Simon Josefsson <simon@josefsson.org>.
70281
70282 2006-11-28  James Youngman <jay@gnu.org>
70283
70284         * README: Advise users that they might find the bug-gnulib@gnu.org
70285         and autotools-announce@gnu.org mailing lists useful.
70286
70287 2006-11-28  Bruno Haible  <bruno@clisp.org>
70288
70289         * m4/ptrdiff_max.m4: Remove file.
70290
70291 2006-11-21  Bruno Haible  <bruno@clisp.org>
70292
70293         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70294         _AC_COMPUTE_INT.
70295         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70296         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70297         _AC_COMPUTE_INT.
70298         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70299         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70300         _AC_COMPUTE_INT.
70301         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70302
70303 2006-11-28  Jim Meyering  <jim@meyering.net>
70304
70305         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70306         warning from "gcc -Wshadow" about shadowing the builtin.
70307
70308 2006-11-27  Bruno Haible  <bruno@clisp.org>
70309
70310         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70311         _AC_COMPUTE_INT.
70312         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70313
70314 2006-11-27  Bruno Haible  <bruno@clisp.org>
70315             Paul Eggert  <eggert@cs.ucla.edu>
70316
70317         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70318
70319 2006-11-26  Bruno Haible  <bruno@clisp.org>
70320
70321         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70322         noinst_LTLIBRARIES.
70323
70324 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70325             Bruno Haible  <bruno@clisp.org>
70326
70327         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70328         if compiling with "gcc -ansi".
70329
70330 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70331
70332         Fix some incompatibilities with gcc -ansi -pedantic.
70333         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
70334         if compiling pedantically with GCC, unless it's C99 or later.
70335         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
70336         it mishandles gcc -ansi -pedantic as well.
70337         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
70338         if gcc -pedantic.
70339         * lib/regexec.c (check_node_accept_bytes): Don't use auto
70340         initializers for struct if -pedantic, unless it's C99 or later.
70341
70342 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
70343
70344         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
70345         Don't close an fd more than once. Identical atimes indicate
70346         success, not failure.
70347
70348 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
70349
70350         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
70351
70352 2006-11-23  Jim Meyering  <jim@meyering.net>
70353
70354         * build-aux/announce-gen: New file.  From coreutils.
70355
70356 2006-11-22  Jim Meyering  <jim@meyering.net>
70357
70358         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70359         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70360         (fts_read): Use a temporary to narrow the overused st_size member
70361         before using it in a switch statement.  Reported by Matthew Woehlke.
70362
70363         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70364         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70365
70366 2006-11-20  Bruno Haible  <bruno@clisp.org>
70367
70368         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70369         changequote instead of pairs of brackets.
70370         Reported by Andreas Schwab <schwab@suse.de>.
70371
70372 2006-11-21  Jim Meyering  <jim@meyering.net>
70373
70374         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70375         so as to remain compatible with older compilers.
70376         Patch from Michael Deutschmann.
70377
70378 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70379
70380         * MODULES.html.sh (File system functions): Add openat.
70381
70382         * lib/openat.h (rpl_fstatat): New macro, if
70383         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70384         (fstatat): Define to rpl_fstatat under the same conditions,
70385         unless COMPILING_FSTATAT.
70386         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70387         seems to have the bug.
70388         * lib/fstatat.c: New file.
70389         * modules/openat (Files): Add it.
70390
70391 2006-11-20  Bruno Haible  <bruno@clisp.org>
70392
70393         * Makefile: New file.
70394
70395 2006-11-20  Jim Meyering  <jim@meyering.net>
70396
70397         The beginnings of syntax-related checks for gnulib.
70398         * lib/Makefile: New file.
70399         * lib/t-idcache: New script.  Ensure that the two halves of
70400         idcache.c stay in sync.
70401
70402         * lib/idcache.c: Adjust comments in user- and group- portions to
70403         be more accurate, and to be consistent with one another.
70404
70405 2006-11-20  Jim Meyering  <jim@meyering.net>
70406
70407         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70408         continue using the flexible array member (thus, this module performs
70409         half as many malloc calls), with the addition that...
70410         (getgroup, getuser): Consistently record a non-match via an empty
70411         "name" string, and map an empty string match to a NULL return value.
70412         * modules/idcache (Depends-on): Re-add flexmember.
70413
70414         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70415         (getuidbyname, getgroup, getgidbyname): Likewise.
70416
70417         Use cleaner syntax: NULL rather than 0.
70418         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70419
70420 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70421
70422         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70423         It mishandled the case where the group was missing.
70424         Problem reported by Greg Schafer.
70425         * modules/idcache: Likewise.
70426
70427 2006-11-18  Jim Meyering  <jim@meyering.net>
70428
70429         * check-module (%exempt_header): Add exception for some
70430         conditionally-included headers.
70431
70432         * modules/i-ring (Depends-on): Add verify.
70433         (License): Change to LGPL.
70434
70435 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70436
70437         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70438         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70439         and inttostr.h.  Use snprintf rather than uinttostr, so that
70440         LGPLed code doesn't depend on GPLed.
70441
70442 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70443
70444         * modules/inline (License): Change from GPL to LGPL.
70445
70446 2006-11-17  Jim Meyering  <jim@meyering.net>
70447
70448         * modules/d-type (License): Switch to LGPL.
70449
70450 2006-11-15  Bruno Haible  <bruno@clisp.org>
70451
70452         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70453
70454 2006-11-15  Eric Blake  <ebb9@byu.net>
70455
70456         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70457         the module dependency.
70458
70459 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70460             Bruno Haible  <bruno@clisp.org>
70461
70462         * gnulib-tool (func_create_testdir): Add license consistency check.
70463
70464 2006-11-15  Eric Blake  <ebb9@byu.net>
70465
70466         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70467         random "(cached)" in configure output.
70468
70469 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70470
70471         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70472         test for conforming inttypes.h is both announced and cached.
70473
70474         * MODULES.html.sh (seen_modules, seen_files): New variables.
70475         (func_module): Rewrite to use a few less gnulib-tool and sed
70476         invocations.  Avoid a couple of quadratic algorithms for ...
70477         (missed_modules, missed_files): ... these, with ...
70478         (func_append, func_tmpdir): ... these new functions, from
70479         gnulib-tool.  Analogously, install traps for cleanup.
70480
70481         * tests/test-gc.c (main): Remove unused variables.
70482         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70483
70484 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70485
70486         * modules/inttostr (License): Change to LGPL.
70487
70488 2006-11-14  Eric Blake  <ebb9@byu.net>
70489
70490         * modules/tempname (License): Change to LGPL.
70491
70492 2006-11-14  Eric Blake  <ebb9@byu.net>
70493
70494         * doc/functions.texi (Function Portability): *printf functions on
70495         Cygwin now understand all POSIX size specifiers.
70496
70497 2006-11-14  Bruno Haible  <bruno@clisp.org>
70498
70499         * modules/c-ctype (License): Change to LGPL.
70500
70501 2006-11-12  Bruno Haible  <bruno@clisp.org>
70502
70503         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70504         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70505         for GNOME libraries, for which the include files are installed in
70506         subdirectories of $prefix/include.
70507
70508 2006-11-12  Bruno Haible  <bruno@clisp.org>
70509
70510         * m4/lib-link.m4: Require at least autoconf-2.54.
70511         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70512         name to underscores for the --with option.
70513
70514 2006-11-13  Bruno Haible  <bruno@clisp.org>
70515
70516         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70517         the tests directory.
70518         Reported by Ralf Wildenhues.
70519
70520 2006-11-13  Bruno Haible  <bruno@clisp.org>
70521
70522         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70523         (func_emit_initmacro_end): Undo the override here.
70524         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70525         Works around the famous automake error in coreutils.
70526
70527 2006-11-13  Eric Blake  <ebb9@byu.net>
70528
70529         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70530         element, not its node.
70531
70532 2006-11-12  Bruno Haible  <bruno@clisp.org>
70533
70534         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70535         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70536
70537 2006-11-12  Bruno Haible  <bruno@clisp.org>
70538
70539         * gnulib-tool: New option --local-symlink.
70540         (func_usage): Document it.
70541         (lsymbolic): New variable.
70542         (func_import, func_create_testdir): If --symlink was not specified,
70543         test whether --local-symlink was specified and the file comes from
70544         the local_gnulib_dir.
70545
70546 2006-11-12  Bruno Haible  <bruno@clisp.org>
70547
70548         * gnulib-tool (func_ln): New function.
70549         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70550
70551 2006-11-12  Bruno Haible  <bruno@clisp.org>
70552
70553         Finish support for source files in subdirectories.
70554         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70555         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70556         AUTOMAKE_OPTIONS.
70557         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70558
70559 2006-11-12  Bruno Haible  <bruno@clisp.org>
70560
70561         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70562         EXTRA_lib_SOURCES augmentation.
70563         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70564
70565 2006-11-12  Jim Meyering  <jim@meyering.net>
70566
70567         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70568         file descriptors.  This also averts a failure on systems with
70569         native openat support when a traversed directory lacks "x" access.
70570         * lib/fts_.h: Include "i-ring.h"
70571         (struct FTS) [fts_fd_ring]: New member.
70572         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70573         (FCHDIR): Add parentheses.
70574         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70575         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70576         When descending, rather than simply closing the previous
70577         fts_cwd_fd value, push that file descriptor onto the ring.
70578         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70579         (fts_open): Initialize the new fd_ring member.
70580         (fts_close): Clear the ring.
70581         (fts_safe_changedir): When possible, use our new fd_ring to skip
70582         the diropen and fstat and dev/ino comparison that would normally
70583         accompany a virtual `chdir ("..")'.
70584
70585         * modules/fts (Depends-on): Add i-ring.
70586         * modules/i-ring: New module.
70587         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70588         * m4/i-ring.m4: New file.
70589
70590 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70591
70592         * gnulib-tool (func_create_testdir): Fix replacement of
70593         `build-aux' in configure.ac.  Run autotools in gltests
70594         subdirectory.
70595         (func_create_testdir, func_create_megatestdir, test): There is
70596         no need for '--force' in most autotool invocations in a new
70597         tree.  Actually fail the whole test if any of the tools, or the
70598         configure or make stages fail.
70599
70600         Sync from Automake.
70601         * build-aux/gnupload: Revert last change.  Add pointer to upload
70602         instructions of the GNU Maintenance Instructions.
70603         Suggestion by Karl Berry.
70604
70605 2006-11-10  Jim Meyering  <jim@meyering.net>
70606
70607         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70608
70609 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70610
70611         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70612         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70613         (bind_textdomain_codeset) [! ENABLE_NLS]:
70614         Evaluate all the arguments.  That way, callers get compatible behavior
70615         if the arguments have side effects.  Also, it avoids some GCC
70616         diagnostics in some cases; Joel E. Denny reported problems when Bison
70617         was configured with --enable-gcc-warnigs.
70618
70619 2006-11-10  Jim Meyering  <jim@meyering.net>
70620
70621         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70622         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70623         account.
70624
70625 2006-11-10  Jim Meyering  <jim@meyering.net>
70626
70627         * modules/inline: New file/module.
70628         * modules/xalloc (Files): Remove m4/inline.m4.
70629         (Depends-on): Add inline, instead.
70630         * modules/oset: Likewise.
70631         * modules/list: Likewise.
70632
70633 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70634
70635         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70636         Problem reported by Matthew Woehlke.
70637
70638 2006-11-09  Bruno Haible  <bruno@clisp.org>
70639
70640         * lib/tempname.c (gen_tempname): Remove variant that invokes
70641         __gen_tempname.
70642         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70643         __gen_tempname.
70644
70645 2006-11-08  Bruno Haible  <bruno@clisp.org>
70646
70647         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70648         to 'yes' instead of 'cross-compiling'.
70649
70650 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70651
70652         * lib/quotearg.h (quotearg_free): New decl.
70653         * lib/quotearg.c (quotearg_free): New function.
70654         (slot0, nslots, slotvec0, slotvec):
70655         Now file-scope so that quotearg_free can get at them.
70656
70657 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70658
70659         Sync from Automake.
70660         * build-aux/gnupload: Add missing 'gnu' to example URL.
70661         Report by Karl Berry.
70662
70663 2006-11-08  Bruno Haible  <bruno@clisp.org>
70664
70665         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70666         Suggested by Paul Eggert.
70667
70668 2006-11-08  Jim Meyering  <jim@meyering.net>
70669
70670         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70671         It's already included if !_LIBC.
70672         (fts_safe_changedir): Add a comment.
70673
70674 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70675
70676         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70677         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70678         Matthew Woehlke.
70679
70680         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70681         definitions up, to avoid colliding with change below.
70682         (static_inline) [HAVE_INLINE]: New macro.
70683         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70684         Provide extern decls when !HAVE_INLINE.  Do not define unless
70685         static_inline is defined, either by us or by xmalloc.c.  Use
70686         static_inline rather than static inline.
70687         (XCALLOC): Optimize sizeof(T) = 1 case.
70688         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70689
70690 2006-11-07  Bruno Haible  <bruno@clisp.org>
70691
70692         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70693         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70694         AC_C_INLINE.
70695         * modules/xalloc (Files): Add m4/inline.m4.
70696
70697 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70698
70699         * README: Fix typo.
70700         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70701         (Miscellanous Notes): ...from this.
70702
70703 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70704
70705         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70706         Mention that offsetof should be used instead of sizeof.
70707         From Bruno Haible.
70708
70709 2006-11-07  Bruno Haible  <bruno@clisp.org>
70710
70711         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70712
70713 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70714
70715         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70716         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70717         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70718         (gl_tree_add_before, gl_tree_add_after):
70719         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70720         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70721         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70722         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70723         (gl_linked_add_after, gl_linked_add_at): Likewise.
70724         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70725         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70726         (gl_tree_add_before, gl_tree_add_after): Likewise.
70727         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70728         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70729         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70730
70731 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70732
70733         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70734
70735 2006-11-06  Bruno Haible  <bruno@clisp.org>
70736
70737         * m4/inline.m4: New file.
70738         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70739         * modules/list (Files): Add m4/inline.m4.
70740         * modules/oset (Files): Likewise.
70741
70742 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70743
70744         * lib/idcache.c: Include <stddef.h>, for offsetof.
70745         (struct userid.name): Change from char * to a flexible array member.
70746         All uses changed.
70747         * modules/idcache (Depends-on): Add flexmember.
70748
70749         * MODULES.html.sh (Core language properties): New module flexmember.
70750         * modules/flexmember, m4/flexmember.m4: New files.
70751
70752         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70753         inline functions that are identical with the old xnmalloc_inline,
70754         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70755         that we can avoid some unnecessary integer multiplications and
70756         divisions in the common case where the element size is known at
70757         compile time.
70758         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70759         needed.
70760         (xnboundedmalloc): Remove.
70761         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70762         arguments, for consistency with rest of this header.
70763         (xcharalloc): Rewrite using XNMALLOC.
70764         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70765         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70766         versions have been moved to lib/xalloc.h and renamed to be the
70767         non-*_inline versions.
70768         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70769         and xnrealloc functions, since those functions are now inline and
70770         now call us.
70771         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70772         renaming described above.
70773         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70774         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70775         captures the dependency in AC_C_INLINE.
70776
70777         New module canonicalize-lgpl, proposed by Charles Wilson in
70778         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70779         with a few small changes afterwards.
70780         * MODULES.html.sh (File system functions): New module
70781         canonicalize-lgpl.
70782         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70783         and canonicalize_file_name.
70784         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70785         * modules/canonicalize-lgpl: New files.
70786
70787 2006-11-05  Bruno Haible  <bruno@clisp.org>
70788
70789         * gnulib-tool (func_import, func_create_testdir): Create directories
70790         also for files in subdirectories of lib/.
70791
70792 2006-11-05  Bruno Haible  <bruno@clisp.org>
70793
70794         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70795         ANSI C compliant.
70796
70797 2006-11-03  Bruno Haible  <bruno@clisp.org>
70798
70799         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70800         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70801         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70802         (xnboundedmalloc): New inline function.
70803         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70804         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70805         xmalloc.
70806         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70807         xmalloc.
70808         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70809         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70810         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70811         xmalloc.
70812         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70813         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70814         xmalloc.
70815         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70816         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70817         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70818         xmalloc.
70819         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70820         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70821         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70822         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70823         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70824         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70825         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70826
70827 2006-11-03  Bruno Haible  <bruno@clisp.org>
70828
70829         * lib/c-ctype.h [C++]: Define functions without name mangling.
70830         * lib/fwriteerror.h [C++]: Likewise.
70831         * lib/gcd.h [C++]: Likewise.
70832         * lib/linebreak.h [C++]: Likewise.
70833
70834 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70835
70836         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70837         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70838         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70839         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70840         Check for functions and headers just once.
70841         Check for declaration of canonicalize_file_name.
70842         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70843
70844 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70845
70846         * gnulib-tool (func_import): Fix typo in actioncmd.
70847
70848 2006-11-02  Bruno Haible  <bruno@clisp.org>
70849
70850         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70851         newline sequence in the Makefile.am snippet as a space, like "make"
70852         does.
70853         Reported by Roger Persson <perrog@gmail.com>.
70854
70855 2006-11-01  Bruno Haible  <bruno@clisp.org>
70856
70857         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70858         already declared in <string.h>.
70859         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70860
70861 2006-11-01  Bruno Haible  <bruno@clisp.org>
70862
70863         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70864         * lib/strcase.h: Include <string.h>.
70865         (strcasecmp): Define to rpl_strcasecmp here.
70866
70867 2006-11-01  Bruno Haible  <bruno@clisp.org>
70868
70869         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70870
70871 2006-11-01  Eric Blake  <ebb9@byu.net>
70872
70873         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70874
70875         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70876
70877 2006-10-29  Bruno Haible  <bruno@clisp.org>
70878
70879         Make it compile in C++ mode.
70880         * lib/full-write.c (full_rw): Add a cast.
70881
70882 2006-11-01  Bruno Haible  <bruno@clisp.org>
70883
70884         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70885         be POSIX compliant.
70886         Reported by Roger Persson <perrog@gmail.com>.
70887
70888 2006-11-01  Eric Blake  <ebb9@byu.net>
70889
70890         * lib/getopt_.h: Fix comments.
70891
70892 2006-10-31  Eric Blake  <ebb9@byu.net>
70893
70894         * modules/tmpdir (Depends-on): Add sys_stat.
70895         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70896         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70897         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70898         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70899         tempname.
70900
70901 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70902
70903         Avoid some C++ diagnostics reported by Bruno Haible.
70904         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70905         xmalloc.
70906         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70907         (struct slotvec): Move to top level.
70908         (quotearg_n_options): Rewrite to avoid xmalloc.
70909         * lib/xalloc.h (xcharalloc): New function.
70910         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70911         [defined __cplusplus]: Add function template that provides result
70912         type propagation.  This part of the change is from Bruno Haible.
70913
70914 2006-10-29  Bruno Haible  <bruno@clisp.org>
70915
70916         Make it compile in C++ mode.
70917         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70918         * lib/strnlen1.c (strnlen1): Cast memchr result.
70919         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70920         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70921         (create_temp_dir): Rename local variable 'template'.
70922         (compile_csharp_using_sscli): Add cast.
70923         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70924         * lib/findprog.c (find_in_path): Likewise.
70925         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70926         * lib/wait-process.c (register_slave_subprocess): Likewise.
70927
70928 2006-10-22  Bruno Haible  <bruno@clisp.org>
70929
70930         * modules/tsearch: New file.
70931         * lib/tsearch.h: New file.
70932         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70933         * m4/tsearch.m4: New file.
70934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70935
70936 2006-10-29  Eric Blake  <ebb9@byu.net>
70937
70938         * lib/arcfour.c: Assume config.h.
70939         * lib/arctwo.c: Likewise.
70940         * lib/base64.c: Likewise.
70941         * lib/check-version.c: Likewise.
70942         * lib/crc.c: Likewise.
70943         * lib/des.c: Likewise.
70944         * lib/gc-gnulib.c: Likewise.
70945         * lib/gc-libgcrypt.c: Likewise.
70946         * lib/gc-pbkdf2-sha1.c: Likewise.
70947         * lib/getaddrinfo.c: Likewise.
70948         * lib/getdelim.c: Likewise.
70949         * lib/getline.c: Likewise.
70950         * lib/hmac-md5.c: Likewise.
70951         * lib/hmac-sha1.c: Likewise.
70952         * lib/iconvme.c: Likewise.
70953         * lib/md2.c: Likewise.
70954         * lib/md4.c: Likewise.
70955         * lib/memxor.c: Likewise.
70956         * lib/read-file.c: Likewise.
70957         * lib/readline.c: Likewise.
70958         * lib/rijndael-alg-fst.c: Likewise.
70959         * lib/rijndael-api-fst.c: Likewise.
70960         * lib/xgetdomainname.c: Likewise.
70961
70962 2006-10-28  Eric Blake  <ebb9@byu.net>
70963
70964         * lib/xstrndup.c: Assume config.h.
70965
70966 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70967
70968         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70969         stat-macros.h is now for our own macros, whereas stat_h is for
70970         macros in the <sys/stat.h> name space.
70971         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70972         (STAT_MACROS_H): Remove.
70973         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70974         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70975         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70976         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70977         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70978         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70979         Move these macros to ...
70980         * lib/stat_.h: here.  Don't include stat-macros.h.
70981         * lib/canonicalize.c: Don't include stat-macros.h.
70982         * lib/chown.c: Likewise.
70983         * lib/euidaccess.c: Likewise.
70984         * lib/file-type.c: Likewise.
70985         * lib/filemode.c: Likewise.
70986         * lib/glob.c: Likewise.
70987         * lib/isapipe.c: Likewise.
70988         * lib/lchown.c: Likewise.
70989         * lib/lstat.c: Likewise.
70990         * lib/mkdir-p.c: Likewise.
70991         * lib/rmdir.c: Likewise.
70992         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70993         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70994         unless mkdir isn't declared, to speed up 'configure'.
70995         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70996         would define all the S_* symbols.
70997         * modules/canonicalize (Depends-on):
70998         Depend on sys_stat, not stat-macros.
70999         * modules/chown: Likewise.
71000         * modules/euidaccess: Likewise.
71001         * modules/filemode: Likewise.
71002         * modules/file-type: Likewise.
71003         * modules/glob: Likewise.
71004         * modules/isapipe: Likewise.
71005         * modules/lchown: Likewise.
71006         * modules/lstat: Likewise.
71007         * modules/mkancesdirs: Likewise.
71008         * modules/rmdir: Likewise.
71009         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
71010         * modules/modechange: Likewise.
71011         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
71012         (configure.ac): Remove gl_STAT_MACROS.
71013         * modules/sys_stat (Depends-on): Remove stat-macros.
71014
71015 2006-10-27  Bruno Haible  <bruno@clisp.org>
71016
71017         * m4/signed.m4: Remove file.
71018         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
71019         invocation.
71020         * modules/vasnprintf (Files): Remove m4/signed.m4.
71021
71022 2006-10-27  Bruno Haible  <bruno@clisp.org>
71023
71024         Update to GNU gettext 0.16.
71025         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
71026         m4/inttypes-h.m4, m4/signed.m4.
71027         * m4/gettext.m4: Update to GNU gettext 0.16.
71028         * m4/intl.m4: New file, from GNU gettext.
71029         * m4/intldir.m4: New file, from GNU gettext.
71030         * config/srclist.txt: Update
71031
71032 2006-10-27  Eric Blake  <ebb9@byu.net>
71033
71034         * MODULES.html.sh: Document tempname.
71035         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
71036         dependencies.
71037         (Files): Move lib/tempname.c...
71038         * modules/tempname: ...to this new module.
71039         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
71040         (gl_PREREQ_TEMPNAME): Move...
71041         * m4/tempname.m4: ...to this new file.
71042         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
71043         * modules/sys_stat (Depends-on): Add stat-macros.
71044         * lib/stat_.h (includes): Pick up stat macros.
71045         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
71046         if stat macros are broken.
71047         * lib/tempname.c (includes): No need to include "stat-macros.h".
71048         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
71049         (direxists, __path_search) [!_LIBC]: Don't compile these in
71050         gnulib; the tmpdir module covers that.
71051         * lib/tempname.h: New file.
71052
71053 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
71054
71055         * COPYING: Explain how gnulib-tool converts licence headers.
71056         Almost all wording by Eric Blake.
71057
71058 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
71059
71060         * lib/mbchar.h (is_basic_table): Make read-only.
71061         * lib/mbchar.c (is_basic_table): Likewise.
71062         Reported by John Darrington.
71063
71064 2006-10-25  Bruno Haible  <bruno@clisp.org>
71065
71066         * lib/progname.h (set_program_name): Undefine before defining.
71067
71068 2006-10-25  Bruno Haible  <bruno@clisp.org>
71069
71070         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
71071         false for non-gcc C++ compilers.
71072         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
71073
71074 2006-10-24  Bruno Haible  <bruno@clisp.org>
71075
71076         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
71077         iconv implementations like Irix iconv.
71078
71079 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71080
71081         * modules/vararrays: New file.
71082         * m4/vararrays.m4: New file, taken from diffutils.
71083         * MODULES.html.sh: New module vararrays.
71084
71085 2006-10-24  Karl Berry  <karl@gnu.org>
71086
71087         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
71088         Don't call GNU Unix.
71089
71090 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71091
71092         * users.txt: Add Libtool.
71093
71094         Sync from Libtool:
71095
71096         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71097
71098         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
71099         to gnulib's policy of including config.h unconditionally.
71100
71101 2006-10-24  Bruno Haible  <bruno@clisp.org>
71102
71103         * modules/wcwidth (Files): Add m4/wint_t.m4.
71104         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
71105         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
71106
71107 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
71108
71109         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
71110         to pacify GCC with some -W flags enabled.  Problem reported by
71111         Bruno Haible.
71112
71113 2006-10-24  Jim Meyering  <jim@meyering.net>
71114
71115         * MODULES.html.sh: Remove uinttostr.  It's not a module.
71116         Reported by Karl Berry.
71117
71118 2006-10-23  Bruno Haible  <bruno@clisp.org>
71119
71120         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
71121
71122 2006-10-24  Bruno Haible  <bruno@clisp.org>
71123
71124         * lib/gl_list.h: Use C comment style, not C++ comment style.
71125
71126 2006-10-23  Eric Blake  <ebb9@byu.net>
71127
71128         * lib/getaddrinfo.c (includes): Add missing include.
71129
71130 2006-10-23  Bruno Haible  <bruno@clisp.org>
71131             Paul Eggert  <eggert@cs.ucla.edu>
71132
71133         Ability to rename obstack_free.
71134         * lib/obstack.h (__obstack_free): New macro. Declare instead of
71135         obstack_free.
71136         (obstack_free): Invoke the __obstack_free macro.
71137         * lib/obstack.c (obstack_free): Use __obstack_free macro.
71138
71139 2006-10-23  Bruno Haible  <bruno@clisp.org>
71140             Paul Eggert  <eggert@cs.ucla.edu>
71141
71142         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
71143         __argc, __argv from the declaration. (They are defined as macros on
71144         mingw.)
71145
71146 2006-10-22  Bruno Haible  <bruno@clisp.org>
71147
71148         * doc/gnulib-intro.texi: New file.
71149         * doc/gnulib.texi: Include it.
71150
71151 2006-10-21  Bruno Haible  <bruno@clisp.org>
71152
71153         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
71154         "Introduction", "Miscellanous Notes", "Particular Modules".
71155
71156 2006-10-21  Bruno Haible  <bruno@clisp.org>
71157
71158         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71159         Change mostlyclean-local rule to avoid sh syntax error from bash
71160         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
71161
71162 2006-10-23  Jim Meyering  <jim@meyering.net>
71163
71164         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
71165         in place of snprintf.
71166
71167         * modules/inttostr (Files): Add lib/uinttostr.c.
71168         * lib/uinttostr.c (inttostr): New file/function.
71169         * lib/inttostr.h (uinttostr): Declare.
71170         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
71171         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71172         Add uinttostr.
71173         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
71174
71175 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71176
71177         * lib/canonicalize.c (ELOOP): Define if not already defined.
71178         Problem reported by Bruno Haible in
71179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
71180
71181 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71182
71183         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
71184         Problem reported by Perry Smith and Ville Laurikari.
71185
71186         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
71187         uses.
71188
71189 2006-10-19  Bruno Haible  <bruno@clisp.org>
71190
71191         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
71192         for mingw.
71193
71194 2006-10-19  Bruno Haible  <bruno@clisp.org>
71195
71196         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
71197         Needed for mingw.
71198
71199 2006-10-19  Bruno Haible  <bruno@clisp.org>
71200
71201         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
71202
71203 2006-10-19  Bruno Haible  <bruno@clisp.org>
71204
71205         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
71206         it.
71207
71208 2006-10-19  Bruno Haible  <bruno@clisp.org>
71209
71210         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
71211         invocation.
71212
71213 2006-10-19  Bruno Haible  <bruno@clisp.org>
71214
71215         * gnulib-tool (func_create_testdir): Don't include ftruncate and
71216         mountlist by default.
71217
71218 2006-10-16  Bruno Haible  <bruno@clisp.org>
71219
71220         * lib/c-strstr.c: Include c-strstr.h.
71221
71222 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71223
71224         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
71225         in a slash.
71226
71227 2006-10-18  Bruno Haible  <bruno@clisp.org>
71228
71229         * lib/lock.h [C++]: Wrap definitions in extern "C".
71230
71231 2006-10-18  Bruno Haible  <bruno@clisp.org>
71232
71233         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
71234         gl_LIBOBJS list.
71235
71236 2006-10-18  Bruno Haible  <bruno@clisp.org>
71237
71238         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71239
71240 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71241
71242         * lib/xstrtol.h: Include gettext.h.
71243         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71244         Problem reported by Eric Blake.
71245         * modules/xstrtol (Depends-on): Add gettext-h.
71246
71247 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71248
71249         * lib/strftime.c (advance): New macro.
71250         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71251         incomplete type, so you can't add 0 to it.  Problem and patch
71252         reported by Eelco Dolstra for dietlibc.
71253
71254 2006-10-18  Jim Meyering  <jim@meyering.net>
71255
71256         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71257         type for a local, and rename it: s/up/user_proc/.
71258
71259 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71260
71261         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71262         READ_UTMP_USER_PROCESS.
71263         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71264
71265 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71266
71267         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71268         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71269
71270 2006-10-17  Eric Blake  <ebb9@byu.net>
71271
71272         * lib/sigprocmask.c (sigprocmask): Fix typo.
71273
71274         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71275
71276         * modules/clean-temp (Makefile.am): Don't add to make output...
71277         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71278         config.h.
71279
71280 2006-10-17  Bruno Haible  <bruno@clisp.org>
71281
71282         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71283         differently if DEFAULT_TEXT_DOMAIN is set.
71284
71285 2006-10-16  Bruno Haible  <bruno@clisp.org>
71286
71287         * lib/clean-temp.c: Include fwriteerror.h.
71288
71289 2006-10-16  Bruno Haible  <bruno@clisp.org>
71290
71291         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71292
71293 2006-10-16  Bruno Haible  <bruno@clisp.org>
71294
71295         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71296         * lib/sigprocmask.h: Include <sys/types.h>.
71297         (sigset_t): Use the system's definition if present.
71298
71299 2006-10-17  Eric Blake  <ebb9@byu.net>
71300
71301         * lib/xvasprintf.c (includes): Assume config.h.
71302         * lib/xasprintf.c (includes): Likewise.
71303
71304 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71305
71306         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71307         at least as wide as intmax_t.
71308
71309 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71310
71311         (Imported from Automake.)
71312         * build-aux/gnupload: Update to version 1.1 of directive file.
71313
71314 2006-10-16  Eric Blake  <ebb9@byu.net>
71315
71316         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71317         match Automake 1.10a.
71318
71319 2006-10-14  Bruno Haible  <bruno@clisp.org>
71320
71321         * modules/sigprocmask: New file.
71322         * lib/sigprocmask.h: New file.
71323         * lib/sigprocmask.c: New file.
71324         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71325         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71326         request sigprocmask.o.
71327         (gl_PREREQ_SIGPROCMASK): New macro.
71328         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71329         (Depends-on): Add sigprocmask.
71330         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
71331         gt_SIGNALBLOCKING. Test for 'raise' only once.
71332         * lib/fatal-signal.c: Include sigprocmask.h.
71333         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
71334         unblock_fatal_signals): Define always.
71335         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71336         sigprocmask.
71337
71338 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71339
71340         Sync from Automake.
71341         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
71342         which incorrectly sets the mode of an existing destination
71343         directory.  In some cases the unpatched install-sh could do the
71344         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
71345         system.  We hope this is rare in practice, but it's clearly worth
71346         fixing.  Problem reported by Alex Unleashed in
71347         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
71348         Also, don't bother to check for -m bugs unless we're using -m;
71349         suggested by Stepan Kasal.
71350
71351 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71352
71353         Sync from Automake.
71354         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71355         `-c' flag, so they appear at the same position as in %FASTDEP%
71356         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71357         which ignores unknown options only after the first non-option.
71358         Bug report against M4 by Nelson H. F. Beebe.
71359
71360 2006-10-13  Jim Meyering  <jim@meyering.net>
71361
71362         Fix a bug in yesterday's change.
71363         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71364         p->fts_statp->st_dev would be used uninitialized.
71365         Ensures that we always call fts_stat on the very first entry.
71366         Miklos Szeredi reported that find -xdev stopped working.
71367
71368 2006-10-12  Bruno Haible  <bruno@clisp.org>
71369
71370         * gnulib-tool (func_get_automake_snippet): Append an automatically
71371         computed EXTRA_DIST augmentation.
71372         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71373         * modules/alloca-opt (Makefile.am): Likewise.
71374         * modules/allocsa (Makefile.am): Likewise.
71375         * modules/arcfour (Makefile.am): Likewise.
71376         * modules/arctwo (Makefile.am): Likewise.
71377         * modules/argmatch (Makefile.am): Likewise.
71378         * modules/argz (Makefile.am): Likewise.
71379         * modules/atexit (Makefile.am): Likewise.
71380         * modules/backupfile (Makefile.am): Likewise.
71381         * modules/byteswap (Makefile.am): Likewise.
71382         * modules/c-strtod (Makefile.am): Likewise.
71383         * modules/c-strtold (Makefile.am): Likewise.
71384         * modules/calloc (Makefile.am): Likewise.
71385         * modules/canon-host (Makefile.am): Likewise.
71386         * modules/canonicalize (Makefile.am): Likewise.
71387         * modules/chdir-long (Makefile.am): Likewise.
71388         * modules/chdir-safer (Makefile.am): Likewise.
71389         * modules/check-version (Makefile.am): Likewise.
71390         * modules/chown (Makefile.am): Likewise.
71391         * modules/cloexec (Makefile.am): Likewise.
71392         * modules/close-stream (Makefile.am): Likewise.
71393         * modules/closeout (Makefile.am): Likewise.
71394         * modules/crc (Makefile.am): Likewise.
71395         * modules/csharpexec (Makefile.am): Likewise.
71396         * modules/cycle-check (Makefile.am): Likewise.
71397         * modules/des (Makefile.am): Likewise.
71398         * modules/dev-ino (Makefile.am): Likewise.
71399         * modules/dirfd (Makefile.am): Likewise.
71400         * modules/dirname (Makefile.am): Likewise.
71401         * modules/dup2 (Makefile.am): Likewise.
71402         * modules/eealloc (Makefile.am): Likewise.
71403         * modules/error (Makefile.am): Likewise.
71404         * modules/euidaccess (Makefile.am): Likewise.
71405         * modules/exclude (Makefile.am): Likewise.
71406         * modules/exitfail (Makefile.am): Likewise.
71407         * modules/fcntl-safer (Makefile.am): Likewise.
71408         * modules/fcntl (Makefile.am): Likewise.
71409         * modules/file-type (Makefile.am): Likewise.
71410         * modules/fileblocks (Makefile.am): Likewise.
71411         * modules/filemode (Makefile.am): Likewise.
71412         * modules/filenamecat (Makefile.am): Likewise.
71413         * modules/fnmatch (Makefile.am): Likewise.
71414         * modules/fopen-safer (Makefile.am): Likewise.
71415         * modules/fpending (Makefile.am): Likewise.
71416         * modules/fprintftime (Makefile.am): Likewise.
71417         * modules/free (Makefile.am): Likewise.
71418         * modules/fsusage (Makefile.am): Likewise.
71419         * modules/ftruncate (Makefile.am): Likewise.
71420         * modules/fts (Makefile.am): Likewise.
71421         * modules/gc-arcfour (Makefile.am): Likewise.
71422         * modules/gc-des (Makefile.am): Likewise.
71423         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71424         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71425         * modules/gc-md4 (Makefile.am): Likewise.
71426         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71427         * modules/gc-sha1 (Makefile.am): Likewise.
71428         * modules/gc (Makefile.am): Likewise.
71429         * modules/getaddrinfo (Makefile.am): Likewise.
71430         * modules/getcwd (Makefile.am): Likewise.
71431         * modules/getdelim (Makefile.am): Likewise.
71432         * modules/getdomainname (Makefile.am): Likewise.
71433         * modules/getgroups (Makefile.am): Likewise.
71434         * modules/gethostname (Makefile.am): Likewise.
71435         * modules/gethrxtime (Makefile.am): Likewise.
71436         * modules/getline (Makefile.am): Likewise.
71437         * modules/getloadavg (Makefile.am): Likewise.
71438         * modules/getlogin_r (Makefile.am): Likewise.
71439         * modules/getndelim2 (Makefile.am): Likewise.
71440         * modules/getopt (Makefile.am): Likewise.
71441         * modules/getpagesize (Makefile.am): Likewise.
71442         * modules/getpass-gnu (Makefile.am): Likewise.
71443         * modules/getpass (Makefile.am): Likewise.
71444         * modules/getsubopt (Makefile.am): Likewise.
71445         * modules/gettime (Makefile.am): Likewise.
71446         * modules/gettimeofday (Makefile.am): Likewise.
71447         * modules/getugroups (Makefile.am): Likewise.
71448         * modules/getusershell (Makefile.am): Likewise.
71449         * modules/glob (Makefile.am): Likewise.
71450         * modules/group-member (Makefile.am): Likewise.
71451         * modules/hard-locale (Makefile.am): Likewise.
71452         * modules/hash (Makefile.am): Likewise.
71453         * modules/hmac-md5 (Makefile.am): Likewise.
71454         * modules/hmac-sha1 (Makefile.am): Likewise.
71455         * modules/human (Makefile.am): Likewise.
71456         * modules/idcache (Makefile.am): Likewise.
71457         * modules/imaxabs (Makefile.am): Likewise.
71458         * modules/imaxdiv (Makefile.am): Likewise.
71459         * modules/inet_ntop (Makefile.am): Likewise.
71460         * modules/inet_pton (Makefile.am): Likewise.
71461         * modules/intprops (Makefile.am): Likewise.
71462         * modules/inttostr (Makefile.am): Likewise.
71463         * modules/inttypes (Makefile.am): Likewise.
71464         * modules/isapipe (Makefile.am): Likewise.
71465         * modules/javaversion (Makefile.am): Likewise.
71466         * modules/lchmod (Makefile.am): Likewise.
71467         * modules/lchown (Makefile.am): Likewise.
71468         * modules/localcharset (Makefile.am): Likewise.
71469         * modules/long-options (Makefile.am): Likewise.
71470         * modules/lstat (Makefile.am): Likewise.
71471         * modules/malloc (Makefile.am): Likewise.
71472         * modules/mathl (Makefile.am): Likewise.
71473         * modules/mbchar (Makefile.am): Likewise.
71474         * modules/md2 (Makefile.am): Likewise.
71475         * modules/md4 (Makefile.am): Likewise.
71476         * modules/md5 (Makefile.am): Likewise.
71477         * modules/memcasecmp (Makefile.am): Likewise.
71478         * modules/memchr (Makefile.am): Likewise.
71479         * modules/memcmp (Makefile.am): Likewise.
71480         * modules/memcoll (Makefile.am): Likewise.
71481         * modules/memcpy (Makefile.am): Likewise.
71482         * modules/memmem (Makefile.am): Likewise.
71483         * modules/memmove (Makefile.am): Likewise.
71484         * modules/mempcpy (Makefile.am): Likewise.
71485         * modules/memrchr (Makefile.am): Likewise.
71486         * modules/memset (Makefile.am): Likewise.
71487         * modules/memxor (Makefile.am): Likewise.
71488         * modules/mkancesdirs (Makefile.am): Likewise.
71489         * modules/mkdir-p (Makefile.am): Likewise.
71490         * modules/mkdir (Makefile.am): Likewise.
71491         * modules/mkdtemp (Makefile.am): Likewise.
71492         * modules/mkstemp (Makefile.am): Likewise.
71493         * modules/mktime (Makefile.am): Likewise.
71494         * modules/modechange (Makefile.am): Likewise.
71495         * modules/mountlist (Makefile.am): Likewise.
71496         * modules/nanosleep (Makefile.am): Likewise.
71497         * modules/obstack (Makefile.am): Likewise.
71498         * modules/openat (Makefile.am): Likewise.
71499         * modules/pagealign_alloc (Makefile.am): Likewise.
71500         * modules/pathmax (Makefile.am): Likewise.
71501         * modules/physmem (Makefile.am): Likewise.
71502         * modules/poll (Makefile.am): Likewise.
71503         * modules/posixtm (Makefile.am): Likewise.
71504         * modules/posixver (Makefile.am): Likewise.
71505         * modules/putenv (Makefile.am): Likewise.
71506         * modules/quote (Makefile.am): Likewise.
71507         * modules/quotearg (Makefile.am): Likewise.
71508         * modules/raise (Makefile.am): Likewise.
71509         * modules/read-file (Makefile.am): Likewise.
71510         * modules/readline (Makefile.am): Likewise.
71511         * modules/readlink (Makefile.am): Likewise.
71512         * modules/readtokens (Makefile.am): Likewise.
71513         * modules/readutmp (Makefile.am): Likewise.
71514         * modules/realloc (Makefile.am): Likewise.
71515         * modules/regex (Makefile.am): Likewise.
71516         * modules/rename-dest-slash (Makefile.am): Likewise.
71517         * modules/rename (Makefile.am): Likewise.
71518         * modules/rijndael (Makefile.am): Likewise.
71519         * modules/rmdir (Makefile.am): Likewise.
71520         * modules/rpmatch (Makefile.am): Likewise.
71521         * modules/safe-read (Makefile.am): Likewise.
71522         * modules/safe-write (Makefile.am): Likewise.
71523         * modules/same-inode (Makefile.am): Likewise.
71524         * modules/same (Makefile.am): Likewise.
71525         * modules/save-cwd (Makefile.am): Likewise.
71526         * modules/savedir (Makefile.am): Likewise.
71527         * modules/setenv (Makefile.am): Likewise.
71528         * modules/settime (Makefile.am): Likewise.
71529         * modules/sha1 (Makefile.am): Likewise.
71530         * modules/sig2str (Makefile.am): Likewise.
71531         * modules/snprintf (Makefile.am): Likewise.
71532         * modules/stat-macros (Makefile.am): Likewise.
71533         * modules/stat-time (Makefile.am): Likewise.
71534         * modules/stdbool (Makefile.am): Likewise.
71535         * modules/stdint (Makefile.am): Likewise.
71536         * modules/stdlib-safer (Makefile.am): Likewise.
71537         * modules/stpcpy (Makefile.am): Likewise.
71538         * modules/stpncpy (Makefile.am): Likewise.
71539         * modules/strcase (Makefile.am): Likewise.
71540         * modules/strcasestr (Makefile.am): Likewise.
71541         * modules/strchrnul (Makefile.am): Likewise.
71542         * modules/strcspn (Makefile.am): Likewise.
71543         * modules/strdup (Makefile.am): Likewise.
71544         * modules/strerror (Makefile.am): Likewise.
71545         * modules/strftime (Makefile.am): Likewise.
71546         * modules/strndup (Makefile.am): Likewise.
71547         * modules/strnlen (Makefile.am): Likewise.
71548         * modules/strpbrk (Makefile.am): Likewise.
71549         * modules/strsep (Makefile.am): Likewise.
71550         * modules/strstr (Makefile.am): Likewise.
71551         * modules/strtod (Makefile.am): Likewise.
71552         * modules/strtoimax (Makefile.am): Likewise.
71553         * modules/strtok_r (Makefile.am): Likewise.
71554         * modules/strtol (Makefile.am): Likewise.
71555         * modules/strtoll (Makefile.am): Likewise.
71556         * modules/strtoul (Makefile.am): Likewise.
71557         * modules/strtoull (Makefile.am): Likewise.
71558         * modules/strtoumax (Makefile.am): Likewise.
71559         * modules/strverscmp (Makefile.am): Likewise.
71560         * modules/sys_socket (Makefile.am): Likewise.
71561         * modules/sys_stat (Makefile.am): Likewise.
71562         * modules/sysexits (Makefile.am): Likewise.
71563         * modules/time_r (Makefile.am): Likewise.
71564         * modules/timegm (Makefile.am): Likewise.
71565         * modules/timespec (Makefile.am): Likewise.
71566         * modules/tmpfile-safer (Makefile.am): Likewise.
71567         * modules/trim (Makefile.am): Likewise.
71568         * modules/unistd-safer (Makefile.am): Likewise.
71569         * modules/unlinkdir (Makefile.am): Likewise.
71570         * modules/unlocked-io (Makefile.am): Likewise.
71571         * modules/userspec (Makefile.am): Likewise.
71572         * modules/utime (Makefile.am): Likewise.
71573         * modules/utimecmp (Makefile.am): Likewise.
71574         * modules/utimens (Makefile.am): Likewise.
71575         * modules/vasnprintf (Makefile.am): Likewise.
71576         * modules/vasprintf (Makefile.am): Likewise.
71577         * modules/vsnprintf (Makefile.am): Likewise.
71578         * modules/xalloc (Makefile.am): Likewise.
71579         * modules/xgetcwd (Makefile.am): Likewise.
71580         * modules/xnanosleep (Makefile.am): Likewise.
71581         * modules/xreadlink (Makefile.am): Likewise.
71582         * modules/xstrtod (Makefile.am): Likewise.
71583         * modules/xstrtol (Makefile.am): Likewise.
71584         * modules/xstrtold (Makefile.am): Likewise.
71585         * modules/yesno (Makefile.am): Likewise.
71586         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71587
71588 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71589
71590         * modules/error (Makefile.am): Distribute files through
71591         EXTRA_DIST, not lib_SOURCES.
71592
71593 2006-10-12  Eric Blake  <ebb9@byu.net>
71594
71595         * modules/error (Makefile.am): Distribute files in /lib.
71596         * modules/obstack (Makefile.am): Likewise.
71597
71598 2006-10-12  Bruno Haible  <bruno@clisp.org>
71599
71600         * modules/acl (Makefile.am): Distribute all files in lib/ through
71601         EXTRA_DIST.
71602         * modules/arcfour (Makefile.am): Likewise.
71603         * modules/arctwo (Makefile.am): Likewise.
71604         * modules/argmatch (Makefile.am): Likewise.
71605         * modules/argz (Makefile.am): Likewise.
71606         * modules/atexit (Makefile.am): Likewise.
71607         * modules/backupfile (Makefile.am): Likewise.
71608         * modules/c-strtod (Makefile.am): Likewise.
71609         * modules/c-strtold (Makefile.am): Likewise.
71610         * modules/calloc (Makefile.am): Likewise.
71611         * modules/canon-host (Makefile.am): Likewise.
71612         * modules/canonicalize (Makefile.am): Likewise.
71613         * modules/chdir-long (Makefile.am): Likewise.
71614         * modules/chdir-safer (Makefile.am): Likewise.
71615         * modules/check-version (Makefile.am): Likewise.
71616         * modules/chown (Makefile.am): Likewise.
71617         * modules/cloexec (Makefile.am): Likewise.
71618         * modules/close-stream (Makefile.am): Likewise.
71619         * modules/closeout (Makefile.am): Likewise.
71620         * modules/crc (Makefile.am): Likewise.
71621         * modules/cycle-check (Makefile.am): Likewise.
71622         * modules/des (Makefile.am): Likewise.
71623         * modules/dirfd (Makefile.am): Likewise.
71624         * modules/dirname (Makefile.am): Likewise.
71625         * modules/dup2 (Makefile.am): Likewise.
71626         * modules/euidaccess (Makefile.am): Likewise.
71627         * modules/exclude (Makefile.am): Likewise.
71628         * modules/exitfail (Makefile.am): Likewise.
71629         * modules/fcntl-safer (Makefile.am): Likewise.
71630         * modules/file-type (Makefile.am): Likewise.
71631         * modules/fileblocks (Makefile.am): Likewise.
71632         * modules/filemode (Makefile.am): Likewise.
71633         * modules/filenamecat (Makefile.am): Likewise.
71634         * modules/fnmatch (Makefile.am): Likewise.
71635         * modules/fopen-safer (Makefile.am): Likewise.
71636         * modules/fpending (Makefile.am): Likewise.
71637         * modules/fprintftime (Makefile.am): Likewise.
71638         * modules/free (Makefile.am): Likewise.
71639         * modules/fsusage (Makefile.am): Likewise.
71640         * modules/ftruncate (Makefile.am): Likewise.
71641         * modules/fts (Makefile.am): Likewise.
71642         * modules/gc (Makefile.am): Likewise.
71643         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71644         * modules/getaddrinfo (Makefile.am): Likewise.
71645         * modules/getcwd (Makefile.am): Likewise.
71646         * modules/getdelim (Makefile.am): Likewise.
71647         * modules/getdomainname (Makefile.am): Likewise.
71648         * modules/getgroups (Makefile.am): Likewise.
71649         * modules/gethostname (Makefile.am): Likewise.
71650         * modules/gethrxtime (Makefile.am): Likewise.
71651         * modules/getline (Makefile.am): Likewise.
71652         * modules/getloadavg (Makefile.am): Likewise.
71653         * modules/getlogin_r (Makefile.am): Likewise.
71654         * modules/getopt (Makefile.am): Likewise.
71655         * modules/getpass (Makefile.am): Likewise.
71656         * modules/getpass-gnu (Makefile.am): Likewise.
71657         * modules/getsubopt (Makefile.am): Likewise.
71658         * modules/gettime (Makefile.am): Likewise.
71659         * modules/gettimeofday (Makefile.am): Likewise.
71660         * modules/getugroups (Makefile.am): Likewise.
71661         * modules/getusershell (Makefile.am): Likewise.
71662         * modules/glob (Makefile.am): Likewise.
71663         * modules/group-member (Makefile.am): Likewise.
71664         * modules/hard-locale (Makefile.am): Likewise.
71665         * modules/hash (Makefile.am): Likewise.
71666         * modules/hmac-md5 (Makefile.am): Likewise.
71667         * modules/hmac-sha1 (Makefile.am): Likewise.
71668         * modules/human (Makefile.am): Likewise.
71669         * modules/idcache (Makefile.am): Likewise.
71670         * modules/imaxabs (Makefile.am): Likewise.
71671         * modules/imaxdiv (Makefile.am): Likewise.
71672         * modules/inet_ntop (Makefile.am): Likewise.
71673         * modules/inet_pton (Makefile.am): Likewise.
71674         * modules/inttostr (Makefile.am): Likewise.
71675         * modules/isapipe (Makefile.am): Likewise.
71676         * modules/lchown (Makefile.am): Likewise.
71677         * modules/long-options (Makefile.am): Likewise.
71678         * modules/lstat (Makefile.am): Likewise.
71679         * modules/malloc (Makefile.am): Likewise.
71680         * modules/mathl (Makefile.am): Likewise.
71681         * modules/mbchar (Makefile.am): Likewise.
71682         * modules/md2 (Makefile.am): Likewise.
71683         * modules/md4 (Makefile.am): Likewise.
71684         * modules/md5 (Makefile.am): Likewise.
71685         * modules/memcasecmp (Makefile.am): Likewise.
71686         * modules/memchr (Makefile.am): Likewise.
71687         * modules/memcmp (Makefile.am): Likewise.
71688         * modules/memcoll (Makefile.am): Likewise.
71689         * modules/memcpy (Makefile.am): Likewise.
71690         * modules/memmem (Makefile.am): Likewise.
71691         * modules/memmove (Makefile.am): Likewise.
71692         * modules/mempcpy (Makefile.am): Likewise.
71693         * modules/memrchr (Makefile.am): Likewise.
71694         * modules/memset (Makefile.am): Likewise.
71695         * modules/memxor (Makefile.am): Likewise.
71696         * modules/mkancesdirs (Makefile.am): Likewise.
71697         * modules/mkdir (Makefile.am): Likewise.
71698         * modules/mkdir-p (Makefile.am): Likewise.
71699         * modules/mkdtemp (Makefile.am): Likewise.
71700         * modules/mkstemp (Makefile.am): Likewise.
71701         * modules/mktime (Makefile.am): Likewise.
71702         * modules/modechange (Makefile.am): Likewise.
71703         * modules/mountlist (Makefile.am): Likewise.
71704         * modules/nanosleep (Makefile.am): Likewise.
71705         * modules/openat (Makefile.am): Likewise.
71706         * modules/pagealign_alloc (Makefile.am): Likewise.
71707         * modules/physmem (Makefile.am): Likewise.
71708         * modules/poll (Makefile.am): Likewise.
71709         * modules/posixtm (Makefile.am): Likewise.
71710         * modules/posixver (Makefile.am): Likewise.
71711         * modules/putenv (Makefile.am): Likewise.
71712         * modules/quote (Makefile.am): Likewise.
71713         * modules/quotearg (Makefile.am): Likewise.
71714         * modules/raise (Makefile.am): Likewise.
71715         * modules/read-file (Makefile.am): Likewise.
71716         * modules/readline (Makefile.am): Likewise.
71717         * modules/readlink (Makefile.am): Likewise.
71718         * modules/readtokens (Makefile.am): Likewise.
71719         * modules/readutmp (Makefile.am): Likewise.
71720         * modules/realloc (Makefile.am): Likewise.
71721         * modules/regex (Makefile.am): Likewise.
71722         * modules/rename (Makefile.am): Likewise.
71723         * modules/rename-dest-slash (Makefile.am): Likewise.
71724         * modules/rijndael (Makefile.am): Likewise.
71725         * modules/rmdir (Makefile.am): Likewise.
71726         * modules/rpmatch (Makefile.am): Likewise.
71727         * modules/safe-read (Makefile.am): Likewise.
71728         * modules/safe-write (Makefile.am): Likewise.
71729         * modules/same (Makefile.am): Likewise.
71730         * modules/save-cwd (Makefile.am): Likewise.
71731         * modules/savedir (Makefile.am): Likewise.
71732         * modules/setenv (Makefile.am): Likewise.
71733         * modules/settime (Makefile.am): Likewise.
71734         * modules/sha1 (Makefile.am): Likewise.
71735         * modules/sig2str (Makefile.am): Likewise.
71736         * modules/snprintf (Makefile.am): Likewise.
71737         * modules/stdlib-safer (Makefile.am): Likewise.
71738         * modules/stpcpy (Makefile.am): Likewise.
71739         * modules/stpncpy (Makefile.am): Likewise.
71740         * modules/strcase (Makefile.am): Likewise.
71741         * modules/strcasestr (Makefile.am): Likewise.
71742         * modules/strchrnul (Makefile.am): Likewise.
71743         * modules/strcspn (Makefile.am): Likewise.
71744         * modules/strdup (Makefile.am): Likewise.
71745         * modules/strerror (Makefile.am): Likewise.
71746         * modules/strftime (Makefile.am): Likewise.
71747         * modules/strndup (Makefile.am): Likewise.
71748         * modules/strnlen (Makefile.am): Likewise.
71749         * modules/strpbrk (Makefile.am): Likewise.
71750         * modules/strsep (Makefile.am): Likewise.
71751         * modules/strstr (Makefile.am): Likewise.
71752         * modules/strtod (Makefile.am): Likewise.
71753         * modules/strtoimax (Makefile.am): Likewise.
71754         * modules/strtok_r (Makefile.am): Likewise.
71755         * modules/strtol (Makefile.am): Likewise.
71756         * modules/strtoll (Makefile.am): Likewise.
71757         * modules/strtoul (Makefile.am): Likewise.
71758         * modules/strtoull (Makefile.am): Likewise.
71759         * modules/strtoumax (Makefile.am): Likewise.
71760         * modules/strverscmp (Makefile.am): Likewise.
71761         * modules/time_r (Makefile.am): Likewise.
71762         * modules/timegm (Makefile.am): Likewise.
71763         * modules/tmpfile-safer (Makefile.am): Likewise.
71764         * modules/unistd-safer (Makefile.am): Likewise.
71765         * modules/unlinkdir (Makefile.am): Likewise.
71766         * modules/userspec (Makefile.am): Likewise.
71767         * modules/utime (Makefile.am): Likewise.
71768         * modules/utimecmp (Makefile.am): Likewise.
71769         * modules/utimens (Makefile.am): Likewise.
71770         * modules/vasnprintf (Makefile.am): Likewise.
71771         * modules/vasprintf (Makefile.am): Likewise.
71772         * modules/vsnprintf (Makefile.am): Likewise.
71773         * modules/xalloc (Makefile.am): Likewise.
71774         * modules/xgetcwd (Makefile.am): Likewise.
71775         * modules/xnanosleep (Makefile.am): Likewise.
71776         * modules/xreadlink (Makefile.am): Likewise.
71777         * modules/xstrtod (Makefile.am): Likewise.
71778         * modules/xstrtol (Makefile.am): Likewise.
71779         * modules/xstrtold (Makefile.am): Likewise.
71780         * modules/yesno (Makefile.am): Likewise.
71781
71782 2006-10-12  Jim Meyering  <jim@meyering.net>
71783
71784         * m4/getloadavg.m4: Revert the change below.
71785
71786         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71787         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71788         fail with a symlink, which is what coreutils' ./bootstrap now
71789         creates by default.
71790
71791 2006-10-12  Bruno Haible  <bruno@clisp.org>
71792
71793         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71794         mingw.
71795         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71796         MSVC and mingw explicitly.
71797
71798 2006-10-11  Simon Josefsson  <jas@extundo.com>
71799             Bruno Haible  <bruno@clisp.org>
71800
71801         Add support for multiple gnulib-tool invocations in the scope of a
71802         single configure.ac file.
71803         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71804         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71805         with the same contents as the _LIBADD variable.
71806         (func_emit_initmacro_start, func_emit_initmacro_end,
71807         func_emit_initmacro_done): New functions.
71808         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71809         gl_LIBOBJS and gl_LTLIBOBJS.
71810
71811 2006-10-11  Bruno Haible  <bruno@clisp.org>
71812
71813         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71814         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71815         autoreconf. Instead, invoke autopoint explicitly but move back the
71816         *.m4 files from gnulib.
71817
71818 2006-10-11  Bruno Haible  <bruno@clisp.org>
71819
71820         * gnulib-tool (func_usage): Make module names after --create-testdir
71821         optional.
71822         (func_create_testdir): If no module was specified, use nearly all
71823         modules.
71824
71825 2006-10-12  Jim Meyering  <jim@meyering.net>
71826
71827         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71828         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71829         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71830         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71831         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71832         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71833         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71834         (fts_set_stat_required): New function.
71835         (fts_open): Defer the calls to fts_stat, if possible or requested.
71836         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71837         into fts_stat itself.
71838         (fts_read): Perform any required (deferred) fts_stat call.
71839         (fts_build): Likewise, for the directory we're about to open and read.
71840         In the readdir loop, carefully decide whether each entry will require
71841         an eventual call to fts_stat, using dirent.d_type info if available.
71842         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71843         a command line argument into this function.  Update all callers.
71844         Map a return value of FTS_DOT to FTS_D for a command line argument.
71845         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71846         Thanks to Miklos Szeredi for his tenacity and for the initial
71847         bug report about "find" failing on a FUSE-based file system.
71848
71849         * lib/fts.c (fts_open): Use consistent indentation.
71850
71851 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71852
71853         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71854         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71855         reported by Jim Meyering.  All uses of cache variables renamed
71856         to match Autoconf's.
71857         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71858         the other one.
71859
71860         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71861         Fix misspelling in diagnostic.
71862
71863 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71864
71865         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71866         defined.  Problem reported by Matthew Woehlke.
71867
71868         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71869         Add support for Tandem NonStop R series.
71870         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71871         Use new macro.
71872
71873         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71874         (has_trailing_slash): Omit size arg; all callers changed.
71875         Omit 'inline', since it doesn't help performance and we'd
71876         need to configure it.
71877         Don't count //, ///, etc. as having a trailing slash.
71878         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71879         (rpl_rename_dest_slash): On failure, use rename's errno rather
71880         than (in some cases) an incorrect or junk errno.
71881         Simplify code by removing need to compute length; this does
71882         cause it to make two passes instead of one over the file name,
71883         but it's worth it.
71884
71885         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71886         change, since Autoconf's version may no longer be appropriate now
71887         that we are using CVS Autoconf's version.  Add support for Tandem.
71888
71889 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71890             Bruno Haible  <bruno@clisp.org>
71891
71892         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71893         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71894         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71895         gl_AC_TYPE_LONG_LONG.
71896
71897         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71898         instead of HAVE_LONG_LONG.
71899         * lib/printf-args.c (printf_fetchargs): Likewise.
71900         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71901         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71902         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71903         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71904         gl_AC_TYPE_LONG_LONG.
71905
71906 2006-10-11  Bruno Haible  <bruno@clisp.org>
71907
71908         * m4/longlong.m4: Add comments.
71909         * m4/ulonglong.m4: Likewise.
71910
71911 2006-10-10  Bruno Haible  <bruno@clisp.org>
71912
71913         Make it possible to #define stpcpy, strdup to aliases.
71914         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71915         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71916
71917 2006-10-10  Bruno Haible  <bruno@clisp.org>
71918
71919         Make it possible to #define gcd to an alias.
71920         * lib/gcd.c: Include config.h.
71921
71922 2006-10-10  Bruno Haible  <bruno@clisp.org>
71923
71924         Make it possible to #define c_isascii to an alias.
71925         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71926         defined. Undefine the macros before defining them, to avoid gcc
71927         warnings.
71928         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71929         define NO_C_CTYPE_MACROS early.
71930
71931 2006-10-10  Bruno Haible  <bruno@clisp.org>
71932
71933         Make it possible to #define set_program_name to an alias.
71934         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71935         ENABLE_RELOCATABLE early.
71936
71937 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71938
71939         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71940         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71941         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71942         More generally, don't assume that 64-bit signed int is available
71943         if unsigned int is, and vice versa.
71944         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71945         unsigned symbols, not on their signed counterparts.
71946         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71947         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71948         (UINT64_C, UINTMAX_C):
71949         Likewise.
71950         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71951         unsigned counterparts.
71952         (Have_long_long, Unsigned): New macros.
71953         (Int): Renamed from INT.
71954         (strtoimax): Use the new macros.
71955         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71956         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71957         * modules/inttypes (inttypes.h): Substitute
71958         HAVE_UNSIGNED_LONG_LONG_INT.
71959         * modules/stdint (stdint.h): Likewise.
71960         (Files): Add m4/ulonglong.m4.
71961
71962 2006-10-10  Bruno Haible  <bruno@clisp.org>
71963
71964         Fix a gcc -Wshadow warning.
71965         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71966         to 'bucket'.
71967         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71968         gl_linked_indexof_from_to): Likewise.
71969         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71970         Likewise.
71971         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71972         Likewise.
71973         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71974         Reported by Eric Blake.
71975
71976 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71977
71978         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71979         for NetBSD.  Problem reported by Bruno Haible.
71980
71981 2006-10-09  Jim Meyering  <jim@meyering.net>
71982
71983         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71984         Patch from Bruno Haible.
71985
71986 2006-10-09  Jim Meyering  <jim@meyering.net>
71987
71988         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71989         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71990         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71991
71992 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71993
71994         Don't include <config.h> twice; this doesn't work in some cases,
71995         e.g., when config.h has "#define intmax_t long long int" and
71996         we include <config.h>, <inttypes.h>, <config.h> in that order.
71997         Problem reported by Matthew Woehlke in:
71998         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71999         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
72000         * lib/fts-cycle.c: Don't include config.h.
72001         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
72002         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
72003         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
72004         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
72005         inttypes.h.
72006         * lib/xstrtoumax.c: Likewise.
72007         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
72008         __strtol and the like, so that this module is more like its siblings.
72009         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
72010         Remove; no longer needed now that we assume gnulib inttypes.h.
72011
72012 2006-10-08  Bruno Haible  <bruno@clisp.org>
72013
72014         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
72015         option.
72016
72017 2006-10-07  Jim Meyering  <jim@meyering.net>
72018
72019         * modules/inttypes (inttypes.h): Revert what seems to have been
72020         an inadvertent part of today's change: use "|", not "/" in the
72021         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
72022
72023 2006-10-07  Bruno Haible  <bruno@clisp.org>
72024
72025         * modules/sublist: New file.
72026
72027 2006-10-07  Bruno Haible  <bruno@clisp.org>
72028
72029         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
72030         * modules/argz (argz.h): Likewise.
72031         * modules/arpa_inet (arpa/inet.h): Likewise.
72032         * modules/byteswap (byteswap.h): Likewise.
72033         * modules/configmake (configmake.h): Likewise.
72034         * modules/fcntl (fcntl.h): Likewise.
72035         * modules/fnmatch (fnmatch.h): Likewise.
72036         * modules/getopt (getopt.h): Likewise.
72037         * modules/glob (glob.h): Likewise.
72038         * modules/inttypes (inttypes.h): Likewise.
72039         * modules/netinet_in (netinet/in.h): Likewise.
72040         * modules/poll (poll.h): Likewise.
72041         * modules/stdbool (stdbool.h): Likewise.
72042         * modules/stdint (stdint.h): Likewise.
72043         * modules/sys_select (sys/select.h): Likewise.
72044         * modules/sys_socket (sys/socket.h): Likewise.
72045         * modules/sys_stat (sys/stat.h): Likewise.
72046         * modules/sysexits (sysexits.h): Likewise.
72047         * modules/unistd (unistd.h): Likewise.
72048         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72049         Add a "DO NOT EDIT" comment to the generated file.
72050         (func_import): Likewise for gnulib-comp.m4.
72051
72052 2006-10-07  Bruno Haible  <bruno@clisp.org>
72053
72054         * lib/gl_sublist.h: New file.
72055         * lib/gl_sublist.c: New file.
72056
72057 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
72058
72059         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
72060         name (relative to the original working directory) and the file
72061         name component (relative to the temporary working directory).  All
72062         callers changed.
72063         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
72064         * lib/mkdir-p.c (make_dir_parents): Likewise.
72065         * lib/mkdir-p.h (make_dir_parents): Likewise.
72066
72067 2006-10-06  Eric Blake  <ebb9@byu.net>
72068
72069         Define several macros for use by the clean-temp module.
72070         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
72071         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
72072         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
72073
72074         * lib/clean-temp.h (close_stream_temp): New declaration.
72075         * lib/clean-temp.c (includes): Pull in headers according to what
72076         other modules are in use.
72077         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
72078
72079 2006-10-06  Bruno Haible  <bruno@clisp.org>
72080
72081         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
72082         instead of fopen, fwriteerror.
72083
72084 2006-10-06  Bruno Haible  <bruno@clisp.org>
72085
72086         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
72087         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
72088         int.
72089         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
72090         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
72091         Return an error indicator.
72092         Suggested by Eric Blake.
72093
72094 2006-10-06  Bruno Haible  <bruno@clisp.org>
72095
72096         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
72097         Reported by Eric Blake.
72098
72099 2006-10-06  Bruno Haible  <bruno@clisp.org>
72100
72101         * modules/closeout (Description): Mention stderr too.
72102
72103 2006-10-06  Bruno Haible  <bruno@clisp.org>
72104         and Paul Eggert  <eggert@cs.ucla.edu>
72105
72106         * lib/closeout.c (close_stdout): Also close stderr.
72107         * lib/closeout.h: Update comment.
72108
72109 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
72110
72111         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
72112         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
72113         * lib/dirchownmod.c: Include lchown.h.
72114         * lib/lchown.c: Don't include files that lchown.h now includes.
72115         Don't declare chown, since lchown.h now does that.
72116         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
72117         (lchown): Define to rpl_chown if lchown is declared but
72118         does not exist.  Declare using a prototype if lchown is not
72119         declared.  Add a copyright notice.
72120         * lib/mkstemp.h: Include <unistd.h>.
72121         * lib/openat.c: Include lchown.h.
72122
72123         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
72124         we now test for that separately.
72125         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
72126         rather than O_NOFOLLOW, when testing whether it's possible to
72127         avoid a race condition reliably.
72128         * lib/savewd.c (savewd_chdir): Likewise.
72129
72130         Remove macros that are no longer needed now that stdint.h is
72131         reliable.
72132         * lib/fsusage.c (UINTMAX_MAX): Remove.
72133         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
72134         * lib/utimecmp.c (SIZE_MAX): Remove.
72135
72136         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
72137
72138         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
72139         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
72140         O_NOATIME works.
72141
72142 2006-10-05  Bruno Haible  <bruno@clisp.org>
72143
72144         * lib/gl_list.h (gl_sortedlist_search_from_to,
72145         gl_sortedlist_indexof_from_to): New declarations.
72146         (gl_list_implementation): New fields sortedlist_search_from_to,
72147         sortedlist_indexof_from_to.
72148         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
72149         inline functions.
72150         * lib/gl_list.c (gl_sortedlist_search_from_to,
72151         gl_sortedlist_indexof_from_to): New functions.
72152         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
72153         function.
72154         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
72155         (gl_array_sortedlist_search_from_to): New function.
72156         (gl_array_list_implementation): Update.
72157         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
72158         function.
72159         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
72160         (gl_carray_sortedlist_search_from_to): New function.
72161         (gl_carray_list_implementation): Update.
72162         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
72163         gl_linked_sortedlist_indexof_from_to): New functions.
72164         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72165         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72166         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
72167         gl_tree_sortedlist_indexof_from_to): New functions.
72168         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72169         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72170         Update.
72171         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72172         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
72173         Update.
72174
72175 2006-10-05  Bruno Haible  <bruno@clisp.org>
72176
72177         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
72178         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
72179         (struct gl_list_implementation): Add fields search_from_to,
72180         indexof_from_to. Remove fields search, indexof.
72181         (gl_list_search): Use the search_from_to method.
72182         (gl_list_search_from, gl_list_search_from_to): New functions.
72183         (gl_list_indexof): Use the indexof_from_to method.
72184         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72185         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
72186         (gl_list_search_from, gl_list_search_from_to): New functions.
72187         (gl_list_indexof): Use the indexof_from_to method.
72188         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72189         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
72190         gl_array_indexof. Add start_index, end_index arguments.
72191         (gl_array_search_from_to): Renamed from gl_array_search. Add
72192         start_index, end_index arguments.
72193         (gl_array_remove, gl_array_list_implementation): Update.
72194         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
72195         gl_carray_indexof. Add start_index, end_index arguments.
72196         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
72197         start_index, end_index arguments.
72198         (gl_carray_remove, gl_carray_list_implementation): Update.
72199         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
72200         gl_linked_search. Add start_index, end_index arguments.
72201         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
72202         start_index, end_index arguments.
72203         (gl_linked_remove): Update.
72204         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72205         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72206         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
72207         field to 'size_t'.
72208         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
72209         gl_tree_search. Add start_index, end_index arguments.
72210         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72211         start_index, end_index arguments.
72212         (gl_tree_remove): Update.
72213         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72214         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72215         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
72216         function.
72217         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
72218         gl_tree_search. Add start_index, end_index arguments.
72219         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72220         start_index, end_index arguments.
72221         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72222         Update.
72223         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
72224
72225 2006-10-05  Bruno Haible  <bruno@clisp.org>
72226
72227         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
72228
72229         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
72230         fwriteerror_temp): New declarations.
72231         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
72232         (descriptors): New variable.
72233         (cleanup): First, close the descriptors.
72234         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72235         fclose_temp, fwriteerror_temp): New functions.
72236
72237 2006-10-04  Jim Meyering  <jim@meyering.net>
72238
72239         * lib/fts.c (fts_open): Tiny comment change.
72240
72241 2006-10-04  Bruno Haible  <bruno@clisp.org>
72242
72243         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72244         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72245         gl_LOCK_BODY.
72246         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72247         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72248         gl_LOCK_EARLY_BODY.
72249         (gl_LOCK): Require gl_LOCK_BODY.
72250
72251 2006-10-04  Bruno Haible  <bruno@clisp.org>
72252
72253         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72254         (gl_oset_search_atleast): New declaration.
72255         (struct gl_oset_implementation): Add field 'search_atleast'.
72256         (gl_oset_search_atleast): New inline function.
72257         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72258         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72259         (gl_array_oset_implementation): Update.
72260         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72261         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72262         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72263
72264 2006-10-04  Bruno Haible  <bruno@clisp.org>
72265
72266         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72267
72268 2006-10-03  Bruno Haible  <bruno@clisp.org>
72269
72270         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72271         from gl_avltreehash_list_implementation.
72272
72273 2006-10-03  Bruno Haible  <bruno@clisp.org>
72274
72275         * lib/gl_oset.c (gl_oset_add): Fix return type.
72276
72277 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72278
72279         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72280
72281 2006-10-02  Eric Blake  <ebb9@byu.net>
72282
72283         * modules/strnlen (Depends-on): Add extensions.
72284
72285 2006-10-02  Eric Blake  <ebb9@byu.net>
72286
72287         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72288         definition in 2.60+.
72289
72290 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72291
72292         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72293         checks.
72294
72295 2006-10-02  Bruno Haible  <bruno@clisp.org>
72296
72297         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72298         to the AUTOMAKE_OPTIONS.
72299         Reported by Jim Meyering.
72300
72301 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72302
72303         Work around bug in Solaris 10 /proc file system:
72304         /proc/self/fd/NNN/.. isn't the parent directory of
72305         the directory whose file descriptor is NNN.  This needs to
72306         be worked around at run time, not compile time, since a
72307         program might be built on Solaris 8, where things work, and
72308         run on Solaris 10.
72309         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72310         to use the following interface instead:
72311         (OPENAT_BUFFER_SIZE): New macro.
72312         (openat_proc_name): New function.
72313         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72314         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72315         Likewise.
72316         * lib/openat-proc.c: New file.
72317         * modules/openat (Files): Add lib/openat-proc.c.
72318         (Depends-on): Add same-inode, stdbool.
72319         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72320
72321 2006-09-29  Bruno Haible  <bruno@clisp.org>
72322
72323         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72324         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72325         argument. Set stdout_closed before testing for ferror, not after.
72326         (fwriteerror, fwriteerror_no_ebadf): New functions.
72327
72328 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72329
72330         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
72331
72332 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
72333
72334         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
72335         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
72336
72337 2006-09-28  Jim Meyering  <jim@meyering.net>
72338
72339         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
72340         Include <unistd.h>.
72341
72342 2006-09-28  Bruno Haible  <bruno@clisp.org>
72343
72344         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
72345         * modules/linkedhash-list (Depends-on): Likewise.
72346         * modules/rbtreehash-list (Depends-on): Likewise.
72347
72348 2006-09-28  Bruno Haible  <bruno@clisp.org>
72349
72350         * lib/strndup.h: Simplify the redefinition of strndup.
72351         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
72352         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72353
72354 2006-09-28  Bruno Haible  <bruno@clisp.org>
72355
72356         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72357         * lib/gl_linkedhash_list.c: Likewise.
72358         * lib/gl_rbtreehash_list.c: Likewise.
72359
72360 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72361
72362         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72363         getaddrinfo.
72364
72365         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72366         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72367         it causes <stdio_ext.h> to cause a compile-time error.
72368         Problem reported by Nelson H. F. Beebe.
72369         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72370         of HAVE_DECL___PENDING.
72371
72372         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72373         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72374         declaration.
72375
72376 2006-09-27  Jim Meyering  <jim@meyering.net>
72377
72378         This file could end up with a definition for a function
72379         named __strndup, rather than rpl_strndup on a system with
72380         incomplete weak_alias support.
72381         * lib/strndup.c (strndup): Rename from __strndup.
72382         Remove #defines that used to map __strndup to strndup.
72383         Don't use K&R prototypes.
72384         Remove LIBC-related code, since this file is not sync'd with glibc.
72385         * lib/strndup.h: Revamp, accordingly.
72386         * m4/strndup.m4: Modernize.
72387
72388 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72389
72390         * modules/savewd (Depends-on): Add 'raise'.
72391         * lib/savewd.c: Include <signal.h>, for 'raise'.
72392
72393 2006-09-26  Jim Meyering  <jim@meyering.net>
72394
72395         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72396         when we detect Darwin 8.7.0's acl_get_file bug.
72397         Rearrange to perform the new (below) run-test while $LIBS
72398         contains any acl-related library.  Set USE_ACL at the end.
72399         (gl_ACL_GET_FILE): New function.
72400
72401 2006-09-26  Eric Blake  <ebb9@byu.net>
72402
72403         * lib/verror.c: Include <config.h> unconditionally.
72404
72405 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72406
72407         * modules/clock-time (Maintainer): Add self.
72408         * modules/getlogin_r (Depends-on): Add extensions.
72409
72410 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72411
72412         * modules/clock-time: New module.
72413         * modules/nanosleep (Depends-on): Add clock-time.
72414         * modules/gethrxtime (Depends-on): Likewise.
72415         * modules/gettime (Depends-on): Likewise.
72416         * modules/settime (Depends-on): Likewise.
72417
72418         * modules/fts-lgpl: Depend on openat.
72419         * modules/mkancesdirs: Depend on savewd.
72420         * modules/mkdir-p: Likewise.
72421
72422 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72423
72424         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72425
72426         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72427         `gl_have_arbitrary_file_name_length_limit' to
72428         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72429         actually works between configure runs.
72430
72431 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72432             Bruno Haible  <bruno@clisp.org>
72433
72434         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72435
72436 2006-09-25  Jim Meyering  <jim@meyering.net>
72437
72438         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72439         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72440
72441 2006-09-25  Eric Blake  <ebb9@byu.net>
72442
72443         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72444         exec's in 2006-09-18 patch when shuffling fds.
72445
72446 2006-09-25  Bruno Haible  <bruno@clisp.org>
72447
72448         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72449         Reported by Jim Meyering.
72450
72451 2006-09-24  Jim Meyering  <jim@meyering.net>
72452
72453         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72454         compare a pointer against a literal "0".  That caused failures with
72455         at least HP-UX's hpcc.
72456
72457 2006-09-22  Simon Josefsson  <jas@extundo.com>
72458
72459         * modules/gc-sha1:
72460         * modules/gc-md4:
72461         * modules/gc-hmac-sha1:
72462         * modules/gc-hmac-md5:
72463         * modules/gc-des:
72464         * modules/gc-arcfour: Distribute more files.
72465
72466 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72467
72468         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72469         (gl_linked_iterator_from_to): Initialize struct completely.
72470         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72471         (gl_tree_iterator_from_to): Likewise
72472         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72473         * lib/gl_array_list.c [lint] (gl_array_iterator)
72474         (gl_array_iterator_from_to): Likewise.
72475         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72476         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72477         (gl_carray_iterator_from_to): Likewise.
72478
72479         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72480         * lib/md4.c (md4_process_block): Remove unused variable.
72481         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72482         parentheses for clarity.
72483
72484 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72485
72486         * modules/bison-i18n (Depends-on): Add gettext.
72487
72488 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72489
72490         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72491         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72492         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72493         also add missing comma that caused broken test.
72494         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72495         stdlib.h, for `abort'.
72496         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72497         variables.
72498         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72499         include unistd.h if present, for `rmdir'.
72500         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72501         variables.
72502         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72503         in the process include standard headers for prototypes.
72504         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72505         gets declared on GNU/Linux.
72506         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72507         unistd.h, for `rmdir'.
72508         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72509
72510         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72511         always true.
72512         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72513
72514         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72515
72516 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72517
72518         * gnulib-tool (func_version): Create output all at once.  This
72519         may help avoid triggering unnecessary SIGPIPEs, and at any
72520         rate it doesn't hurt.
72521
72522 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72523             Bruno Haible  <bruno@clisp.org>
72524
72525         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72526         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72527         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72528
72529         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72530         (gl_FUNC_VASPRINTF): Invoke it.
72531
72532 2006-09-22  Bruno Haible  <bruno@clisp.org>
72533
72534         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72535         getloadavg.c as first argument.
72536
72537 2006-09-22  Bruno Haible  <bruno@clisp.org>
72538
72539         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72540         at the beginning of the gl_INIT macro.
72541         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72542         gl_GETLOADAVG.
72543
72544 2006-09-22  Bruno Haible  <bruno@clisp.org>
72545
72546         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72547         module.
72548         Suggested by Ralf Wildenhues.
72549
72550 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72551
72552         Import this patch from libc:
72553
72554         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72555
72556         * lib/regex_internal.c (re_string_reconstruct): Handle
72557         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72558         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72559         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72560         re_string_context_at.
72561
72562         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72563         now requires it.
72564         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72565         gl_REGEX now does it for us.
72566         (gl_REGEX): Add test taken from
72567         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72568
72569         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72570         Check that large offsets work.  Modernize Autoconf usages.
72571         Prefer "yes" to mean a good thing rather than a bad.
72572         Don't put "#define mkstemp" in config.h, as this might interfere
72573         with standard system headers that "#define mkstemp mkstemp64".
72574
72575         * modules/mkstemp (Depends-on): Add extensions, so that
72576         mkstemp is visible on some platforms.
72577         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72578         (Include): Change to "mkstemp.h" from <stdlib.h>.
72579         (Files): Add mkstemp.h.
72580
72581         * lib/mkstemp.h: New file, since some standard headers
72582         #define mkstemp.
72583         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72584         Include "mkstemp.h".
72585         Make the _LIBC code resemble glibc original more,
72586         e.g., use K&R style.
72587         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72588         (mkstemp): Remove, since mkstemp.h does this for us.
72589         * lib/stdlib--.h: Include mkstemp.h.
72590
72591         Import this patch from libc:
72592
72593         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72594
72595         * lib/tempname.c (__gen_tempname): Change attempts_min
72596         into a macro.  Use preprocessor to decide how to initialize
72597         attempts [Coverity CID 67].
72598
72599 2006-09-20  Bruno Haible  <bruno@clisp.org>
72600
72601         * lib/mkdtemp.c: Import from libc.
72602         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72603                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72604                 attempts_min into a macro.  Use preprocessor to decide how to
72605                 initialize attempts [Coverity CID 67].
72606         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72607                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72608                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72609
72610 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72611
72612         * gnulib-tool (func_exit): New function, to allow to pass the
72613         exit status portably through the trap.  Use everywhere.
72614         (--help, --version): Signal a write error.
72615         (trap): catch SIGPIPE, for write errors.
72616         Exit at the end of the trap, with the correct exit status.
72617
72618 2006-09-19  Karl Berry  <karl@gnu.org>
72619
72620         * doc/gnulib.texi: note about the license texinfo files.
72621
72622 2006-09-19  Eric Blake  <ebb9@byu.net>
72623
72624         * gnulib-tool: Avoid space-tab.
72625
72626 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72627
72628         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72629         that prevented coreutils 6.1 from building.  Problem reported
72630         by Petter Reinholdtsen.
72631
72632 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72633
72634         * gnulib-tool (avoidlist): Fix typo that broke options like
72635         --avoid=lock that are used by coreutils bootstrap.
72636
72637 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72638
72639         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72640         more systematically.
72641
72642 2006-09-18  Jim Meyering  <jim@meyering.net>
72643
72644         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72645
72646 2006-09-18  Bruno Haible  <bruno@clisp.org>
72647
72648         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72649
72650 2006-09-18  Bruno Haible  <bruno@clisp.org>
72651
72652         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72653         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72654         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72655         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72656         * m4/gettext.m4: Require autoconf >= 2.52.
72657         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72658         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72659         of gl_cv_header_inttypes_h.
72660
72661 2006-09-18  Bruno Haible  <bruno@clisp.org>
72662
72663         * lib/javaversion.c: Include configmake.h.
72664
72665 2006-09-18  Bruno Haible  <bruno@clisp.org>
72666
72667         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72668         avoid that the while loops be executed in a subshell.
72669
72670 2006-09-18  Bruno Haible  <bruno@clisp.org>
72671
72672         * MODULES.html.sh (func_module): Break long lines.
72673         Suggested by Bruce Korb <bkorb@gnu.org>.
72674
72675 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72676
72677         Speed up by a factor of 1.12.
72678         * gnulib-tool (nl): New variable.
72679         (func_import): Rewrite include directive extraction to only read each
72680         directive once.
72681
72682 2006-09-17  Bruno Haible  <bruno@clisp.org>
72683
72684         * modules/javaversion (Makefile.am): Remove DEFS setting.
72685         (Depends-on): Add configmake, for PKGDATADIR definition.
72686
72687 2006-09-17  Bruno Haible  <bruno@clisp.org>
72688
72689         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72690
72691 2006-09-17  Bruno Haible  <bruno@clisp.org>
72692
72693         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72694         (func_modules_transitive_closure, func_modules_add_dummy,
72695         func_modules_to_filelist, func_import, func_create_testdir,
72696         func_create_megatestdir, ...): Use it wherever possible.
72697         Suggested by Ralf Wildenhues.
72698
72699 2006-09-16  Karl Berry  <karl@gnu.org>
72700
72701         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72702         to avoid sectioning errors.
72703         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72704         [ifinfo]: blank line after @center-ed titles.
72705         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72706         Spell FSF address consistently with others.
72707         (These changes approved by rms.)
72708
72709 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72710
72711         Speed up by a factor of 1.61.
72712         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72713         already checked module names again.
72714
72715 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72716
72717         Speed up by a factor of 1.13.
72718         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72719         for new_files, and the input to func_add_or_update.
72720
72721 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72722
72723         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72724         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72725
72726 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72727
72728         * modules/mkancesdirs (Depends-on): Add fcntl.
72729         * modules/savewd: New file.
72730         * MODULES.html.sh (File system functions): Add savewd.
72731
72732         * modules/configmake (Makefile.am): Add support for the
72733         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72734
72735 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72736
72737         * m4/savewd.m4: New file.
72738
72739 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72740
72741         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72742         (dirchownmod): New arg FD.  All callers changed.
72743         Use FD rather than opening the directory ourself, as opening is
72744         now the caller's responsibility.
72745         * lib/dirchownmod.h: Likewise.
72746         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72747         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72748         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72749         (test_dir): Remove.
72750         (mkancesdirs): Return length of prefix of FILE that has already
72751         been made, or -2 if there is a child doing the work.  Redo
72752         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72753         ".", and treat ".." specially since it might stray back into
72754         already-created areas.  Use a subprocess if necessary.  New arg
72755         WD; all users changed.  MAKE_DIR function should now return 1
72756         if it creates a directory that is not readable.  Return -2 if
72757         a child process is spun off.
72758         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72759         Adjust signature to match code.
72760         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72761         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72762         all users changed.
72763         * lib/savewd.c, lib/savewd.h: New files.
72764
72765 2006-09-15  Jim Meyering  <jim@meyering.net>
72766
72767         * modules/rename-dest-slash: New module.
72768         * MODULES.html.sh (posix_compat): Add it here.
72769
72770         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72771
72772 2006-09-15  Jim Meyering  <jim@meyering.net>
72773
72774         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72775         file.
72776
72777         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72778
72779 2006-09-15  Jim Meyering  <jim@meyering.net>
72780
72781         * lib/rename-dest-slash.c (has_trailing_slash): Use
72782         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72783         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72784         test before testing whether SRC is a directory.
72785         Suggestions from Bruno Haible.
72786
72787         Avoid a warning about an unused variable.
72788         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72789         into the #ifdef block where it's used.
72790
72791         * lib/rename-dest-slash.c: New file.
72792
72793 2006-09-14  Bruno Haible  <bruno@clisp.org>
72794
72795         * lib/allocsa.c: Include <config.h> unconditionally.
72796         * lib/asnprintf.c: Likewise.
72797         * lib/asprintf.c: Likewise.
72798         * lib/c-strcasecmp.c: Likewise.
72799         * lib/c-strcasestr.c: Likewise.
72800         * lib/c-strncasecmp.c: Likewise.
72801         * lib/c-strstr.c: Likewise.
72802         * lib/classpath.c: Likewise.
72803         * lib/clean-temp.c: Likewise.
72804         * lib/concatpath.c: Likewise.
72805         * lib/copy-file.c: Likewise.
72806         * lib/csharpcomp.c: Likewise.
72807         * lib/csharpexec.c: Likewise.
72808         * lib/execute.c: Likewise.
72809         * lib/fatal-signal.c: Likewise.
72810         * lib/findprog.c: Likewise.
72811         * lib/fwriteerror.c: Likewise.
72812         * lib/gl_array_list.c: Likewise.
72813         * lib/gl_array_oset.c: Likewise.
72814         * lib/gl_avltree_list.c: Likewise.
72815         * lib/gl_avltree_oset.c: Likewise.
72816         * lib/gl_avltreehash_list.c: Likewise.
72817         * lib/gl_carray_list.c: Likewise.
72818         * lib/gl_linked_list.c: Likewise.
72819         * lib/gl_linkedhash_list.c: Likewise.
72820         * lib/gl_list.c: Likewise.
72821         * lib/gl_oset.c: Likewise.
72822         * lib/gl_rbtree_list.c: Likewise.
72823         * lib/gl_rbtree_oset.c: Likewise.
72824         * lib/gl_rbtreehash_list.c: Likewise.
72825         * lib/imaxabs.c: Likewise.
72826         * lib/imaxdiv.c: Likewise.
72827         * lib/javacomp.c: Likewise.
72828         * lib/javaexec.c: Likewise.
72829         * lib/javaversion.c: Likewise.
72830         * lib/linebreak.c: Likewise.
72831         * lib/localcharset.c: Likewise.
72832         * lib/lock.c: Likewise.
72833         * lib/mbchar.c: Likewise.
72834         * lib/mbswidth.c: Likewise.
72835         * lib/mkdtemp.c: Likewise.
72836         * lib/pipe.c: Likewise.
72837         * lib/printf-args.c: Likewise.
72838         * lib/printf-parse.c: Likewise.
72839         * lib/progname.c: Likewise.
72840         * lib/progreloc.c: Likewise.
72841         * lib/readlink.c: Likewise.
72842         * lib/sh-quote.c: Likewise.
72843         * lib/stpcpy.c: Likewise.
72844         * lib/stpncpy.c: Likewise.
72845         * lib/strcasecmp.c: Likewise.
72846         * lib/strcasestr.c: Likewise.
72847         * lib/strcspn.c: Likewise.
72848         * lib/striconv.c: Likewise.
72849         * lib/strncasecmp.c: Likewise.
72850         * lib/strnlen1.c: Likewise.
72851         * lib/strstr.c: Likewise.
72852         * lib/strtok_r.c: Likewise.
72853         * lib/tls.c: Likewise.
72854         * lib/tmpdir.c: Likewise.
72855         * lib/unicodeio.c: Likewise.
72856         * lib/unsetenv.c: Likewise.
72857         * lib/vasnprintf.c: Likewise.
72858         * lib/vasprintf.c: Likewise.
72859         * lib/wait-process.c: Likewise.
72860         * lib/xallocsa.c: Likewise.
72861         * lib/xsetenv.c: Likewise.
72862         * lib/xstriconv.c: Likewise.
72863
72864 2006-09-13  Simon Josefsson  <jas@extundo.com>
72865
72866         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72867         that internally, suggested by Ralf Wildenhues
72868         <Ralf.Wildenhues@gmx.de>.
72869
72870 2006-09-13  Simon Josefsson  <jas@extundo.com>
72871
72872         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72873         @LIBOBJS@.
72874         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72875
72876 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72877
72878         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72879         longer worry about uses that don't define HAVE_CONFIG_H.
72880         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72881         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72882         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72883         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72884         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72885         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72886         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72887         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72888         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72889         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72890         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72891         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72892         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72893         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72894         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72895         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72896         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72897         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72898         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72899         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72900         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72901         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72902         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72903         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72904         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72905         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72906         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72907         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72908         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72909         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72910         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72911         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72912         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72913         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72914         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72915         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72916         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72917         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72918         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72919         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72920         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72921         Likewise.
72922
72923 2006-09-13  Eric Blake  <ebb9@byu.net>
72924
72925         * lib/getopt.c: Fix typo in last commit.
72926
72927 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72928
72929         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72930         dgettext.
72931
72932 2006-09-12  Jim Meyering  <jim@meyering.net>
72933
72934         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72935         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72936         Reported by Nelson H. F. Beebe.
72937
72938 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72939
72940         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72941         program_invocation_name and program_invocation_short_name are
72942         initialized.
72943         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72944         and program_invocation_short_name to argp.h, so they are visible
72945         to user programs.
72946         * lib/argp.h: Likewise
72947
72948 2006-09-10  Bruno Haible  <bruno@clisp.org>
72949
72950         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72951         m4/inttypes_h.m4, m4/uintmax_t.m4.
72952
72953 2006-09-10  Bruno Haible  <bruno@clisp.org>
72954
72955         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72956         gl_AC_TYPE_UINTMAX_T.
72957
72958 2006-09-10  Bruno Haible  <bruno@clisp.org>
72959
72960         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72961
72962 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72963
72964         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72965         convention.  Text proposed by Bruno Haible.
72966         (struct argp_option): Document the use of N_() wrappers.
72967
72968         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72969         '\v', and translate the two parts separately, instead of feeding
72970         the whole string to gettext.  This allows to exclude
72971         '\v' from the strings visible to the translator by writing doc
72972         strings as N_("..") "\v" N_("..").
72973
72974 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72975
72976         * config/srclist.txt: Undo latest change; the bug was fixed.
72977
72978 2006-09-09  Bruno Haible  <bruno@clisp.org>
72979
72980         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72981         assignments if building a library without libtool.
72982         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72983         in func_emit_lib_Makefile_am.
72984         (func_import): When building a static library libfoo.a, arrange to
72985         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72986         (func_create_testdir): Likewise.
72987         * modules/gc (configure.ac, Makefile.am): If building statically,
72988         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72989         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72990         * modules/striconv (configure.ac, Makefile.am): Likewise.
72991         Based on a suggestion by Ralf Wildenhues.
72992
72993 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72994
72995         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72996         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72997         Also:
72998
72999         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73000         Add year_2050_test to catch glibc bug 2821
73001         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
73002
73003         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73004         Prefer #ifdef to #if.
73005
73006         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
73007         Return from 'main' instead of calling 'exit'.
73008
73009 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73010
73011         * lib/mktime.c (guess_time_tm): Fix bug where mktime
73012         returned the maximum time_t value rather than (time_t) -1.
73013         Problem originally reported by William Bardwell
73014         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
73015
73016         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
73017         Moved to here ...
73018         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
73019         ... from here.
73020
73021 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
73022
73023         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
73024         2821 is fixed.
73025
73026 2006-09-08  Jim Meyering  <jim@meyering.net>
73027
73028         Don't make generated files read-only.  That would bother too many
73029         people.  However, do retain the ability to work when targets are
73030         read-only: remove the destination and temporary files before writing
73031         them (when generated via sed or echo), or by using the -f option for
73032         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
73033         * modules/alloca-opt, modules/argz, modules/arpa_inet:
73034         * modules/byteswap, modules/configmake, modules/fcntl:
73035         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
73036         * modules/localcharset, modules/netinet_in, modules/poll:
73037         * modules/stdbool, modules/stdint, modules/sys_select:
73038         * modules/sys_socket, modules/sys_stat, modules/sysexits:
73039
73040 2006-09-08  Jim Meyering  <jim@meyering.net>
73041
73042         Avoid new build failure on FreeBSD 6.0.
73043         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
73044         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
73045         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
73046
73047 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73048
73049         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
73050
73051 2006-09-07  Jim Meyering  <jim@meyering.net>
73052
73053         Fix global typo in last change: use chmod u-w, not chmod u-x.
73054         Spotted by Paul Eggert and Bruce Korb.
73055         * modules/alloca-opt, modules/argz, modules/arpa_inet:
73056         * modules/byteswap, modules/configmake, modules/fcntl:
73057         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
73058         * modules/localcharset, modules/netinet_in, modules/poll:
73059         * modules/stdbool, modules/stdint, modules/sys_select:
73060         * modules/sys_socket, modules/sys_stat, modules/sysexits:
73061
73062 2006-09-06  Jim Meyering  <jim@meyering.net>
73063
73064         Make generated files be read-only.
73065         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
73066         Ensure that each generated file is now read-only.
73067         * modules/argz: Likewise.
73068         * modules/arpa_inet: Likewise.
73069         * modules/byteswap: Likewise.
73070         * modules/configmake: Likewise.
73071         * modules/fcntl: Likewise.
73072         * modules/fnmatch: Likewise.
73073         * modules/getopt: Likewise.
73074         * modules/glob: Likewise.
73075         * modules/inttypes: Likewise.
73076         * modules/netinet_in: Likewise.
73077         * modules/poll: Likewise.
73078         * modules/stdbool: Likewise.
73079         * modules/stdint: Likewise.
73080         * modules/sys_select: Likewise.
73081         * modules/sys_socket: Likewise.
73082         * modules/sys_stat: Likewise.
73083         * modules/sysexits: Likewise.
73084         * modules/localcharset: Same as above, but continue using temporary
73085         file named "t-$@" (why different?) rather than the "$@-t" used
73086         everywhere else.
73087
73088         * modules/sysexits (Makefile.am): Replace literal occurrences
73089         of "sysexit.h" more readable, and more consistent, "$@".
73090
73091 2006-09-06  Bruno Haible  <bruno@clisp.org>
73092
73093         * modules/striconv: New file.
73094         * modules/xstriconv: New file.
73095         * MODULES.html.sh (Internationalization functions): Add striconv,
73096         xstriconv.
73097
73098 2006-09-06  Bruno Haible  <bruno@clisp.org>
73099
73100         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
73101         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
73102         not using libtool correctly.
73103
73104 2006-09-06  Bruno Haible  <bruno@clisp.org>
73105
73106         * lib/striconv.h: New file.
73107         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
73108         iconvstring.c.
73109         * lib/xstriconv.h: New file.
73110         * lib/xstriconv.c: New file.
73111
73112 2006-09-06  Bruno Haible  <bruno@clisp.org>
73113
73114         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73115         lib_..._LDFLAGS.
73116
73117 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73118
73119         * lib/argz_.h: Sync from Libtool.
73120
73121         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
73122                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73123
73124         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
73125
73126 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
73127
73128         * modules/trim: New file.
73129
73130 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
73131
73132         * lib/trim.h: New file.
73133         * lib/trim.c: New file.
73134
73135 2006-09-05  Bruno Haible  <bruno@clisp.org>
73136
73137         * MODULES.html.sh (String handling): Add trim.
73138
73139 2006-09-04  Karl Berry  <karl@gnu.org>
73140
73141         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
73142         until next release.
73143
73144 2006-09-03  Bruno Haible  <bruno@clisp.org>
73145
73146         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
73147         correctly.
73148
73149 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73150
73151         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
73152         not gl_GETLOADAVG.  Omit unneeded semicolons.
73153         Problems reported by Ralf Wildenhues in
73154         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73155         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
73156         at the end, which is the usual gnulib style.
73157
73158         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
73159         of doing all the work ourselves.
73160         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
73161         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
73162
73163 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73164
73165         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
73166         Problem reported by Ralf Wildenhues in
73167         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73168
73169         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
73170         HAVE_STRUCT_STATFS_F_FSTYPENAME.
73171
73172 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73173
73174         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
73175         yesterday's patch by changing test -n to test -z.
73176
73177 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73178
73179         * modules/getloadavg (Files): Add m4/getloadavg.m4.
73180         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
73181         the former is now obsolescent.
73182
73183         * modules/chdir-long (Depends-on): Add fcntl.
73184
73185 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73186
73187         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
73188         obsolescent, and programs should use gnulib instead.
73189         * m4/getloadavg.m4: New file, with contents taken from Autoconf
73190         but with prefixes changed.
73191
73192 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73193
73194         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
73195         or stdbool.h, because they might not exist while configuring.
73196
73197         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
73198         Don't include unistd.h or limits.h; not needed, since chdir-long.h
73199         does that for us.
73200         (O_DIRECTORY): Remove.
73201
73202 2006-08-31  Eric Blake  <ebb9@byu.net>
73203
73204         * gnulib-tool: Don't let emacs change spaces to TAB.
73205
73206 2006-08-31  Bruno Haible  <bruno@clisp.org>
73207
73208         * gnulib-tool: When calling func_import more than once, do it in a
73209         subshell.
73210         Reported by Eric Blake <ebb9@byu.net>.
73211
73212 2006-08-31  Bruno Haible  <bruno@clisp.org>
73213
73214         * gnulib-tool (nl): Remove variable.
73215         (sed_transform_lib_file): Use more robust test for config-h module.
73216         (func_import): Fix typo in 2006-08-25 patch.
73217
73218 2006-08-31  Bruno Haible  <bruno@clisp.org>
73219
73220         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
73221         specified, augment Makefile.am variables instead of assigning them.
73222
73223 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73224
73225         Work around a bug in both the Linux and SunOS 64-bit kernels:
73226         nanosleep mishandles sleeps for longer than 2**31 seconds.
73227         Problem reported by Frank v Waveren in
73228         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73229         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
73230         Check for nanosleep bug.
73231         (LIB_NANOSLEEP): Append clock_gettime library if needed.
73232
73233 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73234
73235         Work around a bug in both the Linux and SunOS 64-bit kernels:
73236         nanosleep mishandles sleeps for longer than 2**31 seconds.
73237         Problem reported by Frank v Waveren in
73238         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73239         * lib/nanosleep.c (BILLION): New constant.
73240         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73241         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73242         implementation.
73243
73244 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73245
73246         * modules/nanosleep (Depends-on): Add gettime.
73247
73248 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73249         and Simon Josefsson  <jas@extundo.com>
73250         and Oskar Liljeblad  <oskar@osk.mine.nu>
73251
73252         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73253         * gnulib-tool (func_import): New license type 'unmodifiable license
73254         text'.
73255         * modules/fdl: Use it.  Longer description.
73256         * module/gpl, module/lgpl: New files.
73257
73258 2006-08-30  Jim Meyering  <jim@meyering.net>
73259
73260         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73261         shadowing the parameter.
73262
73263 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73264
73265         Sync from Libtool:
73266
73267         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73268
73269         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73270         sharing with gnulib.  Report by Eric Blake.
73271
73272 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73273
73274         * modules/isapipe: New file.
73275         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73276
73277 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73278
73279         * modules/configmake (Makefile.am): Add a comment, and omit
73280         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73281         by Bruno Haible.
73282
73283 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73284
73285         * m4/isapipe.m4: New file.
73286
73287 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73288
73289         * lib/isapipe.c, lib/isapipe.h: New files.
73290
73291 2006-08-29  Jim Meyering  <jim@meyering.net>
73292
73293         * modules/configmake (Makefile.am): Make configmake.h depend on
73294         Makefile.  Otherwise, a stale configmake.h could hang around.
73295
73296 2006-08-29  Eric Blake  <ebb9@byu.net>
73297
73298         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73299         resolution of upstream bug 3044.
73300
73301 2006-08-29  Bruno Haible  <bruno@clisp.org>
73302
73303         * modules/localcharset (Depends-on): Add configmake.
73304         (Makefile.am): Remove setting of LIBDIR through DEFS.
73305
73306 2006-08-29  Bruno Haible  <bruno@clisp.org>
73307
73308         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73309         defined.
73310
73311 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73312
73313         * modules/fcntl: New file.
73314         * modules/chdir-safer (Depends-on): Add fcntl.
73315         * modules/fts: Likewise.
73316         * modules/mkdir-p: Likewise.
73317
73318         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73319         This undoes the most recent change, since we're now addressing the
73320         problem in a different way.
73321
73322         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73323         into output, since the output might be called Makefile.am even
73324         if $makefile_name is something different.
73325         (func_import): Use $makefile_am rather than
73326         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73327         empty.
73328
73329         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73330
73331 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73332
73333         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
73334         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
73335         recent change to stdint.m4, since we're now addressing the problem in a
73336         different way.
73337
73338 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73339
73340         * m4/fcntl_h.m4: New file.
73341
73342 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73343
73344         * lib/fcntl_.h: New file.
73345         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
73346         the fcntl module.
73347         * lib/dirchownmod.c: Likewise.
73348         * lib/fts.c: Likewise.
73349
73350         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
73351         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
73352         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73353         just before including <inttypes.h>, to avoid circular inclusion.
73354
73355 2006-08-28  Jim Meyering  <jim@meyering.net>
73356
73357         * doc/visibility.texi: Actually read and correct the grammar of the
73358         sentence affected by yesterday's change.
73359
73360 2006-08-28  Eric Blake  <ebb9@byu.net>
73361
73362         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73363         needs wrapper.
73364
73365 2006-08-28  Eric Blake  <ebb9@byu.net>
73366
73367         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73368
73369 2006-08-28  Eric Blake  <ebb9@byu.net>
73370
73371         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73372
73373 2006-08-28  Bruno Haible  <bruno@clisp.org>
73374
73375         * modules/c-strstr: New file, from GNU gettext.
73376         * MODULES.html.sh (String handling): Add c-strstr.
73377
73378 2006-08-28  Bruno Haible  <bruno@clisp.org>
73379
73380         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73381         macros.
73382         Reported by Eric Blake.
73383
73384 2006-08-28  Bruno Haible  <bruno@clisp.org>
73385
73386         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73387         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73388         * lib/vasprintf.c: Include errno.h, limits.h.
73389         (EOVERFLOW): New fallback definition.
73390         (vasprintf): Test here whether the string length is > INT_MAX.
73391         * lib/vsnprintf.c: Include errno.h, limits.h.
73392         (EOVERFLOW): New fallback definition.
73393         (vsnprintf): Fix bug when generated string was too long for the buffer.
73394         Test here whether the string length is > INT_MAX.
73395
73396 2006-08-28  Bruno Haible  <bruno@clisp.org>
73397
73398         * lib/inttypes_.h (SCNX*): Remove definitions.
73399         Reported by Eric Blake.
73400
73401 2006-08-28  Bruno Haible  <bruno@clisp.org>
73402
73403         * lib/c-strstr.h: New file, from GNU gettext.
73404         * lib/c-strstr.c: New file, from GNU gettext.
73405
73406 2006-08-28  Bruno Haible  <bruno@clisp.org>
73407
73408         * gnulib-tool: Reorder some statements.
73409
73410 2006-08-28  Bruno Haible  <bruno@clisp.org>
73411
73412         * gnulib-tool: New option --makefile-name.
73413         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73414         $makefile_name.
73415         (func_import): Write $makefile_name to the cache file, and read it from
73416         there unless explicitly specified. Use $makefile_name as file name
73417         instead of Makefile.am. Adjust the recommendations accordingly.
73418
73419 2006-08-28  Bruno Haible  <bruno@clisp.org>
73420
73421         * gnulib-tool (func_verify_module): Check against misapplying patch.
73422
73423 2006-08-28  Bruno Haible  <bruno@clisp.org>
73424
73425         * gnulib-tool (func_relativize, func_relconcat): New functions.
73426         Give an error if --local-dir is given with --update.
73427         Remove trailing slashes from $local_gnulib_dir.
73428         (func_import): Store the relativized $local_gnulib_dir in
73429         gnulib-cache.m4, and read it from there if not specified explicitly.
73430
73431 2006-08-28  Bruno Haible  <bruno@clisp.org>
73432
73433         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73434         is the current directory. Respect also $local_gnulib_dir.
73435
73436 2006-08-28  Bruno Haible  <bruno@clisp.org>
73437             Simon Josefsson  <jas@extundo.com>
73438
73439         BeOS portability.
73440         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73441
73442 2006-08-27  Jim Meyering  <jim@meyering.net>
73443
73444         * doc/visibility.texi: Remove duplicate word: "pointer".
73445
73446 2006-08-26  Bruno Haible  <bruno@clisp.org>
73447
73448         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73449         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73450         (Makefile.am): Create inttypes.h from inttypes_.h.
73451         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73452
73453         * modules/imaxabs: New file.
73454
73455         * modules/imaxdiv: New file.
73456
73457 2006-08-26  Bruno Haible  <bruno@clisp.org>
73458
73459         * m4/inttypes.m4: New file.
73460         * m4/_inttypes_h.m4: Remove file.
73461         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73462         PRI_MACROS_BROKEN.
73463         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73464
73465         * m4/imaxabs.m4: New file.
73466
73467         * m4/imaxdiv.m4: New file.
73468
73469 2006-08-26  Bruno Haible  <bruno@clisp.org>
73470
73471         * lib/inttypes_.h: New file.
73472         * lib/inttypes.h: Remove file.
73473         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73474
73475         * lib/imaxabs.c: New file.
73476
73477         * lib/imaxdiv.c: New file.
73478
73479 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73480
73481         New config-h module, so that "make" output needn't be cluttered
73482         by -DHAVE_CONFIG_H.
73483         * MODULES.html.sh (Support for building libraries and executables):
73484         Add config-h.
73485         * modules/config-h: New file.
73486         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73487         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73488         the config-h module is used.
73489
73490         New configmake module, so that "make" output needn't be cluttered
73491         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73492         * MODULES.html.sh (Support for building libraries and executables):
73493         Add configmake.
73494         * modules/configmake: New file.
73495
73496 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73497
73498         * m4/config-h.m4: New file.
73499
73500 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73501
73502         * config/srclist.txt: Add elisp-comp.
73503
73504 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73505
73506         * MODULES.html.sh (Support for building libraries and executables):
73507         Add elisp-comp.
73508         * build-aux/elisp-comp: New file.
73509         * modules/elisp-comp: New file.
73510
73511 2006-08-24  Bruno Haible  <bruno@clisp.org>
73512
73513         * gnulib-tool (func_create_testdir): Use non-default values of
73514         sourcebase and m4base.
73515
73516 2006-08-24  Bruno Haible  <bruno@clisp.org>
73517
73518         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73519         HTML structure.
73520
73521 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73522
73523         * modules/openat (Depends-on): Add lchown.
73524
73525 2006-08-23  Bruno Haible  <bruno@clisp.org>
73526
73527         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73528         of gl_LOCK_EARLY instead of gl_LOCK.
73529
73530 2006-08-23  Bruno Haible  <bruno@clisp.org>
73531
73532         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73533         on OSF/1 to no.
73534         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73535
73536 2006-08-23  Bruno Haible  <bruno@clisp.org>
73537
73538         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73539         as unusable.
73540
73541         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73542         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73543         (gl_LOCK): New macro.
73544
73545 2006-08-22  Simon Josefsson  <jas@extundo.com>
73546
73547         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73548         to md5 module.
73549
73550 2006-08-22  Simon Josefsson  <jas@extundo.com>
73551
73552         * MODULES.html.sh: Add "Support for maintaining and release
73553         projects".
73554
73555         * build-aux/gnupload: New file, from coreutils.
73556
73557 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73558
73559         Avoid the need for AC_LIBSOURCES in m4 macros.
73560         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73561         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73562         * modules/check-version (EXTRA_DIST): Add check-version.h.
73563         * modules/crc (EXTRA_DIST): Add crc.h.
73564         * modules/des (EXTRA_DIST): Add des.h.
73565         * modules/gc (EXTRA_DIST): Add gc.h.
73566         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73567         * modules/getline (EXTRA_DIST): Add getline.h.
73568         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73569         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73570         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73571         * modules/md2 (EXTRA_DIST): Add md2.h.
73572         * modules/md4 (EXTRA_DIST): Add md4.h.
73573         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73574         * modules/read-file (EXTRA_DIST): Add read-file.h.
73575         * modules/readline (EXTRA_DIST): Add readline.h.
73576         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73577         rijndael-api-fst.h.
73578
73579 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73580
73581         * m4/rijndael.m4 (gl_ARCFOUR):
73582         * m4/arctwo.m4 (gl_ARCTWO):
73583         * m4/check-version.m4 (gl_CHECK_VERSION):
73584         * m4/crc.m4 (gl_CRC):
73585         * m4/des.m4 (gl_DES):
73586         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73587         * m4/gc.m4 (gl_GC):
73588         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73589         * m4/getline.m4 (gl_FUNC_GETLINE):
73590         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73591         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73592         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73593         * m4/md2.m4 (gl_MD2):
73594         * m4/md4.m4 (gl_MD4):
73595         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73596         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73597         * m4/readline.m4 (gl_FUNC_READLINE):
73598         * m4/rijndael.m4 (gl_RIJNDAEL):
73599         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73600         to get the necessary .h files and whatnot.
73601
73602 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73603
73604         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73605         gnulib rather than the other way around.
73606         * config/srclistvars.sh (COREUTILS): Remove.
73607
73608 2006-08-22  Jim Meyering  <jim@meyering.net>
73609
73610         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73611
73612         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73613
73614 2006-08-22  Eric Blake  <ebb9@byu.net>
73615
73616         * modules/regexprops-generic: New file.
73617         * MODULES.html.sh (Support for building documentation): List it.
73618
73619 2006-08-22  Eric Blake  <ebb9@byu.net>
73620
73621         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73622         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73623         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73624         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73625
73626 2006-08-22  Bruno Haible  <bruno@clisp.org>
73627
73628         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73629         and lib_LTLIBRARIES like the other lib_* variables.
73630
73631 2006-08-22  Bruno Haible  <bruno@clisp.org>
73632
73633         * build-aux/x-to-1.in: New file, from GNU gettext.
73634
73635 2006-08-22  Bruno Haible  <bruno@clisp.org>
73636
73637         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73638         <utmpx.h> exists.
73639
73640 2006-08-22  Bruno Haible  <bruno@clisp.org>
73641
73642         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73643         <utmpx.h> exists.
73644
73645 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73646
73647         BeOS portability.
73648         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73649         exist.
73650         Problem reported by Bruno Haible.
73651
73652 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73653
73654         Avoid the need for AC_LIBSOURCES in m4 macros.
73655         * modules/acl (EXTRA_DIST): Add acl.h.
73656         * modules/argmatch (Files): Add m4/argmatch.m4.
73657         (configure.ac): Add gl_ARGMATCH.
73658         (EXTRA_DIST): Renamed from lib_SOURCES, for
73659         consistency with the other modules.  Remove argmatch.c.
73660         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73661         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73662         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73663         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73664         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73665         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73666         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73667         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73668         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73669         * modules/closeout (EXTRA_DIST): Add closeout.h.
73670         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73671         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73672         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73673         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73674         dirname.h; remove basename.c and stripslash.c.
73675         * modules/exclude (EXTRA_DIST): Add exclude.h.
73676         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73677         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73678         * modules/file-type (EXTRA_DIST): Add file-type.h.
73679         * modules/filemode (EXTRA_DIST): Add filemode.h.
73680         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73681         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73682         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73683         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73684         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73685         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73686         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73687         * modules/getdate (EXTRA_DIST): Add getdate.c.
73688         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73689         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73690         * modules/getpass (EXTRA_DIST): Add getpass.h.
73691         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73692         * modules/group-member (EXTRA_DIST): Add group-member.h.
73693         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73694         * modules/hash (EXTRA_DIST): Add hash.h.
73695         * modules/human (EXTRA_DIST): Add human.h.
73696         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73697         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73698         * modules/lchown (EXTRA_DIST): Add lchown.h.
73699         * modules/long-options (EXTRA_DIST): Add long-options.h.
73700         * modules/lstat (EXTRA_DIST): Add lstat.h.
73701         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73702         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73703         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73704         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73705         * modules/memxor (EXTRA_DIST): Add memxor.h.
73706         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73707         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73708         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73709         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73710         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73711         * modules/physmem (EXTRA_DIST): Add physmem.h.
73712         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73713         * modules/posixver (EXTRA_DIST): Add posixver.h.
73714         * modules/quote (EXTRA_DIST): Add quote.h.
73715         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73716         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73717         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73718         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73719         regex_internal.h regexec.c.
73720         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73721         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73722         * modules/same (EXTRA_DIST): Add same.h.
73723         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73724         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73725         * modules/savedir (EXTRA_DIST): Add savedir.h.
73726         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73727         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73728         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73729         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73730         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73731         * modules/strdup (EXTRA_DIST): Add strdup.h.
73732         * modules/strftime (EXTRA_DIST): Add strftime.h.
73733         * modules/strndup (EXTRA_DIST): Add strndup.h.
73734         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73735         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73736         * modules/time_r (EXTRA_DIST): Add time_r.h.
73737         * modules/timespec (EXTRA_DIST): Add timespec.h.
73738         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73739         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73740         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73741         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73742         * modules/userspec (EXTRA_DIST): Add userspec.h.
73743         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73744         * modules/utimens (EXTRA_DIST): Add utimens.h.
73745         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73746         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73747         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73748         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73749         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73750         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73751         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73752         * modules/yesno (EXTRA_DIST): Add yesno.h.
73753
73754 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73755
73756         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73757
73758         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73759         * m4/dev-ino.m4, same-inode.m4: Remove.
73760
73761         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73762         * m4/acl.m4 (AC_FUNC_ACL):
73763         * m4/backupfile.m4 (gl_BACKUPFILE):
73764         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73765         * m4/canon-host.m4 (gl_CANON_HOST):
73766         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73767         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73768         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73769         * m4/cloexec.m4 (gl_CLOEXEC):
73770         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73771         * m4/closeout.m4 (gl_CLOSEOUT):
73772         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73773         * m4/dirname.m4 (gl_DIRNAME):
73774         * m4/exclude.m4 (gl_EXCLUDE):
73775         * m4/exitfail.m4 (gl_EXITFAIL):
73776         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73777         * m4/file-type.m4 (gl_FILE_TYPE):
73778         * m4/filemode.m4 (gl_FILEMODE):
73779         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73780         * m4/fpending.m4 (gl_FUNC_FPENDING):
73781         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73782         * m4/fts.m4 (gl_FUNC_FTS):
73783         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73784         * m4/getdate.m4 (gl_GETDATE):
73785         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73786         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73787         * m4/getpass.m4 (gl_FUNC_GETPASS):
73788         * m4/gettime.m4 (gl_GETTIME):
73789         * m4/getugroups.m4 (gl_GETUGROUPS):
73790         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73791         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73792         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73793         * m4/hash.m4 (gl_HASH):
73794         * m4/idcache.m4 (gl_IDCACHE):
73795         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73796         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73797         * m4/long-options.m4 (gl_LONG_OPTIONS):
73798         * m4/lstat.m4 (gl_FUNC_LSTAT):
73799         * m4/md5.m4 (gl_MD5):
73800         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73801         * m4/memcoll.m4 (gl_MEMCOLL):
73802         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73803         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73804         * m4/memxor.m4 (gl_MEMXOR):
73805         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73806         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73807         * m4/modechange.m4 (gl_MODECHANGE):
73808         * m4/mountlist.m4 (gl_MOUNTLIST):
73809         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73810         * m4/openat.m4 (gl_FUNC_OPENAT):
73811         * m4/pathmax.m4 (gl_PATHMAX):
73812         * m4/physmem.m4 (gl_PHYSMEM):
73813         * m4/posixtm.m4 (gl_POSIXTM):
73814         * m4/posixver.m4 (gl_POSIXVER):
73815         * m4/quote.m4 (gl_QUOTE):
73816         * m4/quotearg.m4 (gl_QUOTEARG):
73817         * m4/readtokens.m4 (gl_READTOKENS):
73818         * m4/readutmp.m4 (gl_READUTMP):
73819         * m4/regex.m4 (gl_REGEX):
73820         * m4/safe-read.m4 (gl_SAFE_READ):
73821         * m4/safe-write.m4 (gl_SAFE_WRITE):
73822         * m4/same.m4 (gl_SAME):
73823         * m4/save-cwd.m4 (gl_SAVE_CWD):
73824         * m4/savedir.m4 (gl_SAVEDIR):
73825         * m4/settime.m4 (gl_SETTIME):
73826         * m4/sha1.m4 (gl_SHA1):
73827         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73828         * m4/stat-macros.m4 (gl_STAT_MACROS):
73829         * m4/stat-time.m4 (gl_STAT_TIME):
73830         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73831         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73832         * m4/strdup.m4 (gl_FUNC_STRDUP):
73833         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73834         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73835         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73836         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73837         * m4/time_r.m4 (gl_TIME_R):
73838         * m4/timespec.m4 (gl_TIMESPEC):
73839         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73840         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73841         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73842         * m4/userspec.m4 (gl_USERSPEC):
73843         * m4/utimecmp.m4 (gl_UTIMECMP):
73844         * m4/utimens.m4 (gl_UTIMENS):
73845         * m4/xalloc.m4 (gl_XALLOC):
73846         * m4/xgetcwd.m4 (gl_XGETCWD):
73847         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73848         * m4/xreadlink.m4 (gl_XREADLINK):
73849         * m4/xstrtod.m4 (gl_XSTRTOD):
73850         * m4/yesno.m4 (gl_YESNO):
73851         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73852         to get the necessary .h files and whatnot.
73853
73854 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73855             Bruno Haible  <bruno@clisp.org>
73856
73857         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73858         /bin/sh understanding of '!' conditional negation.
73859
73860 2006-08-21  Jim Meyering  <jim@meyering.net>
73861
73862         * modules/openat (Depends-on): Really alphabetize.
73863
73864         * modules/acl (Depends-on): Add error and quote.
73865
73866         * check-module (find_included_lib_files): Add at-func.c to the
73867         ok-to-include-more-than-once white list.
73868
73869         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73870
73871 2006-08-21  Bruno Haible  <bruno@clisp.org>
73872
73873         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73874         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73875         Reported by Martin Lambers <marlam@marlam.de>.
73876
73877 2006-08-21  Bruno Haible  <bruno@clisp.org>
73878
73879         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73880         specify an installation location, don't emit a noinst_LIBRARIES or
73881         noinst_LTLIBRARIES assignment.
73882
73883 2006-08-21  Bruno Haible  <bruno@clisp.org>
73884
73885         BeOS portability.
73886         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73887         BeOS has mbrtowc() but no <wctype.h>.
73888
73889 2006-08-21  Bruno Haible  <bruno@clisp.org>
73890
73891         BeOS portability.
73892         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73893         exist.
73894
73895 2006-08-21  Bruno Haible  <bruno@clisp.org>
73896
73897         BeOS portability.
73898         * lib/mbchar.h: Include <wctype.h> only if it exists.
73899
73900 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73901
73902         Remove files that are no longer needed by their respective modules.
73903         * m4/obstack.m4: Remove.
73904         * m4/strerror_r.m4: Remove.
73905         * m4/uint32_t.m4: Remove.
73906         * m4/uintptr_t.m4: Remove.
73907         * m4/ullong_max.m4: Remove.
73908         * m4/xstrtoimax.m4: Remove.
73909         * m4/xstrtoumax.m4: Remove.
73910
73911         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73912         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73913         dependencies now capture this.
73914
73915         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73916         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73917         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73918         * m4/human.m4 (gl_HUMAN): Likewise.
73919         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73920         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73921
73922         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73923
73924         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73925         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73926         stdint.
73927         * m4/human.m4 (gl_HUMAN): Likewise.
73928         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73929         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73930         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73931         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73932         * m4/xstrtol (gl_XSTRTOL): Likewise.
73933
73934         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73935         AC_TYPE_LONG_LONG_INT.
73936         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73937         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73938         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73939         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73940
73941         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73942         on stdbool.
73943
73944         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73945         (gl_PREREQ_XSTRTOUL): Remove.
73946
73947         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73948
73949         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73950         mode.
73951
73952 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73953
73954         Add and change modules to make it easier for coreutils to use
73955         gnulib-tool.
73956         * modules/backupfile (Files): Remove m4/d-ino.m4.
73957         (Depends-on): Add d-ino.
73958         * modules/cycle-check (Depends-on): Add stdint.
73959         (lib_SOURCES): Add cycle-check.h.
73960         * modules/d-ino: New module.
73961         * modules/d-type: New module.
73962         * modules/error (Files): Remove m4/strerror_r.m4.
73963         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73964         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73965         m4/inttypes_h.m4, m4/uintmax_t.m4.
73966         (Depends-on): Add stdint.
73967         (lib_SOURCES): Add fsusage.h.
73968         * modules/getcwd (Files): Remove d-ino.m4.
73969         (Depends-on): Add d-ino.
73970         * modules/getndelim2 (Depends-on): Add stdint.
73971         * modules/glob (Files): Remove m4/d-type.m4.
73972         (Depends-on): Add d-type.
73973         * modules/host-os: New module.
73974         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73975         m4/inttypes_h.m4, m4/uintmax_t.m4.
73976         * Depends-on: Add stdint.
73977         (lib_SOURCES): Add human.h.
73978         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73979         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73980         m4/uintmax_t.m4, m4/ulonglong.m4.
73981         (Depends-on): Add stdint.
73982         (EXTRA_DIST): Add inttostr.h.
73983         * modules/lchmod: New module.
73984         * modules/link-follow: New module.
73985         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73986         (Depends-on): Add lchmod.
73987         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73988         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73989         (Depends-on): Add stdint.
73990         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73991         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73992         (Depends-on): Add stdint.
73993         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73994         * modules/perl: New module.
73995         * modules/regex (Depends-on): Add stdint.
73996         * modules/rmdir-errno: New module.
73997         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73998         m4/intmax_t.m4.
73999         (Depends-on): Add stdint.
74000         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
74001         m4/uintmax_t.m4.
74002         (Depends-on): Add stdint.
74003         * modules/unlink-busy: New module.
74004         * modules/utimecmp (Depends-on): Add stdint.
74005         * modules/uptime: New module.
74006         * modules/winsz-ioctl: New module.
74007         * modules/winsz-termios: New module.
74008         * modules/xnanosleep (Depends-on): Add nanosleep.
74009         * modules/ullong_max: Remove.
74010         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
74011         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
74012         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
74013         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
74014         (Depends-on): Add inttypes.
74015         (lib_SOURCES): Add xstrtol.h.
74016         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
74017         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
74018         * MODULES.html.sh: Move 'assert' into the assert section.
74019         Move 'dummy' into the linking section.
74020         Remove ullong_max.
74021         Add section for compatibility checks for POSIX:2001 functions,
74022         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
74023         winsz-ioctl, and winsz-termios into it.
74024         Add lchmod.
74025         Add top-level Misc section and put host-os, perl, and uptime
74026         into it.
74027
74028 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
74029
74030         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
74031         now assume the stdint module.  Do not include inttypes.h.
74032         * lib/fsusage.h: Likewise.
74033         * lib/getndelim2.c: Likewise.
74034         * lib/human.h: Likewise.
74035         * lib/inttostr.h: Likewise.
74036         * lib/obstack.c: Likewise.
74037         * lib/regex_internal.h: Likewise.
74038         * lib/tempname.c: Likewise.
74039         * lib/utimecmp.c: Likewise.
74040         * lib/xstrtol.h: Likewise.
74041
74042         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
74043
74044         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
74045         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
74046         * lib/xtime.h: Likewise.
74047
74048 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74049
74050         * modules/openat (Files): Add lib/fchmodat.c.
74051         Fixes problem reported by Jay Youngman.
74052
74053 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74054
74055         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
74056         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
74057
74058 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
74059             Bruno Haible  <bruno@clisp.org>
74060
74061         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
74062         and is a script that invokes bison. Tighten the code. Add comments.
74063
74064 2006-08-18  Jim Meyering  <jim@meyering.net>
74065
74066         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
74067         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
74068         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
74069         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
74070
74071 2006-08-18  Bruno Haible  <bruno@clisp.org>
74072
74073         * modules/bison-i18n: New file.
74074         * MODULES.html.sh (Internationalization functions): Add it.
74075
74076 2006-08-18  Bruno Haible  <bruno@clisp.org>
74077
74078         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
74079         sys/statvfs.h. When getmntinfo was found, check its declaration and
74080         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
74081
74082 2006-08-18  Bruno Haible  <bruno@clisp.org>
74083
74084         * m4/bison-i18n.m4: New file, from bison.
74085
74086 2006-08-18  Bruno Haible  <bruno@clisp.org>
74087
74088         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
74089         (ME_DUMMY): Treat "kernfs" as a dummy.
74090         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
74091
74092 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74093
74094         Update from coreutils.
74095
74096         2006-08-15  Jim Meyering  <jim@meyering.net>
74097
74098         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
74099
74100         2006-01-17  Jim Meyering  <jim@meyering.net>
74101
74102         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
74103
74104         2006-01-11  Jim Meyering  <jim@meyering.net>
74105
74106         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
74107         Check for the lchmod function.
74108
74109 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74110
74111         Update from coreutils.
74112
74113         * lib/__fpending.h: Add copyright notice.
74114         * lib/fprintftime.h: Likewise.
74115         * lib/savedir.c: Use (C) in copyright notice.
74116         * lib/savedir.h: Likewise.
74117
74118         2006-08-15  Jim Meyering  <jim@meyering.net>
74119
74120         * lib/at-func.c: New file, with the logic of all emulated at-functions.
74121         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
74122         in support of the EXPECTED_ERRNO macro.
74123         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
74124         definitions.  Instead, define the appropriate symbols and include
74125         "at-func.c".
74126         * lib/mkdirat.c (mkdirat): Likewise.
74127         * lib/fchmodat.c (fchmodat): Likewise.
74128         (ENOSYS): Remove definition.
74129         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
74130         it.  Don't include "unistd--.h" -- it wasn't ever used.
74131
74132         2006-01-17  Jim Meyering  <jim@meyering.net>
74133
74134         Rewrite fts.c not to change the current working directory,
74135         by using openat, fstatat, fdopendir, etc..
74136
74137         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
74138         (HAVE_OPENAT_SUPPORT): Define.
74139         [_LIBC] (fchdir): Don't undef or define; no longer used.
74140         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
74141         Now, this `function' always succeeds, and consumes its file descriptor
74142         parameter -- so callers must not close such FDs.  Update callers.
74143         (diropen_fd, opendirat, cwd_advance_fd): New functions.
74144         (diropen): Add parameter, SP.  Adjust all callers.
74145         Implement using diropen_fd, rather than open.
74146         (fts_open): Initialize new member, fts_cwd_fd.
74147         Remove fts_rft-setting code.
74148         (fts_close): Close fts_cwd_fd, if necessary.
74149         (__opendir2): Define in terms of opendir or opendirat,
74150         depending on whether the FST_NOCHDIR flag is set.
74151         (fts_build): Since fts_safe_changedir consumes its FD, and since
74152         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
74153         and close the dup'd file descriptor upon failure.
74154         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
74155         (fts_safe_changedir): Tweak semantics to reflect that this function
74156         now calls cwd_advance_fd and hence consumes its FD argument.
74157         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
74158         [struct FTS] (fts_rft): Remove now-unused member.
74159         [struct FTS] (fts_cycle.state): Improve comment.
74160
74161         * lib/openat.c (openat_needs_fchdir): New function.
74162         * lib/openat.h (openat_needs_fchdir): Declare it.
74163
74164 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
74165
74166         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
74167         Problem and fix reported by Pádraig Brady in
74168         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
74169
74170 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74171
74172         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
74173
74174 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74175
74176         * lib/memcoll.c (memcoll): Optimize for the common case where the
74177         arguments are bytewise equal.
74178
74179 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74180
74181         * doc/regexprops-generic.texi: Add a copyright notice.
74182
74183 2006-08-15  Bruno Haible  <bruno@clisp.org>
74184
74185         * modules/tmpdir (License): Change to LGPL.
74186
74187 2006-08-15  Bruno Haible  <bruno@clisp.org>
74188
74189         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
74190         module.
74191
74192 2006-08-14  Simon Josefsson  <jas@extundo.com>
74193
74194         * config/srclist.txt: Add gnupload.
74195
74196 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74197
74198         Change copyright notice from LGPL 2 to GPL 2, since that's the
74199         standard form used in the gnulib repository.
74200         * tests/test-lock.c: Likewise.
74201         * tests/test-stdint.c: Likewise.
74202         * tests/test-tls.c: Likewise.
74203
74204         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
74205         prelude-manager.  User shorter URLs for GNU projects, without '?'.
74206         Add copyright notice.
74207
74208         * check-module: Add copyright notice.  Output a copyright
74209         notice if "--version" is specified.
74210         * modules/COPYING: New file.
74211         * tests/test-getaddrinfo.c: Add copyright notice.
74212         * tests/test-verify.c: Likewise.
74213
74214 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74215
74216         Change copyright notice from LGPL 2 to GPL 2, since that's the
74217         standard form used in the gnulib repository.
74218         * lib/lock.c: LGPL -> GPL.
74219         * lib/lock.h: Likewise.
74220         * lib/strnlen1.c: Likewise.
74221         * lib/strnlen1.h: Likewise.
74222         * lib/tls.c: Likewise.
74223         * lib/tls.h: Likewise.
74224         * lib/tmpdir.c: Likewise.
74225
74226         * lib/TODO: Remove; this belongs only in coreutils.
74227
74228 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74229
74230         Add copyright notices to long-enough files that lack them, since
74231         otherwise the files aren't clearly free.  Use the same notice that
74232         getdate.texi already uses.
74233         * doc/alloca-opt.texi: Add copyright notice.
74234         * doc/alloca.texi: Likewise.
74235         * doc/ctime.texi: Likewise.
74236         * doc/functions.texi: Likewise.
74237         * doc/gcd.texi: Likewise.
74238         * doc/gnulib-tool.texi: Likewise.
74239         * doc/inet_ntoa.texi: Likewise.
74240         * doc/visibility.texi: Likewise.
74241
74242         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74243         * doc/quote.texi: Add copyright notice.
74244
74245         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74246         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74247         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74248         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74249         is now obsolete, and give a pointer to the Sun list.
74250         Add copyright notice.
74251
74252 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74253
74254         * config/srclistvars.sh: Add copyright notice.
74255
74256 2006-08-14  Eric Blake  <ebb9@byu.net>
74257
74258         Import the following change from libc:
74259
74260         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74261
74262         Upstream bug 2997.
74263         * lib/misc/error.c: Add space between program name and message if file
74264         name is missing.
74265
74266 2006-08-12  Karl Berry  <karl@gnu.org>
74267
74268         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74269         remove, these originate in gnulib now.
74270
74271 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74272
74273         * doc/Makefile (standards.info standards.html standards.dvi):
74274         Also depend on make-stds.texi.
74275
74276 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74277
74278         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74279         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74280
74281         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74282         in wchar_t.  Problem reported by Eric Blake.
74283
74284         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74285         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74286         Also, help the compiler to keep LEN in a register.
74287
74288 2006-08-11  Eric Blake  <ebb9@byu.net>
74289
74290         * users.txt: Sort.  Add tar.
74291
74292 2006-08-11  Bruno Haible  <bruno@clisp.org>
74293
74294         * users.txt: New file.
74295
74296 2006-08-11  Bruno Haible  <bruno@clisp.org>
74297
74298         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74299         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74300
74301 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74302
74303         * modules/snprintf (Depends-on): Remove minmax.
74304         (Maintainer): Add self and Bruno.
74305
74306 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74307
74308         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74309         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74310         (EOVERFLOW): Define if the system does not.
74311         Do not include "minmax.h"; it wasn't used.
74312         (snprintf): Don't assume size_t promotes to an unsigned type.
74313         Fix bug when generated string was too long for the buffer: the
74314         buffer's contents are supposed to be the initial prefix of the
74315         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74316         exceeds INT_MAX; do the check ourselves.
74317
74318         Import the following changes from libc:
74319
74320         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74321
74322         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74323         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74324         set wc to the byte which couldn't be converted.
74325         (re_string_reconstruct): Don't clear valid_raw_len before calling
74326         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74327         tip_context using re_string_context_at.
74328
74329         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74330
74331         * lib/posix/regex.h: g++ still cannot handled [restrict].
74332
74333         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
74334
74335         * lib/posix/regex.h: Remove special handling for VMS.
74336
74337 2006-08-10  Jim Meyering  <jim@meyering.net>
74338
74339         * modules/same-inode: New module.
74340         * modules/dev-ino: New module.
74341         * modules/cycle-check: Depend on these modules, rather than simply
74342         including their .h files.
74343         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
74344         required via m4/cycle-check.m4.
74345         * modules/same: Depend on new same-inode module, rather than
74346         including same-inode.h.
74347         * modules/chdir-safer: New file.
74348
74349         * modules/chown (Depends-on): Add stat-macros.
74350
74351 2006-08-10  Jim Meyering  <jim@meyering.net>
74352
74353         * m4/cycle-check.m4: New file.
74354         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74355         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74356
74357 2006-08-10  Eric Blake  <ebb9@byu.net>
74358
74359         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74360         in from original proposal.
74361
74362 2006-08-10  Eric Blake  <ebb9@byu.net>
74363         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74364
74365         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74366         namespace.
74367
74368 2006-08-10  Bruno Haible  <bruno@clisp.org>
74369
74370         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74371         as well.
74372
74373 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74374
74375         Sync from coreutils.
74376
74377         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74378
74379         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74380         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74381
74382 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74383
74384         * modules/restrict: Remove; no longer needed now that we assume
74385         Autoconf 2.59 or later.
74386         * MODULES.html.sh: Remove 'restrict'.
74387         * modules/argp (Depends-on): Remove 'restrict'.
74388         * modules/base64 (Depends-on): Likewise.
74389         * modules/gc (Depends-on): Likewise.
74390         * modules/getaddrinfo (Depends-on): Likewise.
74391         * modules/glob (Depends-on): Likewise.
74392         * modules/inet_ntop (Depends-on): Likewise.
74393         * modules/inet_pton (Depends-on): Likewise.
74394         * modules/memxor (Depends-on): Likewise.
74395         * modules/regex (Depends-on): Likewise.
74396         * modules/strtok_r (Depends-on): Likewise.
74397         * modules/time_r (Depends-on): Likewise.
74398
74399 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74400
74401         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74402         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74403         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74404         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74405         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74406         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74407         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74408         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74409
74410         Merge from coreutils.
74411         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74412         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74413         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74414         * m4/time_r.m4 (gl_TIME_R): Likewise.
74415
74416 2006-08-09  Karl Berry  <karl@gnu.org>
74417
74418         * config/srclist.txt: no more gettext-tools, per Bruno.
74419
74420 2006-08-08  Eric Blake  <ebb9@byu.net>
74421
74422         * modules/verror: New module.
74423         * MODULES.html.sh: Document it.
74424
74425 2006-08-08  Eric Blake  <ebb9@byu.net>
74426
74427         * lib/verror.h, lib/verror.c: New files.
74428
74429 2006-08-08  Eric Blake  <ebb9@byu.net>
74430
74431         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74432         verror_at_line output complies with GNU Coding Standards even when
74433         file is NULL.
74434
74435 2006-08-07  Bruno Haible  <bruno@clisp.org>
74436
74437         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74438         versions of AIX.
74439         Reported by Ralf Wildenhues.
74440
74441 2006-08-07  Bruno Haible  <bruno@clisp.org>
74442
74443         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74444         in an AC_DEFUN. Needed so that the autoconf snippets can use
74445         AC_REQUIRE.
74446
74447 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74448
74449         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74450         Initialize pkgdata_DATA.
74451         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74452         overriding it.
74453
74454 2006-08-06  Eric Blake  <ebb9@byu.net>
74455
74456         * lib/error.h: Fold in some upstream changes from glibc.
74457         * lib/error.c: Likewise.
74458
74459 2006-08-04  Bruno Haible  <bruno@clisp.org>
74460
74461         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74462         Make the mostlyclean-local rule depend on mostlyclean-generic.
74463         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74464
74465 2006-07-31  Bruno Haible  <bruno@clisp.org>
74466
74467         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74468         <stdlib.h>, <string.h>.
74469
74470 2006-07-30  Bruno Haible  <bruno@clisp.org>
74471
74472         * modules/readlink (License): Change to LGPL.
74473
74474 2006-07-30  Bruno Haible  <bruno@clisp.org>
74475
74476         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74477         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74478         set PKGDATADIR to point to it.
74479
74480 2006-07-30  Bruno Haible  <bruno@clisp.org>
74481
74482         * modules/csharpexec (configure.ac): Comment out macro invocation.
74483         * modules/javaexec (configure.ac): Likewise.
74484         * modules/javacomp-script (configure.ac): Likewise.
74485
74486         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74487
74488 2006-07-30  Bruno Haible  <bruno@clisp.org>
74489
74490         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74491         linked-list.
74492
74493 2006-07-30  Bruno Haible  <bruno@clisp.org>
74494
74495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74496
74497 2006-07-30  Bruno Haible  <bruno@clisp.org>
74498
74499         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74500         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74501         get removed.
74502
74503 2006-07-29  Bruno Haible  <bruno@clisp.org>
74504
74505         Make it possible for gnulib-tool to work with locally modified or
74506         augmented gnulib repositories.
74507         * gnulib-tool (func_usage): Document --local-dir option.
74508         (local_gnulib_dir): New variable.
74509         Handle --local-dir option.
74510         (func_lookup_file): New function.
74511         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74512         (func_get_description, func_get_filelist, func_get_description,
74513         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74514         func_get_automake_snippet, func_get_include_directive,
74515         func_get_license, func_get_maintainer): Use func_lookup_file.
74516         (func_import, func_create_testdir): Use func_lookup_file.
74517
74518 2006-07-29  Bruno Haible  <bruno@clisp.org>
74519
74520         * modules/setenv (Depends-on): Add unistd.
74521
74522 2006-07-29  Bruno Haible  <bruno@clisp.org>
74523
74524         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74525
74526 2006-07-29  Bruno Haible  <bruno@clisp.org>
74527
74528         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74529
74530 2006-07-29  Bruno Haible  <bruno@clisp.org>
74531
74532         * gnulib-tool (import, update): If there is no Makefile.am, look at
74533         aclocal.m4, instead of bailing out.
74534
74535 2006-07-29  Bruno Haible  <bruno@clisp.org>
74536
74537         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74538         Categorize the options by when they are useful.
74539
74540 2006-07-29  Bruno Haible  <bruno@clisp.org>
74541
74542         * gnulib-tool (func_usage): Document option --no-libtool.
74543         Handle option --no-libtool.
74544         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74545         for changed semantics of $libtool variable.
74546         (func_import): Likewise. If libtool is not used, show this through
74547         an option --no-libtool.
74548         (func_create_testdir): Update.
74549
74550 2006-07-29  Bruno Haible  <bruno@clisp.org>
74551
74552         * gnulib-tool (func_import): Extend error message about missing
74553         --doc-base.
74554
74555 2006-07-29  Bruno Haible  <bruno@clisp.org>
74556
74557         * gnulib-tool (func_import): Don't create the $docbase directory if
74558         there is no file to store there.
74559
74560 2006-07-29  Bruno Haible  <bruno@clisp.org>
74561
74562         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74563         relevant, look for configure.ac there, not in the current directory.
74564         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74565
74566 2006-07-29  Bruno Haible  <bruno@clisp.org>
74567
74568         * gnulib-tool (SORT): New variable.
74569         (func_usage): Undocument --assume-autoconf option.
74570         Remove --assume-autoconf option handling.
74571         (autoconf_minversion): Determine from the contents of configure.ac.
74572         (func_import): Remove autoconf_minversion handling.
74573         Suggested by Eric Blake.
74574
74575 2006-07-29  Bruno Haible  <bruno@clisp.org>
74576
74577         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74578
74579 2006-07-29  Bruno Haible  <bruno@clisp.org>
74580
74581         * config/srclist.txt (*setenv.[ch]): Remove rules.
74582
74583 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74584
74585         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74586
74587 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74588
74589         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74590         arpa/inet.h.
74591
74592 2006-07-28  Simon Josefsson  <jas@extundo.com>
74593
74594         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74595         * modules/inet_pton (Depends-on): Likewise.
74596
74597 2006-07-28  Simon Josefsson  <jas@extundo.com>
74598
74599         * m4/netinet_in_h.m4: New file.
74600
74601 2006-07-28  Simon Josefsson  <jas@extundo.com>
74602
74603         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74604         #include's.
74605
74606 2006-07-28  Simon Josefsson  <jas@extundo.com>
74607
74608         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74609         #include's.
74610
74611 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74612
74613         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74614         setgid on directories only if they set these bits.
74615         * lib/modechange.h: Remove obsolete comment about masks.
74616
74617 2006-07-28  Eric Blake  <ebb9@byu.net>
74618
74619         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74620         macro expansion.
74621
74622 2006-07-28  Bruno Haible  <bruno@clisp.org>
74623
74624         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74625
74626 2006-07-28  Bruno Haible  <bruno@clisp.org>
74627
74628         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74629
74630 2006-07-28  Bruno Haible  <bruno@clisp.org>
74631
74632         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74633         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74634         Define fallbacks.
74635         Avoids link error on FreeBSD 4.x.
74636         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74637
74638         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74639         encoding.
74640         * lib/mbswidth.c (iswcntrl): Likewise.
74641
74642 2006-07-27  Bruno Haible  <bruno@clisp.org>
74643
74644         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74645         test.
74646
74647 2006-07-27  Bruno Haible  <bruno@clisp.org>
74648
74649         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74650         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74651         defined.
74652
74653 2006-07-26  Eric Blake  <ebb9@byu.net>
74654
74655         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74656
74657 2006-07-26  Eric Blake  <ebb9@byu.net>
74658
74659         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74660         like mingw that lack mkstemp.
74661         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74662         avoid compilation warning on mingw.
74663
74664 2006-07-26  Bruno Haible  <bruno@clisp.org>
74665
74666         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74667         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74668         INT_FAST*_MIN, INTPTR_MIN.
74669
74670 2006-07-25  Bruno Haible  <bruno@clisp.org>
74671
74672         * modules/version-etc (Depends-on): Add stdarg.
74673
74674 2006-07-25  Bruno Haible  <bruno@clisp.org>
74675
74676         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74677         complex commands.
74678
74679 2006-07-25  Bruno Haible  <bruno@clisp.org>
74680
74681         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74682         defined in <stdarg.h> or config.h.
74683
74684 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74685
74686         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74687         (gl_STDIO_SAFER): Remove.
74688
74689 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74690
74691         * MODULES.html.sh (File stream based Input/Output):
74692         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74693         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74694         * modules/fopen-safer, modules/tmpfile-safer: New files.
74695         * modules/stdio-safer: Remove.
74696
74697 2006-07-24  Bruno Haible  <bruno@clisp.org>
74698
74699         * modules/tmpdir: New file.
74700         * MODULES.html.sh (File system functions): Add it.
74701
74702 2006-07-24  Bruno Haible  <bruno@clisp.org>
74703
74704         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74705         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74706
74707 2006-07-24  Bruno Haible  <bruno@clisp.org>
74708
74709         * modules/clean-temp: New file.
74710
74711 2006-07-24  Bruno Haible  <bruno@clisp.org>
74712
74713         * m4/tmpdir.m4: New file, from GNU gettext.
74714
74715 2006-07-24  Bruno Haible  <bruno@clisp.org>
74716
74717         * lib/tmpdir.h: New file, from GNU gettext.
74718         * lib/tmpdir.c: New file, from GNU gettext.
74719
74720 2006-07-24  Bruno Haible  <bruno@clisp.org>
74721
74722         * lib/clean-temp.h: New file, from GNU gettext.
74723         * lib/clean-temp.c: New file, from GNU gettext.
74724
74725 2006-07-23  Eric Blake  <ebb9@byu.net>
74726
74727         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74728         (Depends-on): Add binary-io.
74729
74730 2006-07-23  Eric Blake  <ebb9@byu.net>
74731
74732         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74733
74734 2006-07-23  Eric Blake  <ebb9@byu.net>
74735
74736         * lib/tmpfile-safer.c: New file.
74737         * lib/stdio-safer.h (fopen_safer): Add prototype.
74738         * lib/stdio--.h (tmpfile): Make safer.
74739
74740 2006-07-23  Bruno Haible  <bruno@clisp.org>
74741
74742         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74743         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74744         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74745         gl_linked_remove_at): Use it.
74746
74747 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74748         and Simon Josefsson <jas@extundo.com>
74749
74750         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74751
74752         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74753
74754 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74755
74756         * modules/close-stream: New file.
74757         * modules/closeout (Description): Make it clear that it exits
74758         with a diagnostic on error.
74759         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74760         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74761
74762 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74763
74764         * m4/close-stream.m4: New file.
74765
74766 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74767
74768         * lib/close-stream.c, lib/close-stream.h: New files.
74769
74770 2006-07-22  Bruno Haible  <bruno@clisp.org>
74771
74772         Merge from GNU gettext 0.15.
74773
74774         2006-05-01  Bruno Haible  <bruno@clisp.org>
74775
74776                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74777
74778         2006-07-22  Bruno Haible  <bruno@clisp.org>
74779
74780                 * modules/javaversion: New file.
74781                 * MODULES.html.sh (Java): Add javaversion.
74782
74783         2006-03-12  Bruno Haible  <bruno@clisp.org>
74784
74785                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74786
74787         2005-12-04  Bruno Haible  <bruno@clisp.org>
74788
74789                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74790                 (untested).
74791
74792         2006-06-21  Bruno Haible  <bruno@clisp.org>
74793
74794                 Avoid warnings from recent versions of mcs.
74795                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74796                 -o, -L, -r any more. Use options documented since mcs-1.0
74797                 instead. Similarly for -g.
74798
74799         2005-12-04  Bruno Haible  <bruno@clisp.org>
74800
74801                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74802                 .resources, not .resource.
74803
74804         2005-07-09  Bruno Haible  <bruno@clisp.org>
74805
74806                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74807                 add a .dll suffix.
74808                 Reported by Mark Junker <mjscod@gmx.de>.
74809
74810         2006-07-22  Bruno Haible  <bruno@clisp.org>
74811
74812                 * modules/gettext: Upgrade to gettext-0.15.
74813                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74814                 m4/visibility.m4.
74815                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74816
74817 2006-07-22  Bruno Haible  <bruno@clisp.org>
74818
74819         Merge from GNU gettext 0.15.
74820
74821         2006-03-25  Bruno Haible  <bruno@clisp.org>
74822
74823                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74824
74825         2006-07-21  Bruno Haible  <bruno@clisp.org>
74826
74827                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74828                 "1.1".
74829
74830         2006-05-09  Bruno Haible  <bruno@clisp.org>
74831
74832                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74833                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74834                 for the conftestver execution.
74835
74836         2006-05-01  Bruno Haible  <bruno@clisp.org>
74837
74838                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74839                 optional target-version argument. Verify that the compiler
74840                 groks source of the specified source-version, or add -source
74841                 option as necessary. Verify that the compiler produces
74842                 bytecode in the specified target-version, or add -target and
74843                 -source options as necessary. Make the result of the test
74844                 available as variable CONF_JAVAC. Also log error output in
74845                 config.log.
74846
74847         2006-03-11  Bruno Haible  <bruno@clisp.org>
74848
74849                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74850
74851         2006-05-09  Bruno Haible  <bruno@clisp.org>
74852
74853                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74854                 CLASSPATH_SEPARATOR to a semicolon.
74855
74856         2006-03-12  Bruno Haible  <bruno@clisp.org>
74857
74858                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74859                 available as variable CONF_JAVA, for subsequent autoconf
74860                 tests. Also log error output in config.log.
74861
74862         2006-07-19  Bruno Haible  <bruno@clisp.org>
74863
74864                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74865                 that getline works on glibc2 systems. Needed to avoid trouble
74866                 in relocatable.c.
74867                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74868
74869         2005-12-04  Bruno Haible  <bruno@clisp.org>
74870
74871                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74872                 launcher (untested).
74873
74874         2005-12-04  Bruno Haible  <bruno@clisp.org>
74875
74876                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74877
74878         2006-07-22  Bruno Haible  <bruno@clisp.org>
74879
74880                 * gettext.m4: Update from GNU gettext-0.15.
74881                 * nls.m4: Likewise.
74882                 * po.m4: Likewise.
74883                 * inttypes-pri.m4: Likewise.
74884                 * inttypes-h.m4: Renamed from inttypes.m4.
74885                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74886
74887 2006-07-22  Bruno Haible  <bruno@clisp.org>
74888
74889         Merge from GNU gettext 0.15.
74890
74891         2005-07-05  Bruno Haible  <bruno@clisp.org>
74892
74893                 * printf-args.c (printf_fetchargs): Work around broken
74894                 definition of wint_t on mingw.
74895
74896         2005-02-12  Bruno Haible  <bruno@clisp.org>
74897
74898                 * xallocsa.h: Add extern "C" for C++.
74899
74900         2006-05-17  Bruno Haible  <bruno@clisp.org>
74901
74902                 Cygwin portability.
74903                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74904
74905         2006-04-30  Bruno Haible  <bruno@clisp.org>
74906
74907                 * progreloc.c: Include <mach-o/dyld.h> if available.
74908                 (find_executable): Use _NSGetExecutablePath when possible.
74909
74910         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74911
74912                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74913                 function.
74914
74915         2005-12-29  Bruno Haible  <bruno@clisp.org>
74916
74917                 * progreloc.c (set_program_name_and_installdir): Fix
74918                 compilation error.
74919
74920         2005-12-04  Bruno Haible  <bruno@clisp.org>
74921
74922                 Cygwin portability.
74923                 * progreloc.c: Include <windows.h> also on Cygwin.
74924                 (find_executable): Add support for Cygwin.
74925                 (set_program_name_and_installdir): Handle also platforms with
74926                 nonempty EXEEXT.
74927
74928         2006-07-11  Bruno Haible  <bruno@clisp.org>
74929
74930                 * javacomp.c: Fix a comment.
74931                 Reported by Jim Meyering.
74932
74933         2006-04-30  Bruno Haible  <bruno@clisp.org>
74934
74935                 * javacomp.h (compile_java_class): Add source_version,
74936                 target_version arguments.
74937                 * javacomp.c: Rewritten to choose only a compiler that
74938                 respects the specified source_version and target_version.
74939
74940         2006-06-27  Bruno Haible  <bruno@clisp.org>
74941
74942                 Assume correct S_ISDIR macro.
74943                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74944
74945         2006-07-22  Bruno Haible  <bruno@clisp.org>
74946
74947                 * javaversion.h: New file, from GNU gettext.
74948                 * javaversion.c: New file, from GNU gettext.
74949                 * javaversion.java: New file, from GNU gettext.
74950                 * javaversion.class: New file, from GNU gettext.
74951
74952         2006-05-17  Bruno Haible  <bruno@clisp.org>
74953
74954                 Cygwin portability.
74955                 * javaexec.c (execute_java_class): Test for jview program
74956                 also on Cygwin.
74957
74958         2006-04-09  Bruno Haible  <bruno@clisp.org>
74959
74960                 * fatal-signal.c: Don't include string.h.
74961                 (at_fatal_signal): Use a copying loop instead of memcpy.
74962
74963         2005-12-04  Bruno Haible  <bruno@clisp.org>
74964
74965                 * csharpexec.c: Add support for 'clix' launcher (untested).
74966                 (execute_csharp_using_sscli): New function.
74967                 (execute_csharp_program): Call it.
74968
74969         2006-06-21  Bruno Haible  <bruno@clisp.org>
74970
74971                 Avoid warnings from recent versions of mcs.
74972                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74973                 -o, -L, -r any more. Use options documented since mcs-1.0
74974                 instead. Similarly for -g.
74975
74976         2005-07-09  Bruno Haible  <bruno@clisp.org>
74977
74978                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74979                 add a .dll suffix.
74980                 Reported by Mark Junker <mjscod@gmx.de>.
74981
74982         2006-06-17  Bruno Haible  <bruno@clisp.org>
74983
74984                 * config.charset: Update for NetBSD 3.0.
74985
74986         2006-05-17  Bruno Haible  <bruno@clisp.org>
74987
74988                 Cygwin portability.
74989                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74990
74991         2006-05-16  Bruno Haible  <bruno@clisp.org>
74992
74993                 * localcharset.c [CYGWIN]: Include <windows.h>.
74994                 (get_charset_aliases): For Cygwin, return the same CPxxx
74995                 aliases list as under WIN32.
74996                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74997                 the environment variables. Fall back to GetACP().
74998
74999         2006-04-05  Bruno Haible  <bruno@clisp.org>
75000
75001                 * config.charset: Update Juan Manuel Guerrero's address.
75002
75003         2005-02-12  Bruno Haible  <bruno@clisp.org>
75004
75005                 * allocsa.h: Add extern "C" for C++.
75006
75007         2005-02-10  Bruno Haible  <bruno@clisp.org>
75008
75009                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
75010                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
75011
75012         2006-07-22  Bruno Haible  <bruno@clisp.org>
75013
75014                 * gettext.h: Update to GNU gettext-0.15.
75015
75016 2006-07-22  Bruno Haible  <bruno@clisp.org>
75017
75018         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
75019         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
75020         lib-prefix.m4, longdouble.m4, ssize_t.m4.
75021
75022 2006-07-21  Eric Blake  <ebb9@byu.net>
75023
75024         * modules/stdlib-safer: New file.
75025         * MODULES.html.sh (File stream based Input/Output): Add
75026         stdlib-safer.
75027
75028 2006-07-21  Eric Blake  <ebb9@byu.net>
75029
75030         * lib/stdlib-safer.h: New file from coreutils, required by
75031         stdlib--.h.
75032
75033 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
75034
75035         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
75036
75037 2006-07-20  Bruno Haible  <bruno@clisp.org>
75038
75039         * gnulib-tool: Recognize new option --assume-autoconf.
75040         (autoconf_minversion): New variable.
75041         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
75042
75043 2006-07-20  Bruno Haible  <bruno@clisp.org>
75044
75045         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
75046
75047 2006-07-19  Derek R. Price  <derek@ximbiot.com>
75048
75049         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
75050         Reindent and repaginate.
75051
75052 2006-07-19  Derek Price  <derek@ximbiot.com>
75053
75054         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
75055         Correct grammar.
75056
75057 2006-07-17  Bruno Haible  <bruno@clisp.org>
75058
75059         * modules/list: New file.
75060         * modules/array-list: New file.
75061         * modules/carray-list, modules/carray-list-tests: New files.
75062         * modules/linked-list, modules/linked-list-tests: New files.
75063         * modules/avltree-list, modules/avltree-list-tests: New files.
75064         * modules/rbtree-list, modules/rbtree-list-tests: New files.
75065         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
75066         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
75067         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
75068         * modules/oset: New file.
75069         * modules/array-oset: New file.
75070         * modules/avltree-oset, modules/avltree-oset-tests: New files.
75071         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
75072         * tests/test-carray_list.c: New file.
75073         * tests/test-linked_list.c: New file.
75074         * tests/test-avltree_list.c: New file.
75075         * tests/test-rbtree_list.c: New file.
75076         * tests/test-linkedhash_list.c: New file.
75077         * tests/test-avltreehash_list.c: New file.
75078         * tests/test-rbtreehash_list.c: New file.
75079         * tests/test-avltree_oset.c: New file.
75080         * tests/test-rbtree_oset.c: New file.
75081         * MODULES.html.sh (Container data structures): New section.
75082
75083 2006-07-17  Bruno Haible  <bruno@clisp.org>
75084
75085         * m4/gl_list.m4: New file.
75086
75087 2006-07-17  Bruno Haible  <bruno@clisp.org>
75088
75089         * lib/gl_list.h: New file.
75090         * lib/gl_list.c: New file.
75091         * lib/gl_array_list.h: New file.
75092         * lib/gl_array_list.c: New file.
75093         * lib/gl_carray_list.h: New file.
75094         * lib/gl_carray_list.c: New file.
75095         * lib/gl_linked_list.h: New file.
75096         * lib/gl_linked_list.c: New file.
75097         * lib/gl_anylinked_list1.h: New file.
75098         * lib/gl_anylinked_list2.h: New file.
75099         * lib/gl_avltree_list.h: New file.
75100         * lib/gl_avltree_list.c: New file.
75101         * lib/gl_anyavltree_list1.h: New file.
75102         * lib/gl_anyavltree_list2.h: New file.
75103         * lib/gl_rbtree_list.h: New file.
75104         * lib/gl_rbtree_list.c: New file.
75105         * lib/gl_anyrbtree_list1.h: New file.
75106         * lib/gl_anyrbtree_list2.h: New file.
75107         * lib/gl_anytree_list1.h: New file.
75108         * lib/gl_anytree_list2.h: New file.
75109         * lib/gl_linkedhash_list.h: New file.
75110         * lib/gl_linkedhash_list.c: New file.
75111         * lib/gl_anyhash_list1.h: New file.
75112         * lib/gl_anyhash_list2.h: New file.
75113         * lib/gl_avltreehash_list.h: New file.
75114         * lib/gl_avltreehash_list.c: New file.
75115         * lib/gl_rbtreehash_list.h: New file.
75116         * lib/gl_rbtreehash_list.c: New file.
75117         * lib/gl_anytreehash_list1.h: New file.
75118         * lib/gl_anytreehash_list2.h: New file.
75119
75120         * lib/gl_oset.h: New file.
75121         * lib/gl_oset.c: New file.
75122         * lib/gl_array_oset.h: New file.
75123         * lib/gl_array_oset.c: New file.
75124         * lib/gl_avltree_oset.h: New file.
75125         * lib/gl_avltree_oset.c: New file.
75126         * lib/gl_rbtree_oset.h: New file.
75127         * lib/gl_rbtree_oset.c: New file.
75128         * lib/gl_anytree_oset.h: New file.
75129
75130 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75131
75132         * m4/mkancesdirs.m4: New file.
75133         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
75134         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
75135         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
75136         it.
75137
75138 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75139
75140         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
75141         * lib/mkancesdirs.h: New files.
75142         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
75143         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
75144         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
75145         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
75146         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
75147         callers changed.  Revamp internals significantly, by not
75148         attempting to create directories that are temporarily more
75149         permissive than the final results.  Do not attempt to use
75150         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
75151         This removes some race conditions, fixes some bugs, and simplifies
75152         things.  Use new dirchownmod function to do owner and mode changes.
75153         * lib/mkdir-p.h: Likewise.
75154         * lib/modechange.c (octal_to_mode): New function.
75155         (struct mode_change): New member mentioned.
75156         (make_node_op_equals): New arg mentioned.  All callers changed.
75157         (mode_compile): Keep track of which mode bits the user has explicitly
75158         mentioned.
75159         (mode_adjust): New arg DIR, so that we implement the X op correctly.
75160         New arg PMODE_BITS, to keep track of which mode bits the user
75161         mentioned; it treats S_ISUID and S_ISGID speciall.
75162         All callers changed.
75163         * lib/modechange.h: Likewise.
75164
75165 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75166
75167         * MODULES.html.sh: Add mkancestors.
75168         * modules/mkancesdirs: New module.
75169         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
75170         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
75171         The chdir-safer and afs files are now orphans; I'll remove them
75172         unless someone speaks up.
75173         Add lib/dirchownmod.c, lib/dirchownmod.h.
75174         (Depends-on): Remove alloca, chown, save-cwd, dirname.
75175         Add lchown, mkancesdirs.
75176         (Maintainer): Add self.
75177
75178 2006-07-15  Karl Berry  <karl@gnu.org>
75179
75180         * gnulib-tool: help message wording/arrangement.
75181
75182 2006-07-14  Simon Josefsson  <jas@extundo.com>
75183
75184         * doc/gnulib.texi (Libtool and Windows): New section.
75185
75186 2006-07-12  Simon Josefsson  <jas@extundo.com>
75187
75188         * modules/gendocs (License): Fix license, approved by Karl.
75189
75190 2006-07-12  Eric Blake  <ebb9@byu.net>
75191
75192         * MODULES.html.sh: Add gendocs.
75193
75194 2006-07-11  Eric Blake  <ebb9@byu.net>
75195
75196         * modules/fdl: New module, to install doc/fdl.texi.
75197         * MODULES.html.sh: Add new section for documentation modules.
75198         * gnulib-tool: Avoid space-tab.
75199         (--doc-base): New option, to manage files from doc.
75200
75201 2006-07-11  Eric Blake  <ebb9@byu.net>
75202
75203         * m4/absolute-header.m4: Fix comments to match recent change.
75204
75205 2006-07-11  Eric Blake  <ebb9@byu.net>
75206
75207         * gnulib-tool: List --doc-base before --tests-base.
75208
75209 2006-07-11  Derek R. Price  <derek@ximbiot.com>
75210
75211         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
75212
75213 2006-07-11  Bruno Haible  <bruno@clisp.org>
75214
75215         * README: Mention where to put documentation.
75216
75217 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75218
75219         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
75220
75221 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75222
75223         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
75224         to stdint.m4.
75225
75226 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75227
75228         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
75229         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
75230         "no/such/file/stdint.h" when there is no such file, so that
75231         the resulting C code can be parsed by dodgy compilers.
75232         Problems reported by Bob Proulx.
75233
75234 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75235
75236         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75237         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75238         macros into the GNU _D_EXACT_NAMLEN.
75239         * lib/savedir.c:  Likewise.
75240         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75241
75242 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75243         and Paul Eggert  <eggert@cs.ucla.edu>
75244
75245         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75246         * m4/savedir.m4:
75247         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75248         macros into the GNU _D_EXACT_NAMLEN.
75249
75250 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75251
75252         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75253         around the absolute name, to work around a problem with the HP-UX
75254         11.23 native C compiler, reported by Bob Proulx.
75255
75256 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         * doc/maintain.texi, make-stds.texi: Sync from
75259         <http://savannah.gnu.org/projects/gnustandards>.
75260
75261 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75262
75263         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75264
75265 2006-07-09  Jim Meyering  <jim@meyering.net>
75266
75267         * m4/glob.m4: Remove a doubled word in a comment.
75268
75269 2006-07-09  Jim Meyering  <jim@meyering.net>
75270
75271         * lib/argp-pv.c: Remove a doubled word in a comment.
75272         * lib/check-version.c (check_version): Likewise.
75273         * lib/javacomp.c (compile_java_class): Likewise.
75274
75275 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75276
75277         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75278         for the benefit of people using Autoconf 2.60.  If you want to
75279         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75280         (or m4/onceonly.m4, if pre-2.57) manually.
75281
75282 2006-07-08  Jim Meyering  <jim@meyering.net>
75283
75284         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75285         comment.
75286         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75287         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75288         comment.
75289
75290 2006-07-08  Jim Meyering  <jim@meyering.net>
75291
75292         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75293
75294 2006-07-07  Simon Josefsson  <jas@extundo.com>
75295
75296         * tests/test-crc.c: Change expected crc value, the test vector
75297         were probably computed using the old broken crc.c?
75298
75299 2006-07-06  Simon Josefsson  <jas@extundo.com>
75300
75301         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75302         now the canonical place for the M4 file).
75303
75304         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75305         from the sys_socket dependency now.
75306
75307         * modules/inet_pton (Files): Ditto.
75308
75309         * modules/inet_ntop (Files): Ditto.
75310
75311 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75312
75313         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75314         not gl_PREREQ_GETUSERSHELL.
75315
75316 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75317
75318         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75319         with only one argument, for Autoconf 2.60.
75320         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75321         expand to nothing, so add a shell command to avoid syntax error.
75322         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75323
75324 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75325
75326         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75327
75328 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75329
75330         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
75331         no longer needed.  Check for isblank decl.
75332         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
75333         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
75334         of existence.
75335
75336 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75337
75338         * lib/getloadavg.c: Use __VMS, not VMS.
75339         * lib/getopt.c: Likewise.
75340         * lib/getpagesize.h: Likewise.
75341         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
75342         and probably does not work.
75343
75344 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75345
75346         * lib/.cppi-disable: Add wcwidth.
75347         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
75348         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
75349         (ISGRAPH): Remove.  All uses changed to isgraph.
75350         (FOLD) [!defined _LIBC]: Remove special case.
75351         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
75352         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75353         HAVE_ISBLANK.
75354         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75355         case.
75356
75357 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75358
75359         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75360         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75361         brackets.  Other minor changes to suppress some compiler
75362         warnings.
75363
75364 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75365         and Paul Eggert  <eggert@cs.ucla.edu>
75366
75367         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75368         of invoking obsolescent AC_HEADER_DIRENT macro.
75369         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75370         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75371         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75372         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75373         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75374         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75375         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75376         * m4/readdir.m4: Remove; no longer needed.
75377
75378 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75379         and Paul Eggert  <eggert@cs.ucla.edu>
75380
75381         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75382         Don't worry about this obsolete case any more.
75383         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75384         directories.
75385         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75386         worry about this obsolete case any more.
75387         * lib/fts.c: Likewise.
75388         * lib/getcwd.c: Likewise.
75389         * lib/glob.h: Likewise.
75390         * lib/savedir.c: Likewise.
75391
75392 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75393
75394         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75395         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75396         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75397         needed.
75398         All uses removed.
75399         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75400         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75401         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75402         needed.
75403         * m4/getdate.m4 (gl_GETDATE): Likewise.
75404         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75405         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75406         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75407         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75408         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75409         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75410         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75411         needed.
75412
75413 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75414
75415         * lib/memcasecmp.c: Include <limits.h>.
75416         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75417         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75418         Don't assume isdigit succeeds only on '0' through '9'.
75419
75420 2006-07-05  Eric Blake  <ebb9@byu.net>
75421
75422         * modules/getaddrinfo (Depends-on): Add snprintf.
75423
75424 2006-07-05  Eric Blake  <ebb9@byu.net>
75425
75426         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75427         to avoid 'header present but could not be compiled' on cygwin.
75428
75429 2006-07-05  Eric Blake  <ebb9@byu.net>
75430
75431         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75432         missing from netdb.h.
75433         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75434
75435 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75436
75437         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75438         no longer needed.
75439         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75440         * m4/getdate.m4 (gl_GETDATE): Likewise.
75441         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75442         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75443         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75444         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75445         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75446
75447 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75448
75449         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75450         All uses of is_space replaced by isspace.
75451         * lib/exit.h: Don't talk about STDC_HEADERS.
75452         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75453         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75454         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75455         replaced by isprint etc.
75456         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75457         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75458         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75459         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75460         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75461         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75462
75463 2006-07-05  Bruno Haible  <bruno@clisp.org>
75464
75465         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75466         the function exists, before testing against AIX.
75467         Reported by Martin Lambers <marlam@marlam.de>.
75468
75469 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75470
75471         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75472         From Mark D. Baushke.
75473
75474 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75477         to the absolute name, not just one, to bypass Sun C 5.8's
75478         "warning: #include of /usr/include/... may be non-portable".
75479
75480 2006-07-04  Eric Blake  <ebb9@byu.net>
75481
75482         * modules/dirname-tests: New test module.
75483         * tests/test-dirname.c: New file, replacing dirname.c
75484         TEST_DIRNAME section that was recently deleted.
75485
75486 2006-07-04  Bruno Haible  <bruno@clisp.org>
75487
75488         Assume ANSI C header files and <ctype.h> functions.
75489         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75490         (mbsnwidth): Use isprint, iscntrl instead.
75491
75492 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75493
75494         Merge from coreutils.
75495         * MODULES.html.sh: Add xstrtold.
75496         * modules/xstrtold: New file.
75497         * modules/cycle-check (Files): Add lib/same-inode.h.
75498         * modules/dirname (Files): Add m4/double-slash-root.m4.
75499         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75500         * modules/mkdir-p (Files): Add lib/same-inode.h.
75501         * modules/same (Files): Add lib/same-inode.h.
75502
75503 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75504
75505         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75506         This is to keep the terminology clean; POSIX talks about
75507         "absolute pathnames", not "full pathnames", but the GNU
75508         Coding Standards say to use "path" for something else;
75509         so use "absolute" to keep both sides happy.
75510         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75511         Set gl_absolute_header, not gl_full_header_path.
75512         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75513         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75514         All uses changed.
75515
75516         Merge from coreutils.
75517
75518         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75519
75520         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75521         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75522         want to require the building of c-strtod.o.
75523         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75524         needs -lm directly.
75525         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75526
75527         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75528
75529         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75530         --as-needed option if available.  Problem reported by Albert Chin in
75531         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75532         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75533         cc merely issues a bunch of annoying warnings for --as-needed
75534         (this problem was reported by Bob Proulx).  Also, try linking with
75535         -lm to detect a bug in binutils 2.16 (this problem was reported
75536         by Ralf Wildenhues).
75537
75538         2006-06-18  Jim Meyering  <jim@meyering.net>
75539
75540         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75541         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75542         macro.
75543         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75544         also check for glibc-2.4's abort-inducing bug.
75545
75546         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75547         Low-probability clean-up should be to use rmdir to get rid of
75548         the just-created directory, not unlink.
75549
75550         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75551         configure fail, and request a bug report to inform us about it.
75552         Add a comment that, barring reports to the contrary, in 2007 we'll
75553         assume ftruncate is universally available.
75554
75555         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75556
75557         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75558
75559         2006-03-12  Jim Meyering  <jim@meyering.net>
75560
75561         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75562         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75563         * m4/same.m4 (gl_SAME): Likewise.
75564         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75565
75566         2006-03-11  Eric Blake  <ebb9@byu.net>
75567
75568         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75569         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75570         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75571         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75572
75573 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75574
75575         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75576         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75577         reported by Mark D. Baushke, one in
75578         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75579
75580         Merge from coreutils.
75581
75582         * lib/.cppi-disable: Add stdint_.h.
75583         * lib/.cvsignore: Add stdint.h.
75584
75585         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75586
75587         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75588         both double and long double versions.
75589         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75590         * lib/xstrtold.c: New file.
75591         * lib/xstrtod.h (xstrtold): New decl.
75592
75593         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75594
75595         * lib/filemode.c (setst): Remove.
75596         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75597         (arguably) clearer, and the generated code is a bit smaller on my
75598         Debian GNU/Linux stable x86 host.
75599
75600         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75601
75602         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75603         Assume that filemode.h includes sys/types.h and sys/stat.h.
75604         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75605         (ftypelet): Reorder to put common cases first, for efficiency.
75606         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75607         to do 'M'.
75608         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75609         of 10, for compatibility with FreeBSD.  All callers changed.
75610         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75611         types that can't be deduced solely from st_mode.  First arg is now a
75612         const pointer.
75613         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75614         (strmode): Renamed from mode_string.
75615         (filemodestring): New decl.
75616         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75617         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75618         needed.
75619         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75620
75621         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75622
75623         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75624         fsusage.h now does that.  Include fsusage.h first, to test interface.
75625         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75626         at most one method (the old code could have generated decls that
75627         didn't conform to C89, not that this was ever exercised).
75628         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75629
75630         2006-03-19  Jim Meyering  <jim@meyering.net>
75631
75632         Work even in a chroot where d_ino values for entries in "/"
75633         don't match the stat.st_ino values for the same names.
75634         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75635         number, iterate through all entries again, using lstat instead.
75636         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75637         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75638
75639         * lib/getcwd.c (__getcwd): Clarify a comment.
75640         Use memcpy in place of a call to strcpy.
75641
75642         2006-03-12  Jim Meyering  <jim@meyering.net>
75643
75644         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75645         matches that of the current directory (which we're about to chdir ".."
75646         out of), then save the dev-ino of the parent, instead.
75647
75648         * lib/same-inode.h (SAME_INODE): New file/macro.
75649         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75650         Include "same-inode.h", instead.
75651         * lib/same.c: Likewise.
75652         * lib/cycle-check.h: Include "same-inode.h".
75653         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75654         * lib/cycle-check.c (SAME_INODE): Remove definition.
75655         * lib/root-dev-ino.h: Include "same-inode.h".
75656
75657         2006-03-11  Eric Blake  <ebb9@byu.net>
75658
75659         * lib/same.c (same_name): s/base_name/last_component/
75660         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75661         * lib/filenamecat.c (file_name_concat): Likewise.
75662
75663         2006-03-11  Eric Blake  <ebb9@byu.net>,
75664                     Paul Eggert  <eggert@cs.ucla.edu>
75665
75666         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75667         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75668         drive prefix.
75669         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75670         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75671         (last_component): New method.
75672         * lib/dirname.c (dir_len): Determine when drive letters need a
75673         subsequent slash.  Preserve // when it is special.
75674         (dir_name): Don't append dot when drive letter is absolute.
75675         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75676         * lib/basename.c (base_name): New semantics - malloc the result.
75677         Preserve // when it is special.  Preserve relative files that look
75678         like drive letters.
75679         (base_len): Preserve // when it is special.
75680         (last_component): New method, similar to old base_name semantics.
75681         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75682         base_name.  Strip redundant slashes from ///.
75683
75684 2006-07-03  Jim Meyering  <jim@meyering.net>
75685
75686         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75687         macro is used before the first cycle_check call.
75688
75689 2006-07-03  Eric Blake  <ebb9@byu.net>
75690
75691         * modules/dirname (Depends-on): Add xstrndup.
75692
75693 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75694
75695         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75696         test cases, so that config.log is a bit easier to follow.
75697
75698 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75699
75700         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75701         both are 64 bits, since this seems to be the tradition, and this
75702         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75703         we ever run into a host that prefers long long to long in this
75704         case, we'll need another configure-time test.  Problem reported by
75705         Jim Meyering.
75706
75707 2006-07-02  Eric Blake  <ebb9@byu.net>
75708
75709         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75710
75711 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75712
75713         * modules/inttypes (Depends-on): No longer depends on stdint.
75714         * modules/stdint (Description): Say more about assumptions.
75715         Say that the fast types might differ.  Say macros are used.
75716         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75717         (Makefile.am): Revise list of substituted symbols to match
75718         new stdint.m4.
75719         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75720         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75721         * tests/test-stdint.c (verify_same_types)
75722         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75723         the code conforms to C99/C89.
75724         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75725         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75726
75727 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75728
75729         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75730         but fix a bug, by requiring at least 64 bits.
75731         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75732         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75733         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75734         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75735
75736         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75737         changes.  Make 2.59 a prerequisite.  Check and substitute for
75738         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75739         inttypes.h.  Do not use special include files; just use the
75740         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75741         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75742         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75743         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75744         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75745         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75746         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75747         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75748         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75749         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75750         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75751         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75752         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75753         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75754         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75755         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75756         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75757         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75758         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75759         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75760         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75761         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75762         not check for things that C99 does not require, e.g., int8_t.  If
75763         a test isn't needed unless <stdint.h> isn't working, and is
75764         unlikely to be needed for any other reason, then don't do it
75765         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75766         size_t, since we assume C89 freestanding at least.  Do not check
75767         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75768         the right thing even if the types are not defined.  Instead use:
75769         (gl_STDINT_TYPE_PROPERTIES): New macro.
75770         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75771         testing whether <sys/types.h> clashes, as Autoconf does this for
75772         us now.  All uses removed.
75773         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75774         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75775         (gl_CHECK_TYPE_SAME):
75776         Remove; no longer needed.
75777         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75778         exists, since we'll return 0 anyway in that case.
75779         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75780
75781 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75782
75783         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75784         possible collision with system files.
75785         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75786         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75787         WCHAR_MIN and WCHAR_MAX in this case.
75788         (<stddef.h>): Do not include; no longer needed.
75789         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75790         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75791         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75792         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75793         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75794         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75795         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75796         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75797         !defined(__c99))]: Include in this case too, since it's harmless
75798         now.
75799         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75800         dangerous to do so.
75801         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75802         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75803         (_STDINT_MIN, _STDINT_MAX): New macros.
75804         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75805         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75806         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75807         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75808         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75809         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75810         macros, not typedefs; this simplifies things quite a bit.
75811         Use long int for all types narrower than int64_t.
75812         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75813         Define in terms of long long int or int64_t or long int,
75814         not int64_t or int32_t.  This saves some compile-time testing.
75815         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75816         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75817         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75818         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75819         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75820         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75821         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75822         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75823         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75824         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75825         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75826         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75827         undef any previous version and define our own version, for
75828         simplicity and consistency with the new macros for types.
75829         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75830         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75831         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75832         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75833         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75834         @WINT_T_SUFFIX@ to keep things simple here.
75835         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75836         Simplify by assuming typical 8/16/32/64 host, since we're
75837         already doing that elsewhere anyway.
75838         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75839         and assume long long int is 64 bits if available.  This
75840         speeds up 'configure'.
75841
75842 2006-07-01  Eric Blake  <ebb9@byu.net>
75843
75844         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75845         Reported by Andreas Buening.
75846
75847 2006-07-01  Eric Blake  <ebb9@byu.net>
75848
75849         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75850
75851 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75852
75853         * lib/getaddrinfo.c: fixed typo
75854
75855 2006-06-29  Jim Meyering  <jim@meyering.net>
75856
75857         * modules/strftime (Maintainer): Add my name, since with the
75858         FPRINTFTIME changes strftime.c has forked from glibc.
75859
75860 2006-06-29  Eric Blake  <ebb9@byu.net>
75861
75862         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75863
75864 2006-06-29  Eric Blake  <ebb9@byu.net>
75865
75866         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75867
75868 2006-06-29  Eric Blake  <ebb9@byu.net>
75869
75870         * lib/stat_.h: New file.
75871
75872 2006-06-29  Eric Blake  <ebb9@byu.net>
75873
75874         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75875         unused static function.
75876
75877 2006-06-29  Eric Blake  <ebb9@byu.net>
75878
75879         * doc/functions.texi (Function Portability): Document missing lstat
75880         on mingw.
75881
75882 2006-06-29  Eric Blake  <ebb9@byu.net>
75883
75884         * MODULES.html.sh: Add sys_stat.
75885         * modules/sys_stat: New module.
75886         * modules/mkstemp (Depends-on): Add sys_stat.
75887
75888 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75889
75890         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75891
75892 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75893
75894         * m4/c-bs-a.m4: Removed.
75895
75896 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75897
75898         * lib/strftime.c: Assume strftime() exists.
75899
75900 2006-06-29  Derek Price  <derek@ximbiot.com>
75901
75902         * modules/c-bs-a: Removed - \a is C89.
75903         * MODULES.html.sh: Remove c-bs-a.
75904
75905 2006-06-29  Bruno Haible  <bruno@clisp.org>
75906
75907         * modules/wcwidth (License): Change to LGPL.
75908
75909 2006-06-28  Simon Josefsson  <jas@extundo.com>
75910
75911         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75912         on _WIN32.
75913
75914         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75915         getnameinfo.
75916
75917 2006-06-28  Simon Josefsson  <jas@extundo.com>
75918
75919         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75920
75921 2006-06-28  Simon Josefsson  <jas@extundo.com>
75922
75923         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75924         functions there.  It will succeed on Windows XP, but on Windows
75925         2000 and (presumably) earlier, it will fail, and use the internal
75926         re-implementation.
75927         (use_win32_p): New function.
75928         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75929         Support AI_NUMERICSERV to disable getservbyname.
75930         (getnameinfo): New function, only supports
75931         NI_NUMERICHOST|NI_NUMERICSERV for now.
75932
75933         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75934         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75935         getnameinfo.
75936
75937 2006-06-28  Eric Blake  <ebb9@byu.net>
75938
75939         * modules/wcwidth: New file.
75940         * modules/mbchar (Depends-on): Add wcwidth.
75941         * modules/mbswidth (Depends-on): Add wcwidth.
75942         * MODULES.html.sh: Add wcwidth.
75943
75944 2006-06-28  Eric Blake  <ebb9@byu.net>
75945
75946         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75947         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75948
75949 2006-06-28  Eric Blake  <ebb9@byu.net>
75950
75951         * lib/xvasprintf.h: Fix comments.
75952
75953 2006-06-28  Eric Blake  <ebb9@byu.net>
75954
75955         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75956         * lib/mbswidth.c (wcwidth): Move from here...
75957         * lib/wcwidth.h: ...to this new file.
75958
75959 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75960
75961         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75962
75963         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75964         it's obsolete.
75965         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75966
75967 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75968
75969         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75970         Autoconf 2.60 says this stuff was obsolete.
75971
75972 2006-06-28  Bruno Haible  <bruno@clisp.org>
75973
75974         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75975
75976 2006-06-28  Bruno Haible  <bruno@clisp.org>
75977
75978         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75979         gt_TYPE_WCHAR_T.
75980
75981 2006-06-28  Bruno Haible  <bruno@clisp.org>
75982
75983         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75984         declaration for wcwidth.
75985         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75986
75987 2006-06-28  Bruno Haible  <bruno@clisp.org>
75988
75989         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75990         (mkdir): Define using _mkdir.
75991
75992 2006-06-28  Bruno Haible  <bruno@clisp.org>
75993
75994         * lib/getaddrinfo.h: Fix POSIX URL.
75995         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75996         _WIN32.
75997         (use_win32_p): Make static.
75998         (getaddrinfo): Reject service name if it is empty or does not consist
75999         solely of decimal digits, or if its value is > 65535.
76000         (getnameinfo): Remove useless casts.
76001
76002 2006-06-27  Simon Josefsson  <jas@extundo.com>
76003
76004         * modules/sys_select: New file, suggested by Bruno Haible, Paul
76005         Eggert and Martin Lambers.
76006
76007 2006-06-27  Simon Josefsson  <jas@extundo.com>
76008
76009         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
76010         Eggert and Martin Lambers.
76011
76012 2006-06-27  Bruno Haible  <bruno@clisp.org>
76013
76014         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
76015         result to 0, not to empty.
76016         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
76017
76018 2006-06-27  Bruno Haible  <bruno@clisp.org>
76019
76020         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
76021
76022 2006-06-26  Simon Josefsson  <jas@extundo.com>
76023
76024         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
76025         present.
76026
76027 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
76028
76029         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
76030         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
76031         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
76032
76033 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
76034
76035         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
76036
76037 2006-06-26  Bruno Haible  <bruno@clisp.org>
76038
76039         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
76040
76041 2006-06-26  Bruno Haible  <bruno@clisp.org>
76042
76043         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
76044
76045 2006-06-26  Bruno Haible  <bruno@clisp.org>
76046
76047         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
76048         SGI C compiler in pre-C99 mode.
76049         Suggested by Mark D. Baushke and Larry Jones.
76050
76051 2006-06-26  Bruno Haible  <bruno@clisp.org>
76052
76053         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
76054         WCHAR_MAX.
76055         Reported by Mark D. Baushke and Larry Jones.
76056
76057 2006-06-26  Bruno Haible  <bruno@clisp.org>
76058
76059         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
76060         in pre-C99 mode.
76061         Suggested by Mark D. Baushke and Larry Jones.
76062
76063 2006-06-23  Simon Josefsson  <jas@extundo.com>
76064             Bruno Haible  <bruno@clisp.org>
76065
76066         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
76067         Emit mostlyclean-local rule.
76068         (func_emit_tests_Makefile_am): Likewise.
76069         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
76070
76071 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
76072
76073         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
76074
76075 2006-06-23  Bruno Haible  <bruno@clisp.org>
76076
76077         * tests/test-stdint.c: Update to match ISO C 99 Technical
76078         Corrigendum 1.
76079
76080 2006-06-23  Bruno Haible  <bruno@clisp.org>
76081
76082         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
76083
76084 2006-06-23  Bruno Haible  <bruno@clisp.org>
76085
76086         * lib/stdint_.h: Treat IRIX like OpenBSD.
76087
76088 2006-06-23  Bruno Haible  <bruno@clisp.org>
76089
76090         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
76091         ISO C 99 Technical Corrigendum 1.
76092
76093 2006-06-22  Simon Josefsson  <jas@extundo.com>
76094
76095         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
76096         MinGW.
76097
76098 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76099
76100         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
76101         needed.  Some compiler complained about some of them.  Problem reported
76102         by Larry Jones in
76103         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
76104
76105 2006-06-21  Simon Josefsson  <jas@extundo.com>
76106
76107         * tests/test-getaddrinfo.c: New file.
76108
76109         * modules/getaddrinfo-tests: New file.
76110
76111         * MODULES.html.sh: Add inet_pton.
76112
76113         * modules/inet_pton: New file.
76114
76115 2006-06-21  Simon Josefsson  <jas@extundo.com>
76116
76117         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
76118         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
76119         of using the (limited) gnulib implementation on Windows XP.
76120
76121         * m4/inet_pton.m4: New file.
76122
76123 2006-06-21  Simon Josefsson  <jas@extundo.com>
76124
76125         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
76126         variable.
76127
76128         * lib/socket_.h: Don't define WINVER.
76129
76130         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
76131         slightly modified to work in gnulib.
76132
76133 2006-06-21  Simon Josefsson  <jas@extundo.com>
76134
76135         * doc/gnulib.texi (Windows sockets): Add.
76136
76137 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
76138
76139         * lib/read-file.c (fread_file): Start with buffer allocation of
76140         0 bytes rather than 1 byte; this simplifies the code.
76141         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
76142         code to free buffer and save/restore errno.
76143         (internal_read_file): Remove unused local.
76144
76145 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
76146
76147         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
76148         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
76149         Problem reported by Denis Excoffier in
76150         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
76151
76152 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76153
76154         * modules/sys_socket, modules/socklen: Include sys/types since
76155         FreeBSD 4.x's sys/socket.h needs it.
76156
76157 2006-06-19  Simon Josefsson  <jas@extundo.com>
76158
76159         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
76160
76161 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76162
76163         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
76164
76165 2006-06-19  Bruno Haible  <bruno@clisp.org>
76166
76167         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
76168         and FULL_PATH_INTTYPES_H in angle brackets.
76169         Reported by Mark D. Baushke <mdb@gnu.org>.
76170
76171 2006-06-17  Eric Blake  <ebb9@byu.net>
76172
76173         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
76174         errno.
76175
76176 2006-06-17  Bruno Haible  <bruno@clisp.org>
76177
76178         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
76179         <sys/inttypes.h>.
76180
76181 2006-06-17  Bruno Haible  <bruno@clisp.org>
76182
76183         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
76184         whether errno is declared. Assume <errno.h> declares errno.
76185
76186 2006-06-17  Bruno Haible  <bruno@clisp.org>
76187
76188         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
76189
76190 2006-06-17  Bruno Haible  <bruno@clisp.org>
76191
76192         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
76193         problem on Solaris 2.5.1.
76194
76195 2006-06-16  Eric Blake  <ebb9@byu.net>
76196
76197         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
76198         * lib/unicodeio.c [!defined errno]: Likewise.
76199         * lib/strtol.c [!defined errno]: Likewise.
76200         * lib/strtod.c [!defined errno]: Likewise.
76201
76202 2006-06-15  Eric Blake  <ebb9@byu.net>
76203
76204         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
76205
76206 2006-06-15  Eric Blake  <ebb9@byu.net>
76207
76208         * config/srclist.txt (ssize_t.m4): Lose sync.
76209
76210 2006-06-15  Bruno Haible  <bruno@clisp.org>
76211
76212         * modules/stdint (Files): Include m4/full-header-path.m4,
76213         m4/size_max.m4, m4/wchar_t.m4.
76214         (Makefile.am): Many more substitutions.
76215         * modules/stdint-tests: New file.
76216         * tests/test-stdint.c: New file.
76217
76218 2006-06-15  Bruno Haible  <bruno@clisp.org>
76219
76220         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
76221         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
76222         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
76223         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
76224         gl_CHECK_TYPE_SAME): New macros.
76225
76226 2006-06-15  Bruno Haible  <bruno@clisp.org>
76227
76228         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
76229
76230 2006-06-15  Bruno Haible  <bruno@clisp.org>
76231
76232         * lib/stdint_.h: Rewritten to be fully auto-configured.
76233         Fixes bug on HP-UX/IA64.
76234
76235 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76236
76237         * lib/getdate.y (__attribute__): Don't define if already defined.
76238         Problem reported by Larry Jones.
76239         * lib/utimens.c (__attribute__): Likewise.
76240
76241 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76242
76243         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76244         reported by Andreas Schwab.
76245
76246 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76247             Bruno Haible  <bruno@clisp.org>
76248
76249         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76250         check for the declaration of strnlen and a run test that exposes the
76251         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76252         rpl_strndup.
76253
76254 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76255             Bruno Haible  <bruno@clisp.org>
76256
76257         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76258
76259 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76260
76261         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76262         compile test, for Tru64 4.0D.
76263
76264 2006-05-28  Karl Berry  <karl@gnu.org>
76265
76266         * config/srclist.txt (printf-args.c): lose sync.
76267
76268 2006-05-26  Martin Lambers  <marlam@marlam.de>
76269
76270         * lib/getpass.c: Updates the test for the native W32 API, and adds
76271         missing includes, thus fixing compilation warnings.
76272
76273 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76274
76275         * lib/exclude.c (exclude_fnmatch): New function.
76276         (excluded_file_name): Call exclude_fnmatch.
76277         * lib/exclude.h (excluded_file_name): New prototype
76278
76279 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76280
76281         * lib/tempname.c (small_open, large_open): New macros.
76282         (__open, __open64) [!_LIBC]: Remove.
76283         (__gen_tempname): Use small_open and large_open instead of __open
76284         and __open64.  This fixes a portability bug on HP-UX 11.11i
76285         reported by Simon Wing-Tang in
76286         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76287
76288 2006-05-24  Bruno Haible  <bruno@clisp.org>
76289
76290         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76291         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76292         Reported by Thorsten Maerz <torte@netztorte.de> via
76293         Aaron Stone <aaron@serendipity.cx>.
76294
76295 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76296
76297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76298         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76299         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76300         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76301         not really conditional on the cache.
76302         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76303
76304 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76305
76306         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76307         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76308         (my_usleep): Don't mishandle maximum value.
76309
76310 2006-05-19  Jim Meyering  <jim@meyering.net>
76311
76312         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76313
76314 2006-05-17  Bruno Haible  <bruno@clisp.org>
76315
76316         Cygwin portability.
76317         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76318
76319 2006-05-17  Bruno Haible  <bruno@clisp.org>
76320
76321         * lib/stdint_.h: Fix recognition of Cygwin.
76322
76323 2006-05-15  Bruno Haible  <bruno@clisp.org>
76324
76325         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76326         on libtool patch by Ralf Wildenhues.
76327
76328 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76329
76330         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
76331         test for C99 conformance; (bool) 0.5 is an integer constant
76332         expression, but (bool) -0.5 is not.  Problem reported by Fedor
76333         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
76334
76335 2006-05-11  Simon Josefsson  <jas@extundo.com>
76336
76337         * m4/xvasprintf.m4: Fix obvious typo.
76338
76339 2006-05-11  Jim Meyering  <jim@meyering.net>
76340
76341         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
76342         James Lemley.
76343
76344 2006-05-10  Simon Josefsson  <jas@extundo.com>
76345
76346         * lib/md4.c: Typo fix, update copyright years.
76347         (K1, K2): Don't use L because it turn computations into 64-bit on
76348         64-bit platforms.
76349
76350 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
76351
76352         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76353         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76354         unwanted sign propagation, e.g., on hosts with 64-bit int.
76355         There still are some problems with reeelly weird theoretical hosts
76356         (e.g., 33-bit int) but it's not worth worrying about now.
76357         * lib/sha1.c (rol): Likewise.
76358         (K1, K2, K3, K4): Remove unnecessary L suffix.
76359
76360 2006-05-10  Bruno Haible  <bruno@clisp.org>
76361
76362         * lib/des.c: Cast to avoid warnings.
76363
76364 2006-05-09  Bruno Haible  <bruno@clisp.org>
76365
76366         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76367         (Depends-on): Depend also on xsize, stdarg.
76368         (configure.ac): Add gl_XVASPRINTF.
76369
76370 2006-05-09  Bruno Haible  <bruno@clisp.org>
76371
76372         * m4/xvasprintf.m4: New file.
76373
76374 2006-05-09  Bruno Haible  <bruno@clisp.org>
76375
76376         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76377         (EOVERFLOW): Define fallback value.
76378         (xstrcat): New function.
76379         (xvasprintf): Recognize the special case of a string concatenation.
76380
76381 2006-05-08  Eric Blake  <ebb9@byu.net>
76382
76383         * gnulib-tool (func_version): Base copyright year on CVS date.
76384         (func_emit_copyright_notice): New function.
76385         (func_emit_lib_Makefile_am): Use it.
76386         (func_emit_tests_Makefile_am): Likewise.
76387         (func_import): Likewise.
76388
76389 2006-05-08  Bruno Haible  <bruno@clisp.org>
76390
76391         * modules/stdarg: New file.
76392         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76393
76394 2006-05-08  Bruno Haible  <bruno@clisp.org>
76395
76396         * m4/stdarg.m4: New file, from GNU gettext.
76397
76398 2006-05-08  Bruno Haible  <bruno@clisp.org>
76399
76400         * config/srclist.txt (build-aux/config.rpath): different from latest
76401         release.
76402
76403 2006-05-08  Bruno Haible  <bruno@clisp.org>
76404
76405         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76406
76407 2006-05-05  Jim Meyering  <jim@meyering.net>
76408
76409         * m4/warning.m4: New file, derived from bison's file by the same name.
76410
76411 2006-05-03  Bruno Haible  <bruno@clisp.org>
76412
76413         * lib/stdint_.h: Shorter URL.
76414         * lib/inttypes.h: Likewise.
76415
76416 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76417
76418         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76419
76420 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76421
76422         * lib/verify.h: Document the internals better.  Most of this change
76423         was written by Bruno Haible.
76424
76425 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76426
76427         * doc/verify.texi: New file, partly based on a proposal by
76428         Bruno Haible.
76429
76430 2006-05-02  Bruno Haible  <bruno@clisp.org>
76431
76432         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76433         test from here...
76434         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76435
76436 2006-04-29  Bruno Haible  <bruno@clisp.org>
76437
76438         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76439         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76440
76441 2006-04-29  Bruno Haible  <bruno@clisp.org>
76442
76443         * gnulib-tool: Make --update option actually work.
76444
76445 2006-04-29  Bruno Haible  <bruno@clisp.org>
76446
76447         * doc/gcd.texi: New file.
76448         * doc/gnulib.texi: Include it.
76449
76450 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76451
76452         * lib/getdate.y (get_date): When adding relative date, start with the
76453         initial time, not with the result of the first mktime call.
76454
76455 2006-04-25  Bruno Haible  <bruno@clisp.org>
76456
76457         * gnulib-tool (func_import): Output the include directives in three
76458         blocks, sorted separately.
76459         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76460
76461 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76462
76463         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76464         to define main with arguments, for C++.  Reported by Eric Blake.
76465         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76466         Prefer 'int main ()' to 'int main (void)', for C++.
76467         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76468         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76469         for 'main', for C99 and C++.
76470
76471 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76472
76473         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76474         Don't assume that exit status -1 is valid.
76475         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76476         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76477         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76478         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76479         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76480         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76481         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76482         functions can be used without declaring them, or that you can
76483         exit with status -1.
76484         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76485
76486 2006-04-24  Karl Berry  <karl@gnu.org>
76487
76488         * config/srclist.txt (longdouble.m4): sync lost.
76489
76490 2006-04-24  Eric Blake  <ebb9@byu.net>
76491
76492         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76493
76494 2006-04-24  Bruno Haible  <bruno@clisp.org>
76495
76496         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76497         poll() implementation in AIX.
76498         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76499
76500 2006-04-24  Bruno Haible  <bruno@clisp.org>
76501
76502         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76503         assigned exactly once.
76504
76505 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76506             Bruno Haible  <bruno@clisp.org>
76507
76508         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76509         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76510         for AM_CPPFLAGS.
76511
76512 2006-04-23  Bruno Haible  <bruno@clisp.org>
76513
76514         * modules/copy-file: Depend on unistd.
76515         * modules/execute: Likewise.
76516         * modules/fatal-signal: Likewise.
76517         * modules/findprog: Likewise.
76518         * modules/mkdtemp : Likewise.
76519         * modules/pipe: Likewise.
76520         * modules/wait-process: Likewise.
76521
76522 2006-04-23  Bruno Haible  <bruno@clisp.org>
76523
76524         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76525         condition was already detected.
76526         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76527
76528 2006-04-23  Bruno Haible  <bruno@clisp.org>
76529
76530         * lib/copy-file.c: Include <unistd.h> unconditionally.
76531         * lib/execute.c: Likewise.
76532         * lib/fatal-signal.c: Likewise.
76533         * lib/findprog.c: Likewise.
76534         * lib/mkdtemp.c: Likewise.
76535         * lib/pipe.h: Likewise.
76536         * lib/pipe.c: Likewise.
76537         * lib/wait-process.h: Likewise.
76538
76539 2006-04-23  Bruno Haible  <bruno@clisp.org>
76540
76541         * gnulib-tool (func_usage): Fix --import description. Document
76542         --update.
76543         (func_import): Create temporary file in a temporary directory, if
76544         --dry-run is specified. Silence errors from 'grep' when there are no
76545         m4 files in $m4dir.
76546         (func_create_testdir): Silence errors from 'grep' when there are no
76547         m4 files in $m4dir.
76548         Reported by Karl Berry <karl@freefriends.org>.
76549
76550 2006-04-20  Bruno Haible  <bruno@clisp.org>
76551
76552         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76553         one argument, so that the code will be portable to Autoconf 2.60.
76554         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76555         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76556         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76557
76558 2006-04-19  Derek Price  <derek@ximbiot.com>
76559             Eric Blake  <ebb9@byu.net>
76560
76561         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76562         rather than "/full/path.h".  Update comment to match.  Shorten &
76563         generalize m4_translit call via AS_TR_CPP.
76564
76565 2006-04-19  Derek Price  <derek@ximbiot.com>
76566             Eric Blake  <ebb9@byu.net>
76567
76568         * lib/inttypes.h: Correct grammar in comment.
76569
76570 2006-04-18  Derek Price  <derek@ximbiot.com>
76571             Paul Eggert  <eggert@cs.ucla.edu>
76572
76573         * modules/inttypes: New file.
76574         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76575
76576 2006-04-18  Derek Price  <derek@ximbiot.com>
76577             Paul Eggert  <eggert@cs.ucla.edu>
76578
76579         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76580         New files.
76581
76582 2006-04-18  Derek Price  <derek@ximbiot.com>
76583             Paul Eggert  <eggert@cs.ucla.edu>
76584
76585         * lib/inttypes.h: New file.
76586         * lib/strtoimax.c: Assume <inttypes.h>.
76587
76588 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76589
76590         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76591         isn't mounted.  Problem reported by Kir Kolyshkin.
76592
76593 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76594
76595         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76596         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76597         Derek R. Price.
76598         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76599         implementation.
76600
76601 2006-04-12  Eric Blake  <ebb9@byu.net>
76602
76603         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76604         is now done automatically by the corresponding Autoconf macro.
76605
76606 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76607
76608         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76609         time_r.h.
76610
76611 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76612
76613         Merge regex changes from libc, removing some of our
76614         POSIX-conformance changes that were rejected and redoing them in a
76615         less-intrusive way.
76616
76617         * lib/regcomp.c (re_compile_internal, init_dfa):
76618         Length arg is now size_t, not Idx.  All uses changed.
76619         (peek_token): Forward decl now says internal_function.
76620         (__re_error_msgid, __re_error_msgid_idx):
76621         Now static rather than extern with attribute_hidden.
76622         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76623         For some reason libc prefers K&R style defns for external functions.
76624         (regerror) [!defined _LIBC]: Likewise.
76625         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76626         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76627         (build_range_exp, build_collating_symbol):
76628         Use K&R-style defn.
76629         (re_compile_fastmap): Use '\0' to memset, not 0.
76630         (utf8_sb_map): Make the calculations more obvious.
76631         (init_dfa, parse_bracket_exp, build_charclass_op):
76632         Call calloc and cast result, as glibc does.
76633         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76634         (build_range_exp, build_collating_symbol):
76635         Now internal functions.
76636
76637         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76638
76639         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76640         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76641         Don't depend on VMS; depend on __VMS instead, for POSIX
76642         namespace cleanness.
76643         (regoff_t): Define to ssize_t, not long int.
76644
76645         Remove the REG_ macros named below.  Instead, make the old names
76646         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76647         __USE_GNU_REGEX.
76648         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76649         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76650         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76651         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76652         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76653         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76654         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76655         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76656         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76657         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76658         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76659         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76660         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76661         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76662         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76663         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76664         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76665         (REG_NREGS):
76666         Remove.  All uses replaced by the old RE_* names.
76667         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76668         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76669         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76670         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76671         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76672         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76673         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76674         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76675         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76676         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76677         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76678         Don't bother having these macros be independent of each others'
76679         values, since they no longer exist in the POSIX name space.
76680
76681         Rename the following member names back to their old names,
76682         unless !__USE_GNU_REGEX.  All uses changed back.
76683         (buffer): Renamed from re_buffer.
76684         (allocated): Renamed from re_allocated.
76685         (used): Renamed from re_used.
76686         (syntax): Renamed from re_syntax.
76687         (fastmap): Renamed from re_fastmap.
76688         (translate): Renamed from re_translate.
76689         (can_be_null): Renamed from re_can_be_null.
76690         (regs_allocated): Renamed from re_regs_allocated.
76691         (fastmap_accurate): Renamed from re_fastmap_accurate.
76692         (no_sub): Renamed from re_no_sub.
76693         (not_bol): Renamed from re_not_bol.
76694         (not_eol): Renamed from re_not_eol.
76695         (newline_anchor): Renamed from re_newline_anchor.
76696         (num_regs): Renamed from rm_num_regs.
76697         (start): Renamed from rm_start.
76698         (end): Renamed from rm_end.
76699
76700         (free_state): Move up a bit.
76701
76702         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76703         #define to be empty.
76704         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76705         when that is what is intended.
76706         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76707         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76708         (MAX): New macro.
76709         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76710         All uses changed back to re_malloc, etc.  It's now the caller's
76711         responsibility to check for overflow; all callers changed.
76712         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76713         (re_x2nrealloc): Remove.
76714         (free_state): Remove decl.
76715
76716         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76717         (re_set_registers, re_exec):
76718         Use K&R-style defn.
76719
76720         2006-01-31  Roland McGrath  <roland@redhat.com>
76721
76722         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76723         Reported by Mike Frysinger <vapier@gentoo.org>.
76724
76725         2006-01-15  Andreas Jaeger  <aj@suse.de>
76726
76727         [BZ #1950]
76728         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76729         build_wcs_upper_buffer change.
76730         (build_wcs_upper_buffer): Change return type.
76731
76732         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76733
76734         * lib/regex_internal.h: Include <stdint.h> if available.
76735
76736         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76737
76738         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76739
76740         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76741
76742         * lib/regcomp.c: Adjust for changed secondary hash function.
76743
76744         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76745
76746         * lib/regex.h: Pretty printing.
76747         Clean up namespace a bit.
76748
76749         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76750
76751         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76752         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76753
76754         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76755                     Ulrich Drepper  <drepper@redhat.com>
76756
76757         [BZ #1302]
76758         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76759         changed.
76760         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76761
76762         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76763
76764         [BZ #281]
76765         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76766         * lib/regcomp.c: Remove unnecessary uses of
76767         unsigned RE_TRANSLATE_TYPE.
76768         * lib/regex_internal.h: Likewise.
76769         * lib/regex_internal.c: Likewise.
76770         * lib/regexec.c: Likewise.
76771         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76772
76773         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76774
76775         * lib/regexec.c (find_recover_state): Remove unnecessary
76776         initialization.
76777         (transit_state_bkref): Make DFA a const pointer.
76778         (get_subexp): Likewise.
76779         (check_arrival): Likewise.
76780         (update_cur_sifted_state): Likewise.
76781         (re_search_internal): Likewise.
76782         (prune_impossible_nodes): Likewise.
76783         (acquire_init_state_context): Likewise.
76784         (proceed_next_node): Likewise.
76785         (set_regs): Likewise.
76786         (free_fail_stack_return): Likewise.
76787         (check_arrival_expand_ecl): Mark DFA parameter as const.
76788         (check_arrival_expand_ecl_sub): Likewise.
76789         (check_subexp_limits): Likewise.
76790         (sub_epsilon_src_nodes):  Likewise.
76791         (add_epsilon_src_nodes):  Likewise.
76792         (merge_state_array): Likewise.
76793         (update_regs): Likewise.
76794         (build_trtable): Likewise.
76795         (sift_states_backward): Mark MCTX parameter as const.
76796         (build_sifted_states): Likewise.
76797         (update_cur_sifted_state): Likewise.
76798         (sift_states_mkref): Likewise.
76799         (check_arrival_expand_ecl): Mark eclosure as const.
76800         (check_dst_limits_calc_pos_1): Likewise.
76801         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76802         pointer.
76803
76804         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76805
76806         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76807         (transit_state_sb): Likewise.
76808         (transit_state_mb): Likewise.
76809         (sift_states_iter_mb): Likewise.
76810         (check_arrival_add_next_nodes): Likewise.
76811         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76812         [_LIBC] (re_search_2_stub): Use mempcpy.
76813
76814         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76815         mbrtowc for very simple UTF-8 case.
76816
76817         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76818         a pointer-to-const.
76819         (re_acquire_state_context): Likewise.
76820         * lib/regex_internal.h: Adjust prototypes.
76821
76822         * lib/regex.c: Prevent using C++ compilers.
76823
76824         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76825         (re_acquire_state_context): Likewise.
76826
76827 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76828
76829         * modules/regex (Depends-on): Add ssize_t.
76830
76831 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76832
76833         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76834         translation table.
76835
76836 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76837
76838         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76839
76840 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76841             Bruno Haible  <bruno@clisp.org>
76842
76843         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76844         <sys/types.h> and <inttypes.h>.
76845
76846 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76847
76848         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76849         `__error_t_defined', so argp.h will not typedef the former.
76850
76851 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76852
76853         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76854         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76855         glibc names.  Even if glibc is changed to conform to POSIX, the
76856         traditional names will be available anyway, since regex depends on
76857         the extensions module.  Also, fix a longstanding typo in the
76858         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76859         reported by Emanuele Giaquinta.  Also, change sense of cached
76860         variable, so that the message makes sense.
76861
76862 2006-03-24  Simon Josefsson  <jas@extundo.com>
76863
76864         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76865         including some doc fixes.
76866         (base64_encode_alloc): Fix +1 bug on allocation failures.
76867
76868 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76869
76870         * lib/base64.c (base64_encode): Do not read past end of array with
76871         unsanitized input on systems with CHAR_BIT > 8.
76872
76873 2006-03-24  Eric Blake  <ebb9@byu.net>
76874
76875         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76876
76877 2006-03-22  Karl Berry  <karl@gnu.org>
76878
76879         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76880         * config/srclistvars.sh (COREUTILS): new var.
76881
76882 2006-03-17  Jim Meyering  <jim@meyering.net>
76883
76884         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76885         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76886
76887 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76888
76889         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76890         no longer needs it.  Instead, check that regoff_t is as least
76891         as wide as ptrdiff_t.
76892
76893         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76894         so that our regex.h stays compatible with the installed regex.
76895         This is helpful for installers who configure --without-included-regex.
76896         Problem reported by Emanuele Giaquinta.
76897
76898 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76899
76900         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76901         Typedef to long int, not to off_, as POSIX will likely change
76902         in that direction.
76903
76904 2006-03-15  Eric Blake  <ebb9@byu.net>
76905
76906         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76907
76908 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76909
76910         * lib/argp-help.c (validate_uparams): Fix typo
76911         * lib/argp-parse.c (argp_default_options): Consistently begin help
76912         messages with a lowercase letter.
76913
76914 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76915
76916         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76917         overrun buffers and shouldn't be used (much as gets shouldn't be
76918         used).
76919         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76920
76921 2006-03-08  Simon Josefsson  <jas@extundo.com>
76922
76923         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76924         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76925
76926 2006-03-08  Simon Josefsson  <jas@extundo.com>
76927
76928         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76929         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76930
76931 2006-03-08  Simon Josefsson  <jas@extundo.com>
76932
76933         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76934         signal that configure disabled the device.
76935
76936 2006-03-08  Simon Josefsson  <jas@extundo.com>
76937
76938         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76939         languages.
76940
76941 2006-03-07  Simon Josefsson  <jas@extundo.com>
76942
76943         * modules/getopt (Depends-on): Add unistd.
76944
76945         * modules/unistd: New file.
76946
76947 2006-03-07  Simon Josefsson  <jas@extundo.com>
76948
76949         * modules/gc-random: New file.
76950
76951 2006-03-07  Simon Josefsson  <jas@extundo.com>
76952
76953         * m4/unistd_h.m4: New file.
76954
76955 2006-03-07  Simon Josefsson  <jas@extundo.com>
76956
76957         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76958         test to be side-effect free by storing the result in the cache
76959         variable gl_cv_lib_readline, and moving the assignment of
76960         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76961         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76962
76963 2006-03-07  Simon Josefsson  <jas@extundo.com>
76964
76965         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76966         error on missing devices (the functions will return an error).
76967
76968         * m4/gc.m4: Move random stuff to gc-random.m4
76969
76970 2006-03-07  Simon Josefsson  <jas@extundo.com>
76971
76972         * lib/unistd_.h: New file.
76973
76974 2006-03-07  Simon Josefsson  <jas@extundo.com>
76975
76976         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76977
76978 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76979
76980         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76981         Problem reported by Juan Manuel Guerrero.
76982
76983 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76984
76985         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76986         the unistd module.
76987         * lib/getlogin_r.c: Likewise.
76988         * lib/getlogin_r.h: Likewise.
76989         * lib/glob.c: Likewise.
76990         * lib/pagealign_alloc.c: Likewise.
76991         * lib/unistd_.h: Remove; no longer needed.
76992
76993 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76994
76995         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76996         Add unistd.
76997         * modules/c-stack (Depends-on): Add unistd.
76998         * modules/getlogin_r: Likewise.
76999         * modules/glob: Likewise.
77000         * modules/pagealign_alloc: Likewise.
77001         * modules/unistd (Files): Remove lib/unistd_.h.
77002         (EXTRA_DIST): Remove.
77003         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
77004         need unistd_.h.
77005         (MOSTLYCLEANFILES): Remove unistd.h-t.
77006
77007 2006-03-03  Simon Josefsson  <jas@extundo.com>
77008
77009         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
77010
77011 2006-03-03  Simon Josefsson  <jas@extundo.com>
77012
77013         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
77014         libidn and bison.
77015
77016 2006-03-03  Simon Josefsson  <jas@extundo.com>
77017
77018         * build-aux/maint.mk: Add indent target.
77019
77020 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
77021
77022         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
77023         our replacement poll.h in any case, to avoid a differing
77024         declaration from a system header.  Seen on AIX.
77025
77026 2006-03-01  Simon Josefsson  <jas@extundo.com>
77027
77028         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
77029         <kasal@ucw.cz>.
77030
77031 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77032
77033         * modules/gettime (Depends-on): Add extensions module.
77034         * modules/nanosleep (Depends-on): Likewise.
77035         * modules/settime (Depends-on): Likewise.
77036
77037 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
77038
77039         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
77040         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
77041         pedantically.
77042         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77043         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
77044
77045         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
77046         not "==".  Reported by Ralf Wildenhues.
77047
77048 2006-03-01  Karl Berry  <karl@gnu.org>
77049
77050         * doc/Copyright/request-*: new files, synced from gnuorg.
77051
77052 2006-03-01  Karl Berry  <karl@gnu.org>
77053
77054         * config/srclist.txt (Copyright/*): new entries.
77055
77056 2006-02-28  Simon Josefsson  <jas@extundo.com>
77057
77058         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
77059
77060 2006-02-27  Simon Josefsson  <jas@extundo.com>
77061
77062         * lib/base64.h: Indent #define's.  From Jim Meyering
77063         <jim@meyering.net>.
77064
77065 2006-02-27  Jim Meyering  <jim@meyering.net>
77066
77067         Revert the change of 2006-02-24, so these files can continue
77068         to be sync'd from gettext.
77069         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
77070         of `config.h'.
77071
77072 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
77073
77074         * modules/intprops: New file.
77075         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
77076         Add intprops.
77077         * modules/getloadavg (Files): Remove lib/intprops.h.
77078         (Depends-on): Add intprops.
77079         * modules/human: Likewise.
77080         * modules/inttostr: Likewise.
77081         * modules/openat: Likewise.
77082         * modules/sig2str: Likewise.
77083         * modules/userspec: Likewise.
77084         * modules/utimecmp: Likewise.
77085         * modules/xnanosleep: Likewise.
77086         * modules/xstrtol: Likewise.
77087
77088 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
77089
77090         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
77091         * modules/lock-tests (TESTS): Use $(EXEEXT).
77092         * modules/tls-tests: Likewise.
77093         * modules/argp-tests: Likewise.
77094         (check_PROGRAMS): New var, replacing...
77095         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
77096
77097 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77098
77099         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
77100         `config.h'.
77101
77102 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
77103
77104         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
77105
77106 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77107
77108         Sync from coreutils.
77109         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
77110         gl_CHDIR_SAFER.
77111
77112 2006-02-22  Jim Meyering  <jim@meyering.net>
77113
77114         Sync from coreutils.
77115         * m4/chdir-safer.m4: New file.
77116
77117 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
77118
77119         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
77120         AT_FDCWD exceeds INT_MAX.
77121         * lib/openat.h (AT_FDCWD): Likewise.
77122
77123 2006-02-17  Eric Blake  <address@hidden>
77124
77125         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
77126
77127 2006-02-16  Simon Josefsson  <jas@extundo.com>
77128
77129         * modules/getaddrinfo (Depends-on): Add sys_socket.
77130
77131 2006-02-15  Simon Josefsson  <jas@extundo.com>
77132
77133         * build-aux/maint.mk: Add dsyntax-check rule.
77134
77135 2006-02-15  Eric Blake  <ebb9@byu.net>
77136
77137         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
77138         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
77139         'present but cannot compile' warnings on cygwin.
77140         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
77141         use ws2tcpip.h if sys/socket.h works.
77142         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
77143         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
77144
77145 2006-02-14  Simon Josefsson  <jas@extundo.com>
77146
77147         * modules/maintainer-makefile (Files): Rename.
77148
77149         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
77150         and (the local) Makefile.cfg to maint-cfg.mk.
77151
77152         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
77153         to the latter.
77154
77155         * modules/maintainer-makefile: New module.
77156
77157         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
77158         severaly stripped to make it possible to build it up from scratch
77159         with reliable tests.
77160
77161         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
77162         fixes to permit overriding the default actions when configure and
77163         makefile are not available.
77164
77165 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
77166
77167         Sync from coreutils.
77168         * modules/lstat (Depends-on): Don't depend on xalloc.
77169         (License): Change from GPL to LGPL, since this is now simply a
77170         replacement for a libc function.
77171
77172 2006-02-14  Jim Meyering  <jim@meyering.net>
77173
77174         Sync from coreutils.
77175
77176         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
77177         failure on deficient systems, and simplify gnulib lgpl dependencies.
77178         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
77179         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
77180
77181         * lib/xalloc-die.c: Remove unused definition of N_.
77182
77183 2006-02-14  Jim Meyering  <jim@meyering.net>
77184
77185         Sync from coreutils.
77186         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
77187         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
77188         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
77189         double-quote uses of that variable, to accommodate the rare case in
77190         which getmntent is available in none of the libraries checked.  This
77191         happens at least on FreeBSD 5.0.
77192
77193 2006-02-13  Simon Josefsson  <jas@extundo.com>
77194
77195         * gnulib-tool (Usage): Fix --import, from
77196         karl@freefriends.org (Karl Berry).
77197
77198 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77199
77200         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
77201
77202 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
77203
77204         * lib/argp-namefrob.h: Restore changes accidentally lost during the
77205         "autoupdate" on 2005-12-12.
77206
77207 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77208
77209         * modules/closeout (Depends-on): Remove atexit.
77210
77211 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77212
77213         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
77214         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
77215
77216 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
77217
77218         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
77219         __EXTENSIONS__ if this causes compilation to fail.  Problem
77220         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
77221         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
77222
77223 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
77224
77225         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
77226         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
77227         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
77228         All uses changed.
77229
77230 2006-01-26  Simon Josefsson  <jas@extundo.com>
77231
77232         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
77233         prototype is visible on mingw32.
77234
77235         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77236         for mingw32.
77237
77238         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77239         mingw32).
77240
77241 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77242
77243         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77244         attempt to open for write; this always fails, at least on POSIX
77245         hosts.  This reinstates the 2006-01-09 change, which was
77246         inadvertently removed.
77247
77248 2006-01-26  Bruno Haible  <bruno@clisp.org>
77249
77250         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77251         Reported by Paul Eggert.
77252
77253 2006-01-26  Bruno Haible  <bruno@clisp.org>
77254             Paul Eggert  <eggert@cs.ucla.edu>
77255
77256         * lib/stdbool_.h (_Bool)
77257         [(! (defined __cplusplus || defined __BEOS__)
77258           && !defined __GNUC__
77259           && !(defined __HP_cc || defined __xlc__
77260                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77261                || defined __sgi))]:
77262         #define to signed char in these cases too; this simplifies
77263         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77264         etc., separately) and makes it more conservative.
77265
77266 2006-01-25  Simon Josefsson  <jas@extundo.com>
77267
77268         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77269         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77270         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77271
77272 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77273
77274         * lib/argp-namefrob.h: Bugfix. Remove stray #
77275
77276 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77277
77278         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77279         so that we test the test.
77280         Check for yet another HP-UX cc bug involving *bool |= bool.
77281
77282 2006-01-25  Karl Berry  <karl@gnu.org>
77283
77284         * config/srclist.txt (vasnprintf.c): sync lost.
77285
77286 2006-01-25  Jim Meyering  <jim@meyering.net>
77287
77288         Sync from the stable (b5) branch of coreutils:
77289
77290         * lib/fts.c (fts_children): Don't let close() clobber errno from
77291         failed fchdir().
77292
77293         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77294         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77295         a dangling symlink.  That can also happen at least for ELOOP.
77296         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77297         FYI, this bug predates the inclusion of fts.c in coreutils.
77298
77299         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77300         in their own block, so pre-c99 compilers don't object.
77301
77302         Avoid the double-free (first in fts_read, second in fts_close) that
77303         would occur when an `active' directory is made inaccessible (e.g.,
77304         via chmod a-x) during a traversal.
77305         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77306         before returning.  Reproduce this failure by
77307         mkdir -p a/b; cd a; chmod a-x . b
77308         Reported by Stavros Passas.
77309
77310 2006-01-25  Jim Meyering  <jim@meyering.net>
77311
77312         * lib/fileblocks.c: Remove more useless parentheses.
77313         * lib/readutmp.h: Likewise.
77314
77315 2006-01-25  Bruno Haible  <bruno@clisp.org>
77316
77317         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77318         warnings.
77319         Reported by Paul Eggert.
77320
77321 2006-01-25  Bruno Haible  <bruno@clisp.org>
77322
77323         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77324         rid of a trap command. For Solaris sh.
77325         Reported by Mark D. Baushke <mdb@gnu.org>.
77326
77327 2006-01-24  Simon Josefsson  <jas@extundo.com>
77328
77329         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77330         Bruno.
77331
77332 2006-01-24  Karl Berry  <karl@gnu.org>
77333
77334         * config/srclist.txt (argp-namefrob.h): sync lost.
77335
77336 2006-01-24  Jim Meyering  <jim@meyering.net>
77337
77338         * modules/openat (Files): Add lib/intprops.h.
77339         From Mark D. Baushke.
77340
77341 2006-01-24  Jim Meyering  <jim@meyering.net>
77342
77343         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
77344         Reported by Mark D. Baushke.
77345
77346 2006-01-24  Jim Meyering  <jim@meyering.net>
77347
77348         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
77349
77350 2006-01-24  Bruno Haible  <bruno@clisp.org>
77351
77352         * modules/strnlen (Maintainer): Change from glibc to all.
77353
77354 2006-01-24  Bruno Haible  <bruno@clisp.org>
77355
77356         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77357         Patch by Paul Eggert.
77358
77359 2006-01-24  Bruno Haible  <bruno@clisp.org>
77360
77361         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77362         already has it.
77363         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77364         2005-11-26.
77365
77366         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77367         'signed char' to avoid problems with the built-in _Bool type.
77368         Reported by Paul Eggert on 2005-11-26.
77369
77370 2006-01-24  Bruno Haible  <bruno@clisp.org>
77371
77372         * gnulib-tool (func_import): Avoid constructing complicated sed
77373         expressions inside backquote.
77374         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77375
77376 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77377
77378         These changes imported from libc.
77379         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77380         test and two separate function calls.
77381         * lib/strndup.c (__strndup): Add libc_hidden_def.
77382
77383 2006-01-23  Simon Josefsson  <jas@extundo.com>
77384
77385         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77386         Remove the test_*_SOURCES variable: automake infers it by default.
77387         * modules/tls-tests: Likewise.
77388
77389 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77390
77391         Work around porting bugs reported by Dieter in
77392         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77393         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77394         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77395         Include "getopt.h" first, to check interface.
77396         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77397         !HAVE_DECL_GETENV.
77398         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77399         (__strndup): Revert to K&R-style function dfns, the glibc style.
77400         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77401         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77402         Include strnlen.h first, to get prototype properly.
77403         (strnlen): Renamed from __strnlen.
77404         Remove weak alias.
77405
77406 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77407
77408         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77409
77410 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77411
77412         * config/srclist.txt: Adjust to reflect glibc reorganization.
77413         This affects only comments.
77414
77415 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77416
77417          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77418          Reported by Bruce Korb <bkorb@gnu.org>.
77419
77420 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77421
77422         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77423         to pacify gcc -Wswitch-default.
77424
77425 2006-01-22  Bruno Haible  <bruno@clisp.org>
77426
77427         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77428         temporary buffer for sprintf, take into account the precision also
77429         for 'd', 'i', 'u', 'o', 'x', 'X'.
77430
77431 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77432
77433         * modules/argp-tests: New module
77434         * tests/test-argp.c: New file
77435         * tests/test-argp-2.sh: New file
77436
77437 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77438
77439         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77440         (__argp_base_name): Removed
77441         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77442         typo.
77443         (__argp_base_name): Provide macro definition or extern declaration
77444         depending on the configuration
77445
77446 2006-01-20  Simon Josefsson  <jas@extundo.com>
77447
77448         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77449
77450 2006-01-20  Simon Josefsson  <jas@extundo.com>
77451
77452         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77453
77454 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77455
77456         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77457         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77458         Suggested by Bruno Haible.
77459
77460 2006-01-20  Karl Berry  <karl@gnu.org>
77461
77462         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77463         until changes propagate, I guess.
77464
77465 2006-01-19  Simon Josefsson  <jas@extundo.com>
77466
77467         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77468
77469 2006-01-19  Simon Josefsson  <jas@extundo.com>
77470
77471         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77472
77473 2006-01-19  Simon Josefsson  <jas@extundo.com>
77474
77475         * gnulib-tool: Set check_PROGRAMS.
77476
77477         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77478         modules/des-tests, modules/gc-arcfour-tests,
77479         modules/gc-arctwo-tests, modules/gc-des-tests,
77480         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77481         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77482         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77483         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77484         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77485         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77486         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77487         test_*_SOURCES.
77488
77489 2006-01-18  Simon Josefsson  <jas@extundo.com>
77490
77491         * modules/socklen (Depends-on): Depend on sys_socket.
77492
77493 2006-01-18  Simon Josefsson  <jas@extundo.com>
77494
77495         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77496         modules/des-tests, modules/gc-arcfour-tests,
77497         modules/gc-arctwo-tests, modules/gc-des-tests,
77498         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77499         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77500         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77501         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77502         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77503         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77504         $(EXEEXT) to automake TESTS variable, for mingw32.
77505
77506 2006-01-17  Simon Josefsson  <jas@extundo.com>
77507
77508         * modules/socklen (Include): Need sys/socket.h.
77509
77510 2006-01-17  Bruno Haible  <bruno@clisp.org>
77511
77512         * modules/ssize_t (Include): Add <sys/types.h>.
77513
77514 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77515
77516         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77517         it's not portable and it doesn't work with cross-compiles.
77518         Problem reported by Bruno Haible.  Fix missing-$ typo in
77519         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77520         -zignore from being used with Sun's C compiler.
77521
77522 2006-01-12  Simon Josefsson  <jas@extundo.com>
77523
77524         * lib/base64.c: Fix warning, reported by Bruno Haible
77525         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77526
77527 2006-01-12  Bruno Haible  <bruno@clisp.org>
77528
77529         * modules/ldd: New file.
77530         * build-aux/ldd.sh.in: New file.
77531         * MODULES.html.sh (Support for building libraries and executables): Add
77532         ldd.
77533
77534 2006-01-12  Bruno Haible  <bruno@clisp.org>
77535
77536         * m4/ldd.m4: New file.
77537
77538 2006-01-12  Bruno Haible  <bruno@clisp.org>
77539
77540         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77541         endless loop while replacing $auxdir with build-aux.
77542
77543 2006-01-11  Simon Josefsson  <jas@extundo.com>
77544
77545         * lib/stdint_.h (SIZE_MAX): Add missing (.
77546
77547 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77548
77549         Sync from coreutils.
77550         * lib/md5.c: Fix commentary typos.
77551         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77552         * lib/md5.h (__attribute__): Remove; unused.
77553         * lib/sha1.c: Fix commentary to match md5 better.
77554         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77555         so that we don't need to worry about alignment.  All uses changed.
77556         This merges the 2005-10-28 md5 change into sha1.
77557
77558 2006-01-11  Jim Meyering  <jim@meyering.net>
77559
77560         Sync from coreutils.
77561         * lib/md5.c (OP): Fix spacing.
77562
77563 2006-01-11  Bruno Haible  <bruno@clisp.org>
77564
77565         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77566         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77567         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77568
77569 2006-01-11  Bruno Haible  <bruno@clisp.org>
77570
77571         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77572         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77573         the "early" section as well.
77574
77575 2006-01-11  Bruno Haible  <bruno@clisp.org>
77576
77577         Avoid "ar: no archive members specified" error on MacOS X.
77578         * gnulib-tool (func_modules_add_dummy): New function.
77579         (func_import, func_create_testdir): Invoke it.
77580
77581 2006-01-11  Bruno Haible  <bruno@clisp.org>
77582
77583         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77584         with $auxdir in AC_CONFIG_FILES statements.
77585
77586 2006-01-11  Bruno Haible  <bruno@clisp.org>
77587
77588         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77589         Initialize also noinst_HEADERS to empty.
77590
77591 2006-01-11  Bruno Haible  <bruno@clisp.org>
77592
77593         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77594         variables.
77595         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77596         autoreconf.
77597
77598 2006-01-11  Bruno Haible  <bruno@clisp.org>
77599
77600         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77601         overridable by the user.
77602         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77603
77604 2006-01-10  Simon Josefsson  <jas@extundo.com>
77605
77606         * modules/sys_socket: New file.
77607
77608 2006-01-10  Simon Josefsson  <jas@extundo.com>
77609
77610         * m4/sys_socket_h.m4: New file.
77611
77612 2006-01-10  Simon Josefsson  <jas@extundo.com>
77613
77614         * lib/socket_.h: New file.
77615
77616 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77617
77618         * modules/readutmp (Maintainer): Add myself.
77619
77620 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77621
77622         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77623         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77624         People who are still concerned with buggy memcmp implementations
77625         can invoke gl_FUNC_MEMCMP themselves.
77626
77627 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77628
77629         * lib/regex_internal.h (BITSET_WORD_BITS):
77630         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77631         preprocessor mishandles large unsigned values as if they were signed.
77632         Problem reported by Claudio Fontana in
77633         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77634
77635 2006-01-10  Jim Meyering  <jim@meyering.net>
77636
77637         Avoid the double-free (first in fts_read, second in fts_close) that
77638         would occur when an `active' directory is made inaccessible (e.g.,
77639         via chmod a-x) during a traversal.
77640         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77641         before returning.  Reproduce this failure by
77642         mkdir -p a/b; cd a; chmod a-x . b
77643         Reported by Stavros Passas.
77644
77645         Sync from coreutils.
77646         * lib/sha1.c: Tweak grammar in a comment.
77647
77648 2006-01-10  Jim Meyering  <jim@meyering.net>
77649
77650         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77651         Patch by Joerg Sonnenberger.
77652
77653 2006-01-10  Bruno Haible  <bruno@clisp.org>
77654
77655         * modules/readutmp: Depend on module free.
77656         * modules/strtok_r: Depend on module restrict.
77657
77658 2006-01-10  Bruno Haible  <bruno@clisp.org>
77659
77660         * modules/gettext (configure.ac): Add an invocation of
77661         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77662
77663 2006-01-10  Bruno Haible  <bruno@clisp.org>
77664
77665         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77666         Reported by Werner Lemberg <wl@gnu.org>.
77667
77668 2006-01-10  Bruno Haible  <bruno@clisp.org>
77669
77670         * lib/localcharset.c: Update from GNU gettext.
77671
77672 2006-01-10  Bruno Haible  <bruno@clisp.org>
77673
77674         * lib/argp.h (__const): Remove macro. Use const instead.
77675         * lib/argp-fmtstream.h (__const): Likewise.
77676         * lib/glob_.h (__const): Remove macro.
77677         * lib/glob-libc.h: Use const instead of __const.
77678
77679 2006-01-10  Bruno Haible  <bruno@clisp.org>
77680
77681         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77682         variable.
77683         Needed to avoid an automake error regarding the 'gettext' module.
77684
77685 2006-01-09  Simon Josefsson  <jas@extundo.com>
77686
77687         * modules/inet_ntop (Depends-on): Add restrict.
77688
77689 2006-01-09  Simon Josefsson  <jas@extundo.com>
77690
77691         * modules/gc-rijndael-tests (License): Put under LGPL.
77692
77693         * modules/gc-des-tests (License): Likewise.
77694
77695         * modules/gc-arcfour-tests (License): Likewise.
77696
77697         * modules/gc-arctwo-tests (License): Likewise.
77698
77699         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77700
77701         * modules/gc-hmac-sha1-tests (Files): Likewise.
77702
77703         * modules/gc-hmac-md5-tests (License): Likewise.
77704
77705         * modules/gc-sha1-tests (License): Likewise.
77706
77707         * modules/gc-md5-tests (License): Likewise.
77708
77709         * modules/gc-md4-tests (License): Likewise.
77710
77711         * modules/gc-md2-tests (License): Likewise.
77712
77713         * modules/gc-tests (License): Likewise.
77714
77715         * modules/des-tests (License): Likewise.
77716
77717         * modules/md4-tests (License): Likewise.
77718
77719         * modules/md2-tests (License): Likewise.
77720
77721 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77722
77723         Sync from coreutils:
77724
77725         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77726         * modules/lib-ignore: New file.
77727         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77728         chdir-safer.m4, lchmod.m4.
77729         * modules/openat: Add mkdirat.c, openat-priv.h.
77730
77731 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77732
77733         Sync from coreutils.
77734         * m4/lib-ignore.m4: New file.
77735         * m4/lchmod.m4: New file.
77736
77737 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77738
77739         Sync from coreutils.
77740         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77741         for write access: POSIX says that must fail.
77742         * lib/fts.c (diropen): Likewise.
77743         * lib/save-cwd.c (save_cwd): Likewise.
77744         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77745         well, for minor improvements on hosts that lack O_DIRECTORY.
77746         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77747         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77748         Fall back on chown if open failed with EACCES.
77749
77750         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77751         Report an error at compile-time if only a 1-second nominal clock
77752         resolution is found.
77753
77754         * lib/lchmod.h: New file.
77755         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77756         (make_dir_parents): Use lchown rather than chown, and
77757         lchmod rather than chmod.
77758
77759         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77760         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77761         "proc" reported by n0dalus.
77762
77763         * lib/mountlist.c: Include <limits.h>.
77764         (dev_from_mount_options)
77765         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77766         New function.  It no longer assumes "dev=" has the System V meaning
77767         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77768         (read_file_system_list)
77769         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77770         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77771         dev= in that case.
77772
77773         * lib/posixtm.h (PDS_PRE_2000): New macro.
77774         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77775         allow_century.  All usages changed.  Reject dates outside the range
77776         1969-1999 if PDS_PRE_2000 is used.
77777
77778 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77779
77780         Sync from coreutils.
77781         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77782         (Time of day items): Mention the possibility of leap seconds.
77783         Problem reported by Dr. David Alan Gilbert.
77784
77785 2006-01-09  Jim Meyering  <jim@meyering.net>
77786
77787         Sync from coreutils.
77788
77789         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77790
77791         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77792
77793         * lib/modechange.c (mode_compile): Reject an invalid mode string
77794         that starts with an octal digit.  From Andreas Gruenbacher.
77795
77796         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77797         and dup to open_safer and dup_safer, respectively.
77798         (openat_permissive): Fix typo in comment.
77799
77800         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77801         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77802         (_): Remove; no longer needed.
77803         (openat): Renamed from rpl_openat; no need for rpl_openat
77804         since openat.h renames openat for us.
77805         Replace most of the body with a call to openat_permissive,
77806         to avoid duplicate code.
77807         Port to (probably hypothetical) environments were mode_t is
77808         wider than int.
77809         (openat_permissive): Require mode arg, so that we can check
77810         types better.  Put it just after flags.  Change cwd failure
77811         indicator from pointer-to-bool to pointer-to-errno-value.
77812         All callers changed.
77813         Invoke openat_save_fail and/or openat_restore_fail if
77814         cwd_errno is null, so that openat can call us.
77815         (openat_permissive, fdopendir, fstatat, unlinkat):
77816         Simplify errno handling to avoid some duplicate code,
77817         as it's OK to set errno on success.
77818         * lib/openat.h: Revamp code so that function macros depend on
77819         __OPENAT_PREFIX only, not also on AT_FDCWD.
77820         (openat_ro): Remove.  Caller changed to use openat_permissive.
77821         (openat_permissive): Now a macro, if not a function.
77822         (openat_restore_fail, openat_save_fail): Now always functions,
77823         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77824
77825         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77826         and openat.c.
77827         * lib/mkdirat.c: Include openat-priv.h.
77828         Remove definitions of macros defined therein.
77829         * lib/openat.c: Likewise.
77830
77831         * lib/mkdirat.c (mkdirat): New file and function.
77832         * lib/openat.h (mkdirat): Declare.
77833
77834         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77835
77836         * lib/openat.h (openat_permissive): Declare.
77837         (openat_ro): Define.
77838
77839         * lib/openat.c (EXPECTED_ERRNO): New macro.
77840         (openat_permissive): New function -- used in remove.c rewrite.
77841         (all functions): Set errno just before returning, only if there
77842         was an actual failure.
77843         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77844
77845         Emulate openat-family functions using Linux's procfs, if possible.
77846         Idea and some code based on Ulrich Drepper's glibc changes.
77847
77848         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77849         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77850         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77851         before falling back on save_cwd and restore_cwd.
77852         (fdopendir, fstatat, unlinkat): Likewise.
77853
77854         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77855         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77856
77857         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77858         as second argument to va_arg.  Otherwise, some versions of gcc
77859         warn that `if this code is reached, the program will abort'.
77860
77861 2006-01-09  Jim Meyering  <jim@meyering.net>
77862
77863         Sync from coreutils.
77864         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77865         Require openat-priv.h.
77866
77867 2006-01-09  Bruno Haible  <bruno@clisp.org>
77868
77869         * modules/strnlen (Include): Use strnlen.h.
77870
77871 2006-01-09  Bruno Haible  <bruno@clisp.org>
77872
77873         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77874
77875 2006-01-09  Bruno Haible  <bruno@clisp.org>
77876
77877         * lib/sysexit_.h (EX_OK): New macro.
77878         Suggested by Martin Lambers <marlam@marlam.de>.
77879
77880 2006-01-09  Bruno Haible  <bruno@clisp.org>
77881
77882         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77883         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77884
77885 2006-01-09  Bruno Haible  <bruno@clisp.org>
77886
77887         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77888         numbers.
77889
77890 2006-01-09  Bruno Haible  <bruno@clisp.org>
77891
77892         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77893         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77894         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77895         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77896
77897 2006-01-09  Bruno Haible  <bruno@clisp.org>
77898
77899         * build-aux/javacomp.sh.in: New file, moved from lib/.
77900         * modules/javacomp-script (Files): Update.
77901         (configure.ac): Add AC_CONFIG_FILES invocation.
77902         (EXTRA_DIST): Remove variable.
77903
77904         * build-aux/javaexec.sh.in: New file, moved from lib/.
77905         * modules/javaexec (Files): Update.
77906         (configure.ac): Add AC_CONFIG_FILES invocation.
77907         (EXTRA_DIST): Remove javaexec.sh.in.
77908
77909         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77910         * modules/csharpcomp-script (Files): Update.
77911         (configure.ac): Add AC_CONFIG_FILES invocation.
77912         (EXTRA_DIST): Remove variable.
77913
77914         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77915         * modules/csharpexec (Files): Update.
77916         (configure.ac): Add AC_CONFIG_FILES invocation.
77917         (EXTRA_DIST): Remove csharpexec.sh.in.
77918
77919 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77920
77921         Sync from coreutils.
77922
77923         Add POSIX ACL support
77924         * lib/acl.h (copy_acl, set_acl): Add declarations.
77925         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77926         systems other than Linux.
77927         (chmod_or_fchmod): New function: use fchmod when possible,
77928         and chmod otherwise.
77929         (file_has_acl): Add a POSIX ACL implementation, with a
77930         Linux-specific subcase.
77931         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77932         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77933         acls are unsupported.
77934         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77935         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77936         are unsupported.
77937
77938 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77939
77940         Sync from coreutils.
77941         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77942
77943 2006-01-07  Bruno Haible  <bruno@clisp.org>
77944
77945         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77946         gl_EARLY.
77947
77948 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77949
77950         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77951         Problem reported for Mingw by Mark Junker.
77952
77953 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77954
77955         * README: Gnulib normally doesn't generate a tarball.
77956
77957 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77958
77959         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77960         long int, not int, for nanosecond counts, so that people who are
77961         used to POSIX struct timespec won't be surprised.  Reported by Jim
77962         Meyering.
77963
77964 2005-12-28  Bruno Haible  <bruno@clisp.org>
77965
77966         * build-aux/config.rpath: Update from GNU gettext.
77967
77968 2005-12-16  Jim Meyering  <jim@meyering.net>
77969
77970         * modules/fprintftime: New module.
77971         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77972
77973 2005-12-16  Jim Meyering  <jim@meyering.net>
77974
77975         * m4/fprintftime.m4: New file.
77976
77977 2005-12-16  Jim Meyering  <jim@meyering.net>
77978
77979         * lib/fprintftime.c, lib/fprintftime.h: New files.
77980
77981 2005-12-15  Simon Josefsson  <jas@extundo.com>
77982
77983         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77984         new m4/socklen.m4.
77985
77986 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77987
77988         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77989         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77990
77991 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77992
77993         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77994         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77995         struct uparams is valid. Fall back to the default values if it is
77996         not.
77997
77998 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77999
78000         * modules/argp (Files): Add argp-pin.c
78001         (Depends-on): dirname
78002         (lib_SOURCES): Add argp-pin.c
78003
78004 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78005
78006         * m4/argp.m4:  Check if program_invocation_name and
78007         program_invocation_short_name are declared and define appropriate
78008         macros if they are not.
78009
78010 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78011
78012         * lib/argp-help.c (__argp_base_name): New function
78013         (__argp_short_program_name): Rewrite using __argp_base_name
78014         * lib/argp-namefrob.h: Define program_invocation_name and
78015         program_invocation_short_name if requested
78016         (__argp_base_name): Add prototype
78017         * lib/argp-parse.c (argp_def): Use gettext wrappers
78018         (argp_default_parser): Use __argp_base_name
78019         * lib/argp-pin.c: New file. Defines program_invocation_name and
78020         program_invocation_short_name on systems that lack them.
78021
78022 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78023
78024         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
78025         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
78026         porting problem reported by Georg Schwarz in
78027         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
78028
78029 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
78030
78031         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
78032         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
78033         porting problem reported by Georg Schwarz in
78034         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
78035
78036 2005-12-05  Bruno Haible  <bruno@clisp.org>
78037
78038         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
78039         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
78040         Reported by Mark Junker <mjscod@gmx.de>.
78041
78042 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
78043
78044         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
78045         Use implementation from Albert Chin, with some
78046         comments/corrections by Stepan Kasal and myself.
78047
78048 2005-12-02  Bruno Haible  <bruno@clisp.org>
78049
78050         * gnulib-tool (func_import): Accept GPLed build tool modules when
78051         --lgpl is given.
78052         * modules/csharpcomp-script: New file.
78053         * modules/csharpcomp: Depend on it.
78054         * modules/javacomp-script: New file.
78055         * modules/javacomp: Depend on it.
78056         Suggested by Simon Josefsson.
78057
78058 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
78059
78060         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
78061         statement, to work around an HP-UX 10.20 compiler bug reported by
78062         Peter O'Gorman.
78063
78064 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
78065
78066         * modules/savedir (Depends-on): Add openat.
78067
78068 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
78069
78070         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
78071         (uintmax_t) [defined uintmax_t]: Do not declare.
78072         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
78073         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
78074         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
78075         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
78076         sake of portability to weird hosts that C allows (though we don't
78077         know of any practical examples).
78078
78079         * lib/savedir.h (fdsavedir): New decl.
78080         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
78081         contains most of the former guts of savedir.
78082         (savedir): Use savedirstream.
78083         Include "openat.h".
78084
78085 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
78086
78087         * modules/obstack (Files): Add m4/ulonglong.m4.
78088         Problem reported by Davide Angelocola.
78089
78090 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
78091
78092         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
78093         coreutils no longer futzes with rounding modes.
78094
78095 2005-11-14  Jim Meyering  <jim@meyering.net>
78096
78097         * lib/mkstemp-safer.c: Include <config.h>, required for possible
78098         replacement of mkstemp.
78099
78100 2005-11-10  Simon Josefsson  <jas@extundo.com>
78101
78102         * lib/readline.c: Remove EOL.
78103
78104 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78105
78106         * modules/gethrxtime (Depends-on): Add gettime.
78107
78108 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78109
78110         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
78111         or gettimeofday; no longer needed.
78112
78113 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
78114
78115         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
78116         time business.
78117         (gethrxtime) [! (HAVE_NANOUPTIME
78118         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
78119         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
78120         our own approximation.
78121
78122 2005-11-08  Eric Blake  <ebb9@byu.net>
78123
78124         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
78125
78126 2005-11-08  Eric Blake  <ebb9@byu.net>
78127
78128         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
78129
78130 2005-11-04  Bruno Haible  <bruno@clisp.org>
78131
78132         * gnulib-tool: Implement --update mode.
78133
78134 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78135
78136         Fix porting problem reported by Theodoros V. Kalamatianos.
78137         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
78138         Don't assume that futimes failing means we must fail.
78139
78140 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78141
78142         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
78143         variables to suggest the intended function of the PATH_MAX check.
78144
78145 2005-10-30  Kean Johnston  <jkj@sco.com>
78146
78147         Trivial changes to support SCO systems.
78148         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
78149         as PATH_MAX.
78150         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
78151         where __ptr is null when no I/O is pending.
78152
78153 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78154
78155         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
78156         leave errno alone.  Problem reported by Dmitry V. Levin.
78157
78158 2005-10-28  Simon Josefsson  <jas@extundo.com>
78159
78160         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
78161         Test more.
78162
78163         * tests/test-gc-md2.c, tests/test-md2.c: New files.
78164
78165         * modules/md2, modules/md2-tests: New files.
78166
78167 2005-10-28  Simon Josefsson  <jas@extundo.com>
78168
78169         * m4/inet_ntop.m4: More tests.
78170
78171         * m4/gc-md2.m4, md2.m4: New file.
78172
78173 2005-10-28  Simon Josefsson  <jas@extundo.com>
78174
78175         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
78176         "restrict" keywords, as per POSIX.  Protect the function
78177         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
78178         Don't use K&R prototypes.  Check the sprintf return values.
78179         Re-define EAFNOSUPPORT if not present.  Indent.
78180
78181         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
78182         suggested by Bruno Haible <bruno@clisp.org>.
78183
78184         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
78185
78186         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
78187
78188         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
78189         libgcrypt).
78190
78191         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
78192
78193         * lib/md2.h, lib/md2.c: New files.
78194
78195 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
78196
78197         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
78198         errno alone.  Problem reported by Frederic Jolliton.
78199
78200 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
78201
78202         * modules/verify (License): Change from GPL to LGPL.  This is a
78203         tiny module and there are apparently near-equivalents that are
78204         under the BSD license.
78205
78206 2005-10-24  Simon Josefsson  <jas@extundo.com>
78207
78208         * modules/sha1: Relicense to LGPL.
78209
78210 2005-10-24  Simon Josefsson  <jas@extundo.com>
78211
78212         * lib/md4.h: Shrink buffer size, now that we changed the type.
78213
78214 2005-10-23  Simon Josefsson  <jas@extundo.com>
78215
78216         * gnulib-tool (func_import): Fix --tests-base.
78217
78218 2005-10-22  Simon Josefsson  <jas@extundo.com>
78219
78220         * modules/arcfour (Depends-on): Need stdint.
78221
78222 2005-10-22  Simon Josefsson  <jas@extundo.com>
78223
78224         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
78225         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
78226
78227 2005-10-22  Simon Josefsson  <jas@extundo.com>
78228
78229         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
78230         suggested by Bruno Haible <bruno@clisp.org>.
78231
78232 2005-10-22  Simon Josefsson  <jas@extundo.com>
78233
78234         * lib/crc.h: Include stddef.h, for size_t.
78235
78236 2005-10-22  Simon Josefsson  <jas@extundo.com>
78237
78238         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78239         arcfour_context struct (simplify test vector testing in GNU
78240         Shishi).
78241
78242 2005-10-21  Simon Josefsson  <jas@extundo.com>
78243
78244         * modules/des, modules/des-tests: New files.
78245
78246         * modules/gc-des, modules/gc-des-tests: New files.
78247
78248         * tests/test-des.c, tests/test-gc-des.c: New file.
78249
78250 2005-10-21  Simon Josefsson  <jas@extundo.com>
78251
78252         * modules/arctwo, modules/arctwo-tests: New files.
78253
78254         * tests/test-arctwo.c: New file.
78255
78256         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78257
78258         * tests/test-gc-arctwo.c: New file.
78259
78260 2005-10-21  Simon Josefsson  <jas@extundo.com>
78261
78262         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78263         Bruno Haible <bruno@clisp.org>.
78264
78265         * m4/gc-des.m4: New file.
78266
78267 2005-10-21  Simon Josefsson  <jas@extundo.com>
78268
78269         * m4/arctwo.m4: New file.
78270
78271         * m4/gc-arctwo.m4: New file.
78272
78273 2005-10-21  Simon Josefsson  <jas@extundo.com>
78274
78275         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78276         block.
78277
78278 2005-10-21  Simon Josefsson  <jas@extundo.com>
78279
78280         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78281         <bruno@clisp.org>.
78282
78283         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78284
78285         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78286         Bruno Haible <bruno@clisp.org>.
78287
78288         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78289         <bruno@clisp.org>.
78290
78291 2005-10-21  Simon Josefsson  <jas@extundo.com>
78292
78293         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78294
78295 2005-10-21  Simon Josefsson  <jas@extundo.com>
78296
78297         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78298
78299 2005-10-21  Simon Josefsson  <jas@extundo.com>
78300
78301         * lib/des.h, lib/des.c: New files.
78302
78303         * lib/gc-gnulib.c: Support DES.c
78304
78305 2005-10-21  Simon Josefsson  <jas@extundo.com>
78306
78307         * lib/arctwo.h, lib/arctwo.c: New files.
78308
78309         * lib/gc-gnulib.c: Support ARCTWO.
78310
78311 2005-10-21  Simon Josefsson  <jas@extundo.com>
78312
78313         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78314         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78315
78316 2005-10-21  Simon Josefsson  <jas@extundo.com>
78317
78318         * gnulib-tool (func_import, func_create_testdir): Define automake
78319         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78320         Makefile.am snippet),
78321         suggested by Bruno Haible <bruno@clisp.org>.
78322
78323         * modules/gc (Makefile.am): Use it.
78324
78325 2005-10-21  Bruno Haible  <bruno@clisp.org>
78326
78327         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78328         patch.
78329
78330 2005-10-19  Simon Josefsson  <jas@extundo.com>
78331
78332         * tests/test-gc-rijndael.c: New file.
78333
78334         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
78335
78336 2005-10-19  Simon Josefsson  <jas@extundo.com>
78337
78338         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
78339         interface too.
78340
78341 2005-10-19  Simon Josefsson  <jas@extundo.com>
78342
78343         * tests/test-gc-arcfour.c: New file.
78344
78345         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
78346
78347 2005-10-19  Simon Josefsson  <jas@extundo.com>
78348
78349         * modules/gc-md4, modules/gc-md4-tests: New file.
78350
78351         * tests/test-gc-md4.c: New file.
78352
78353 2005-10-19  Simon Josefsson  <jas@extundo.com>
78354
78355         * m4/gc-md4.m4: New file.
78356
78357 2005-10-19  Simon Josefsson  <jas@extundo.com>
78358
78359         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78360         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78361         <kasal@ucw.cz>.
78362
78363 2005-10-19  Simon Josefsson  <jas@extundo.com>
78364
78365         * m4/gc-arcfour.m4: New file.
78366
78367         * m4/gc-rijndael.m4: New file.
78368
78369 2005-10-19  Simon Josefsson  <jas@extundo.com>
78370
78371         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78372
78373 2005-10-19  Simon Josefsson  <jas@extundo.com>
78374
78375         * lib/gc-gnulib.c: Support ARCFOUR.
78376
78377 2005-10-19  Simon Josefsson  <jas@extundo.com>
78378
78379         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78380         support.
78381
78382         * lib/gc.h: Add ECB enum type.
78383
78384         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78385
78386 2005-10-18  Simon Josefsson  <jas@extundo.com>
78387
78388         * tests/test-md5.c: New file.
78389
78390         * modules/md5-tests: New file.
78391
78392 2005-10-18  Simon Josefsson  <jas@extundo.com>
78393
78394         * tests/test-md4.c: New file.
78395
78396         * modules/md4, modules/md4-tests: New files.
78397
78398 2005-10-18  Simon Josefsson  <jas@extundo.com>
78399
78400         * m4/md4.m4: New file.
78401
78402 2005-10-18  Simon Josefsson  <jas@extundo.com>
78403
78404         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78405
78406 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78407
78408         * gnulib-tool (func_create_testdir): Omit the second check whether
78409         BUILT_SOURCES in nonempty.
78410
78411 2005-10-17  Simon Josefsson  <jas@extundo.com>
78412
78413         * tests/test-rijndael.c: New file.
78414
78415 2005-10-17  Simon Josefsson  <jas@extundo.com>
78416
78417         * modules/sha1: Depend on stdint instead of md5.
78418
78419         * modules/md5: Depend on stdint, remove uint32_t.
78420
78421 2005-10-17  Simon Josefsson  <jas@extundo.com>
78422
78423         * modules/gc-sha1-tests: New file.
78424
78425         * tests/test-gc-sha1.c: New file.
78426
78427 2005-10-17  Simon Josefsson  <jas@extundo.com>
78428
78429         * m4/md5.m4: Remove call to uint32_t.m4.
78430
78431 2005-10-17  Simon Josefsson  <jas@extundo.com>
78432
78433         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78434
78435         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78436         md5.h.
78437
78438         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78439
78440         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78441
78442 2005-10-17  Simon Josefsson  <jas@extundo.com>
78443
78444         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78445
78446 2005-10-17  Simon Josefsson  <jas@extundo.com>
78447
78448         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78449
78450 2005-10-17  Simon Josefsson  <jas@extundo.com>
78451
78452         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78453
78454         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78455
78456 2005-10-17  Bruno Haible  <bruno@clisp.org>
78457
78458         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78459         that it can also be used in a test.
78460
78461 2005-10-16  Bruno Haible  <bruno@clisp.org>
78462
78463         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78464         TESTS_ENVIRONMENT, so that individual tests can augment it.
78465
78466         * gnulib-tool (func_create_testdir): Use an intermediate target for
78467         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78468         macros, like $(ALLOCA_H), which cannot be passed through the command
78469         line.
78470
78471 2005-10-15  Simon Josefsson  <jas@extundo.com>
78472
78473         * modules/rijndael-tests: New file.
78474
78475         * modules/rijndael: New file.
78476
78477 2005-10-15  Simon Josefsson  <jas@extundo.com>
78478
78479         * m4/rijndael.m4: New file.
78480
78481 2005-10-15  Simon Josefsson  <jas@extundo.com>
78482
78483         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78484
78485         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78486
78487 2005-10-14  Simon Josefsson  <jas@extundo.com>
78488
78489         * tests/test-arcfour.c: New file.
78490
78491         * modules/arcfour, modules/arcfour-tests: New files.
78492
78493 2005-10-14  Simon Josefsson  <jas@extundo.com>
78494
78495         * m4/arcfour.m4: New file.
78496
78497 2005-10-14  Simon Josefsson  <jas@extundo.com>
78498
78499         * lib/arcfour.h, lib/arcfour.c: New files.
78500
78501 2005-10-14  Roland McGrath  <roland@redhat.com>
78502
78503         Import from libc.  [BZ #1331]
78504         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78505         macro argument.
78506         Reported by Matej Vela <vela@debian.org>.
78507
78508 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78509
78510         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78511         include <wchar.h>; no longer needed.
78512
78513 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78514
78515         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78516
78517 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78518         and  Ulrich Drepper  <drepper@redhat.com>
78519
78520         Import from libc.
78521         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78522         instead of inline stream orientation test and two separate
78523         function calls.  Pay no attention to USE_IN_LIBIO.
78524
78525 2005-10-13  Simon Josefsson  <jas@extundo.com>
78526
78527         * modules/gc-hmac-md5-tests: New file.
78528
78529         * tests/test-gc-hmac-sha1.c: New file.
78530
78531         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78532
78533         * modules/gc-hmac-md5-tests: New file.
78534
78535         * tests/test-gc-md5.c: New file.
78536
78537         * modules/gc-md5-tests: New file.
78538
78539 2005-10-13  Simon Josefsson  <jas@extundo.com>
78540
78541         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78542         Move memory allocation outside of loop.
78543
78544 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78545
78546         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78547         intermediate directory is in a read-only file system.  Problem
78548         reported by Eric Blake.
78549
78550 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78551
78552         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78553
78554 2005-10-12  Simon Josefsson  <jas@extundo.com>
78555
78556         * tests/test-hmac-sha1.c: New file.
78557
78558         * modules/hmac-sha1-tests: New file.
78559
78560         * modules/hmac-sha1: New file.
78561
78562 2005-10-12  Simon Josefsson  <jas@extundo.com>
78563
78564         * modules/gc-sha1: New file.
78565
78566 2005-10-12  Simon Josefsson  <jas@extundo.com>
78567
78568         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78569
78570         * tests/test-gc-pbkdf2-sha1.c: New file.
78571
78572 2005-10-12  Simon Josefsson  <jas@extundo.com>
78573
78574         * modules/gc-md5, modules/gc-hmac-md5: New files.
78575
78576         * modules/gc (Files): Remove md5, memxor and hmac files.
78577
78578 2005-10-12  Simon Josefsson  <jas@extundo.com>
78579
78580         * m4/gc-pbkdf2-sha1.m4: New file.
78581
78582         * m4/gc-hmac-sha1.m4: New file.
78583
78584         * m4/gc-sha1: New file.
78585
78586         * m4/hmac-sha1.m4: New file.
78587
78588 2005-10-12  Simon Josefsson  <jas@extundo.com>
78589
78590         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78591
78592         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78593
78594 2005-10-12  Simon Josefsson  <jas@extundo.com>
78595
78596         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78597         suggested by Bruno Haible <bruno@clisp.org>.
78598
78599 2005-10-12  Simon Josefsson  <jas@extundo.com>
78600
78601         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78602
78603 2005-10-12  Simon Josefsson  <jas@extundo.com>
78604
78605         * lib/gc-pbkdf2-sha1.c: New file.
78606
78607         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78608
78609 2005-10-12  Simon Josefsson  <jas@extundo.com>
78610
78611         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78612
78613         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78614
78615 2005-10-12  Simon Josefsson  <jas@extundo.com>
78616
78617         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78618         GC_USE_HMAC_MD5, respectively.
78619
78620         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78621         (gc_md5): Fix typo.
78622
78623         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78624
78625         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78626
78627         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78628
78629 2005-10-12  Bruno Haible  <bruno@clisp.org>
78630
78631         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78632         Reported by Stepan Kasal <kasal@ucw.cz>.
78633
78634 2005-10-11  Simon Josefsson  <jas@extundo.com>
78635
78636         * tests/test-crc.c: New file.
78637
78638         * modules/crc, modules/crc-tests: New files.
78639
78640 2005-10-11  Simon Josefsson  <jas@extundo.com>
78641
78642         * m4/crc.m4: New file.
78643
78644 2005-10-11  Simon Josefsson  <jas@extundo.com>
78645
78646         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78647
78648         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78649
78650         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78651
78652 2005-10-11  Simon Josefsson  <jas@extundo.com>
78653
78654         * lib/crc.h, lib/crc.c: New files.
78655
78656         * lib/gc.h (gc_hash_buffer): Add doc.
78657
78658 2005-10-11  Bruno Haible  <bruno@clisp.org>
78659
78660         * modules/c-strcasestr: New file.
78661         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78662
78663 2005-10-11  Bruno Haible  <bruno@clisp.org>
78664
78665         * modules/c-strcase: New file.
78666         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78667
78668 2005-10-11  Bruno Haible  <bruno@clisp.org>
78669
78670         * lib/strcasecmp.c: Include limits.h.
78671         (strcasecmp): Avoid integer overflow on exotic platforms.
78672         * lib/strncasecmp.c: Include limits.h.
78673         (strncasecmp): Avoid integer overflow on exotic platforms.
78674         Reported by Paul Eggert.
78675
78676 2005-10-11  Bruno Haible  <bruno@clisp.org>
78677
78678         * lib/c-strcasestr.h: New file, from GNU gettext.
78679         * lib/c-strcasestr.c: New file, from GNU gettext.
78680
78681 2005-10-11  Bruno Haible  <bruno@clisp.org>
78682
78683         * lib/c-strcase.h: New file, from GNU gettext.
78684         * lib/c-strcasecmp.c: New file, from GNU gettext.
78685         * lib/c-strncasecmp.c: New file, from GNU gettext.
78686
78687 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78688
78689         * modules/mempcpy (License): GPL -> LGPL.
78690         * modules/strchrnul (License): Likewise.
78691         * modules/sysexits (License): Likewise.
78692
78693 2005-10-08  Simon Josefsson  <jas@extundo.com>
78694
78695         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78696
78697 2005-10-07  Simon Josefsson  <jas@extundo.com>
78698
78699         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78700
78701 2005-10-06  Simon Josefsson  <jas@extundo.com>
78702
78703         * tests/test-hmac-md5.c: New file.
78704
78705         * modules/hmac-md5-tests: New file.
78706
78707         * modules/hmac-md5: New file.
78708
78709 2005-10-06  Simon Josefsson  <jas@extundo.com>
78710
78711         * m4/hmac-md5.m4: New file.
78712
78713         * m4/memxor.m4: Require gl_C_RESTRICT.
78714
78715 2005-10-06  Simon Josefsson  <jas@extundo.com>
78716
78717         * lib/memxor.c (memxor): Avoid casts and warnings.
78718
78719 2005-10-06  Simon Josefsson  <jas@extundo.com>
78720
78721         * lib/hmac-md5.c: New file.
78722
78723         * lib/hmac.h: New file.
78724
78725 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78726
78727         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78728         promotes to int, not unsigned int, to catch the AIX 5.3
78729         compiler bug.
78730
78731 2005-10-05  Simon Josefsson  <jas@extundo.com>
78732
78733         * modules/memxor: New file.
78734
78735         * modules/iconv (Files): Move config.rpath to havelib, it is used
78736         there.
78737
78738         * modules/havelib (Files): Add config.rpath.
78739
78740 2005-10-05  Simon Josefsson  <jas@extundo.com>
78741
78742         * m4/memxor.m4: New file.
78743
78744 2005-10-05  Simon Josefsson  <jas@extundo.com>
78745
78746         * lib/memxor.c (memxor): Fix compiler error.
78747
78748         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78749         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78750
78751         * lib/memxor.h, lib/memxor.c: New files.
78752
78753         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78754         we assume all systems have it, suggested by Jim Meyering
78755         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78756         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78757         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78758         same reasons.
78759
78760 2005-10-05  Simon Josefsson  <jas@extundo.com>
78761
78762         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78763
78764 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78765
78766         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78767         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78768         needed, since the source code now assumes these .h files.
78769
78770 2005-10-05  Derek Price  <derek@ximbiot.com>
78771
78772         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78773
78774 2005-10-05  Bruno Haible  <bruno@clisp.org>
78775
78776         * modules/stdint (License): Change to LGPL.
78777
78778 2005-10-04  Simon Josefsson  <jas@extundo.com>
78779
78780         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78781         D. Baushke" <mdb@gnu.org>.
78782
78783 2005-10-04  Bruno Haible  <bruno@clisp.org>
78784
78785         * lib/verify.h (verify_true): Provide alternative definition for C++.
78786
78787 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78788
78789         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78790         (SSIZE_MAX): New macro, if not already defined.
78791         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78792         than 2 GiB.
78793
78794 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78795
78796         Sync from coreutils.
78797         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78798         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78799         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78800         ULLONG_MAX doesn't work with 2.7.2.1.
78801
78802 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78803
78804         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78805         From Ben Pfaff.
78806
78807         * modules/exclude (Depends-on): Depend on verify.
78808         * modules/strtoimax (Depends-on): Likewise.
78809         * modules/utimecmp (Depends-on): Likewise.
78810
78811 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78812
78813         * lib/exclude.c: Include verify.h.
78814         (verify): Remove.  All callers changed to use verify.h's version.
78815         * lib/strtoimax.c: Likewise.
78816         * lib/utimecmp.c: Likewis.e
78817
78818         Sync from coreutils.
78819         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78820         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78821         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78822         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78823         bother returning ENOSYS if settimeofday or stime fails; just let
78824         them return whatever errno they want to return.
78825         * lib/utimens.c: Include unistd.h, for dup2.
78826         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78827         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78828
78829 2005-10-02  Jim Meyering  <jim@meyering.net>
78830
78831         Sync from coreutils.
78832         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78833         from glibc-2.2.5 that fails for read-only files.
78834
78835 2005-10-02  Jim Meyering  <jim@meyering.net>
78836
78837         Sync from coreutils.
78838         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78839         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78840         `#if HAVE_CONFIG_H'.
78841         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78842         Remove AT_FDCWD test.
78843         Do not consume the fd unless successful.
78844         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78845         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78846         block, so that we don't even try to compile it if settimeofday is
78847         available.  This works around a compilation failure on OSF1 V5.1,
78848         due to stime requiring a `long int*' while tv_sec is `int'.
78849
78850 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78851
78852         Sync from coreutils.
78853         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78854         against `yes', rather than just testing for nonempty.
78855
78856 2005-10-01  Simon Josefsson  <jas@extundo.com>
78857
78858         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78859         and Darwin.
78860
78861         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78862         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78863         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78864         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78865         Check if struct addrinfo is declared.
78866
78867 2005-10-01  Simon Josefsson  <jas@extundo.com>
78868
78869         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78870         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78871         AI_* and EAI_* definitions.  Protect function declarations.
78872
78873 2005-10-01  Jim Meyering  <jim@meyering.net>
78874
78875         Sync from coreutils.
78876
78877         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78878         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78879         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78880         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78881         in the inet and nsl libraries.  Required on Solaris 5.7.
78882
78883 2005-10-01  Jim Meyering  <jim@meyering.net>
78884
78885         Sync from coreutils.
78886         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78887         in the inet and nsl libraries.  Required on Solaris 5.7.
78888
78889 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78890
78891         * lib/getdelim.c (getdelim): Remove unused variables.
78892
78893 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78894
78895         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78896         so that the code works even with ancient cpp.  Portability problem
78897         with GCC 2.7.2.1 reported by Thomas M.Ott.
78898
78899 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78900
78901         * modules/regex (Depends-on): Add strcase.
78902
78903         * modules/gethostname (Licence): Change from GPL to LGPL, since
78904         gethostname.c is a trivial implementation of a standard library
78905         function.
78906         * modules/poll (License): Change from GPL to LGPL, since it's
78907         derived from LGPL code.
78908
78909 2005-09-27  Jim Meyering  <jim@meyering.net>
78910
78911         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78912         HAVE_CONFIG_H.
78913
78914         * lib/intprops.h (signed_type_or_expr__): Define.
78915         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78916         for unsigned types.
78917
78918 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78919
78920         * lib/verify.h (verify_expr): Remove, replacing with:
78921         (verify_true): New macro that returns true instead of void.
78922         (verify_type__): Remove.
78923         (verify): Use verify_true rather than verify_type__.
78924
78925 2005-09-26  Bruno Haible  <bruno@clisp.org>
78926
78927         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78928         is necessary.
78929         (lib_SOURCES): Remove mbchar.c.
78930         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78931         (Files): Add m4/mbrtowc.m4.
78932         * modules/mbiter: Likewise.
78933         * modules/mbuiter: Likewise.
78934
78935 2005-09-26  Bruno Haible  <bruno@clisp.org>
78936
78937         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78938         compile mbchar.c if they are not both present.
78939         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78940         * m4/mbiter.m4 (gl_MBITER): Likewise.
78941         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78942         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78943         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78944
78945 2005-09-25  Jim Meyering  <jim@meyering.net>
78946
78947         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78948         also uses socklen_t.
78949
78950 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78951
78952         * lib/utimens.c (ENOSYS): Define if not already defined.
78953         (futimens): Support having a null PATH if the file descriptor
78954         is nonnegative.
78955
78956         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78957         Remove.
78958         (__attribute): Define to empty unless GCC 3.1 or later.
78959         This works around a core dump on OpenBSD 3.4, which has GCC
78960         2.95.3, which dumps core when given __attribute__(()).  It also
78961         simplifies other tests, since we really don't want to bother with
78962         worrying about which ancient version of GCC supported what.
78963         Original problem reported by Yoann Vandoorselaere, with part of
78964         the fix suggested by Derek Price.
78965
78966 2005-09-24  Jim Meyering  <jim@meyering.net>
78967
78968         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78969         so we can once again use a positive bitfield width of 1 -- now we
78970         don't have to explain why we were using a bitfield width of 2.
78971
78972 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78973
78974         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78975         and similarly for the other external symbols.  Problem reported
78976         by James Gallager.
78977
78978         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78979         bug reported by Jim Meyering.
78980
78981         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78982         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78983         not needed, since socklen is a prerequisite module.
78984
78985 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78986
78987         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78988         Problem reported by Eric Blake.
78989         (getaddrinfo): Initialize se so that it's not garbage.
78990         Redo internal storage allocation so that it doesn't make unportable
78991         assumptions about alignment.
78992         Fix a memory leak.
78993
78994         * lib/utimens.c (futimens): Use futimesat if available.
78995         Prefer it to futimes since it doesn't have the futimes bug.
78996
78997         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78998         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78999         Instead, declare a function that returns a pointer to an array,
79000         and use verify_type__ to declare the size of the array.
79001         Problem and germ of a solution reported by Bruno Haible.
79002         (verify_type__): Use 2, not 1, for bitfield size, to avoid
79003         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
79004
79005 2005-09-23  Jim Meyering  <jim@meyering.net>
79006
79007         Sync from coreutils.
79008         Correct build failure (socklen_t not defined) on at least
79009         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
79010         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
79011
79012 2005-09-23  Jim Meyering  <jim@meyering.net>
79013
79014         * modules/getaddrinfo (Depends-on): Add socklen.
79015
79016 2005-09-23  Bruno Haible  <bruno@clisp.org>
79017
79018         * tests/test-verify.c: New file.
79019
79020 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79021
79022         Sync from coreutils.
79023
79024         * modules/argmatch (Depends-on): Add verify.
79025         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
79026         unistd-safer.
79027         * modules/save-cwd (Depends-on): Likewise.
79028
79029         * modules/openat (Files): Add lib/openat-die.c.
79030         (Depends-on): Remove error, exitfail.
79031         Add dirname.
79032
79033         * modules/verify: New file.
79034         * MODULES.html.sh (Diagnostics <assert.h>): New section,
79035         with "verify" module.
79036
79037 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79038
79039         Sync from coreutils.
79040
79041         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
79042         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
79043         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
79044         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
79045         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
79046         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
79047         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
79048         Don't bother checking for string.h, stdlib.h, unistd.h.
79049         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
79050         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
79051         module's job.
79052         * m4/jm-macros.m4 (gl_MACROS): Likewise.
79053         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
79054
79055         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
79056         (gl_GETDATE): Use it.
79057
79058         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
79059
79060 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79061
79062         Sync from coreutils.
79063
79064         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
79065         stat-time.h.
79066         * lib/argmatch.h: Include verify.h
79067         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
79068         (ARGMATCH_ASSERT): Remove; unused.
79069         * lib/canonicalize.c: Assume STDC_HEADERS.
79070         * lib/exclude.c: Include "strcase.h".
79071         * lib/regex_internal.h [!defined _LIBC]: Likewise.
79072         * lib/getusershell.c: Include stdio--.h rather than stdio.h
79073         and stdio-safer.h.
79074         (getusershell): Call fopen, not fopen_safer.
79075         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
79076         Do not include unistd-safer.h.
79077         (save_cwd): Don't call fd_safer; no longer needed
79078         now that we include fcntl--.h.
79079
79080         * lib/getdate.y (relative_time): New type.
79081         (RELATIVE_TIME_0): New constant.
79082         (parser_control): Use relative_time instead of doing it ourselves.
79083         (%union): Add new relative_time rel member.
79084         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
79085         Now typeless.
79086         (relunit, relunit_snumber): Now of type rel.
79087         (zone, rel, relunit, get_date): Adjust to above changes.
79088
79089         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
79090         Do not include unistd-safer.h.
79091         (getloadavg): Don't call fd_safer; no longer needed
79092         now that we include fcntl--.h.
79093
79094         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
79095         (make_dir_parents): Treat ENOSYS like EEXIST.
79096
79097         Improve quality of diagnostics on restore_cwd failure.
79098         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
79099         (make_dir_parents): Last arg is now int * (for errno), not bool *.
79100         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
79101         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
79102         each time through the loop.  Do not diagnose restore_cwd failure;
79103         that is the caller's job (and perhaps the caller does not care).
79104
79105         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
79106         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
79107         If the file already exists but is not a directory, don't bother
79108         to try to make its parents.
79109         Close potential file descriptor leak if we can't chdir("/") (!).
79110         Don't always return true if chdir($PWD) fails; return true only
79111         if the requested action was done successfully (except for the
79112         chdir($PWD)).
79113         Don't log final directory unless we actually made it.
79114         Refactor to avoid duplicate code to fix up permissions.
79115         Don't attempt to fix up parent permissions if chdir($PWD) fails.
79116
79117         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
79118         to make it a bit faster and (I hope) clearer.
79119         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
79120         Fix bug in formats like %2N.
79121
79122         * lib/verify.h: New file.
79123
79124 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         Sync from coreutils.
79127         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
79128
79129 2005-09-22  Jim Meyering  <jim@meyering.net>
79130
79131         Sync from coreutils.
79132
79133         * m4/lstat.m4 (gl_FUNC_LSTAT):
79134         Use AC_LIBSOURCES to require lstat.c and lstat.h.
79135         Remove obsolete comment.
79136         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
79137         * m4/xstrtod.m4: Likewise.
79138
79139         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
79140
79141 2005-09-22  Jim Meyering  <jim@meyering.net>
79142
79143         Sync from coreutils.
79144
79145         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
79146
79147         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
79148         the .tm_year member, since otherwise gcc-4.0 would now warn about
79149         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
79150
79151         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
79152         order to avoid an unsuppressible warning from gcc on 64-bit systems.
79153
79154         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
79155         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
79156         when run in a time zone for which daylight savings time is in effect
79157         for the starting date.
79158
79159         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
79160         stop us from restricting permissions of just-created absolute-named
79161         directories.
79162         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
79163         to restore initial working directory.
79164         * lib/mkdir-p.c (make_dir_parents): New parameter:
79165         different_working_dir, to tell caller if/when we change the working
79166         directory and are unable to return to the initial one.
79167         * lib/mkdir-p.h (make_dir_parents): Update prototype.
79168         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
79169         `return false'.  This fixes a bug introduced on 2004-07-30.
79170
79171         * lib/openat.c (fdopendir): Be sure to close the supplied
79172         file descriptor before returning.  This makes our replacement
79173         implementation a little closer to Solaris's, where fdopendir
79174         ties the file descriptor to the returned DIR* pointer.
79175         * lib/openat.c (unlinkat): New function.
79176         * lib/openat.h (unlinkat): Add prototype.
79177         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
79178         (openat_restore_fail): Rename from openat_restore_die.
79179         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
79180
79181         Provide an alternative to exiting immediately upon save_cwd or
79182         restore_cwd failure.  Now, an application can arrange e.g.,
79183         to perform a longjump in that case.
79184         * lib/openat.c: Include dirname.h.
79185         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
79186         (rpl_openat, fdopendir, fstatat): Call openat_save_die
79187         and openat_restore_die rather than calling error directly.
79188         Don't include "error.h" or "exitfail.h"; they're no longer needed.
79189
79190         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
79191         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
79192         define.
79193
79194         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
79195         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
79196                             int utc, int nanoseconds);
79197         Background:
79198         date should not have to allocate a megabyte of virtual memory to
79199         handle a format argument like +%1048575T.  When implemented with
79200         strftime, it must allocate such a buffer, use strftime to fill it
79201         in, print it, then free it.
79202         With fprintftime, it simply prints everything and exits.
79203         With no need for memory allocation, that's one fewer way to fail.
79204         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
79205         optional field width, not before, so we accept %9:z, not %:9z.
79206         (my_strftime): Be sure to use L_('x') for literals.
79207
79208         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
79209         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
79210         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
79211         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
79212         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
79213         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
79214         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
79215         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
79216         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
79217         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
79218         * lib/xgethostname.c, lib/xreadlink.c:
79219         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
79220
79221         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
79222         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
79223         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
79224         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79225         and don't include <sys/file.h>).
79226
79227 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
79228
79229         Sync from coreutils.
79230
79231         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
79232         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
79233         [!LDAV_DONE]: Avoid unused variable warning.
79234
79235 2005-09-21  Bruno Haible  <bruno@clisp.org>
79236
79237         * lib/unicodeio.h (unicode_to_mb): New declaration.
79238
79239 2005-09-20  Derek Price  <derek@ximbiot.com>
79240
79241         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79242         getaddrinfo.h.
79243
79244 2005-09-20  Bruno Haible  <bruno@clisp.org>
79245
79246         * gnulib-tool: Remove trailing slashes from the values specified for
79247         --source-base, --m4-base, --tests-base, --aux-dir.
79248         Suggested by Simon Josefsson <jas@extundo.com>.
79249
79250 2005-09-20  Bruno Haible  <bruno@clisp.org>
79251
79252         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79253         func_modules_to_filelist, func_import, func_create_testdir): Make all
79254         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79255         change when gnulib-tool is invoked in a different locale.
79256
79257 2005-09-19  Simon Josefsson  <jas@extundo.com>
79258
79259         * m4/socklen.m4: Fix typo.
79260
79261 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79262
79263         Use a consistent style for including <config.h>.
79264         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79265         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79266         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79267         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79268         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79269         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79270         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79271         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79272         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79273         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79274         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79275         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79276         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79277         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79278         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79279         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79280         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79281         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79282         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79283         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79284         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79285         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79286         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79287         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79288         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79289         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79290         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79291         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79292         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79293         lib/xstrtoumax.c, lib/yesno.c:
79294         Standardize inclusion of config.h.
79295         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79296         lib/inttostr.h:  Removed inclusion of config.h from header files.
79297         * lib/inttostr.c:  Adjusted in-tree users.
79298         * lib/timespec.h: Remove superfluous warning to include config.h.
79299         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79300         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79301         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79302         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79303         config.h with HAVE_CONFIG_H.
79304
79305 2005-09-19  Jim Meyering  <jim@meyering.net>
79306
79307         * modules/pathmax (License): Change to LGPL.
79308
79309 2005-09-19  Derek Price  <derek@ximbiot.com>
79310
79311         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79312
79313 2005-09-19  Bruno Haible  <bruno@clisp.org>
79314
79315         * gnulib-tool (import): Provide default for --tests-base.
79316
79317 2005-09-19  Bruno Haible  <bruno@clisp.org>
79318
79319         * doc/quote.texi: New file, extracted from gnulib.texi.
79320         * doc/ctime.texi: New file, extracted from gnulib.texi.
79321         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79322         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79323         * doc/gnulib.texi: Include them.
79324
79325 2005-09-18  Bruno Haible  <bruno@clisp.org>
79326
79327         Portability fix.
79328         * gnulib-tool (func_readlink): New function.
79329         (func_ln_if_changed): Use it.
79330
79331 2005-09-18  Bruno Haible  <bruno@clisp.org>
79332
79333         * gnulib-tool: Support --with-tests also with --import.
79334         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
79335         (func_import): Use variables $testsbase and $inctests. Emit a
79336         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
79337         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
79338         SUBDIRS += $testsdir.
79339         (func_create_testdir): Update.
79340
79341 2005-09-18  Bruno Haible  <bruno@clisp.org>
79342
79343         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
79344         instead of $dry_run.
79345         (func_cp_if_changed, func_mv_if_changed): Remove functions.
79346         (func_ln_if_changed): Don't handle dry-run here.
79347         (func_import): In dry-run mode, detect more precisely which actions
79348         would be performed, and don't use "...ing" verbs.
79349
79350 2005-09-18  Bruno Haible  <bruno@clisp.org>
79351
79352         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79353         (func_import): Use join on two temporary files instead of three nested
79354         loops, in order to determine which files are new or old.
79355
79356 2005-09-18  Bruno Haible  <bruno@clisp.org>
79357
79358         * gnulib-tool (func_import): Comment out code that spits out the
79359         new files with --dry-run.
79360
79361 2005-09-18  Bruno Haible  <bruno@clisp.org>
79362
79363         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79364
79365 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79366
79367         * lib/stat-time.h: New file.
79368         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79369         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79370         in a different way.
79371         (timespec_cmp): New function.
79372         * lib/utimecmp.c: Include stat-time.h.
79373         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79374         members exist, not on the obsolescent ST_MTIM_NSEC.
79375         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79376
79377 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79378
79379         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79380
79381 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79382
79383         * MODULES.html.sh (File system functions): Add stat-time.
79384         * modules/stat-time: New file.
79385         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79386         is now done in a different way, by the stat-time module.
79387         * modules/utimecmp (Depends-on): Add stat-time.
79388
79389 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79390
79391         * m4/st_mtim.m4: Remove.  Superseded by...
79392         * m4/stat-time.m4: New file.
79393         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79394         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79395
79396 2005-09-15  Derek Price  <derek@ximbiot.com>
79397
79398         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79399
79400 2005-09-15  Derek Price  <derek@ximbiot.com>
79401
79402         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79403         * lib/regex_internal.c: Ditto, using this...
79404         (__GNUC_PREREQ): ...new macro.
79405         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79406         using...
79407         (__GNUC_PREREQ): ...this new macro.
79408
79409         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79410
79411 2005-09-15  Derek Price  <derek@ximbiot.com>
79412             Paul Eggert  <eggert@cs.ucla.edu>
79413
79414         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79415         changes, consolidating in...
79416         * lib/regex_internal.h: ...this file.
79417
79418 2005-09-13  Jim Meyering  <jim@meyering.net>
79419
79420         * lib/canon-host.c: Filter through gnu indent and reword comments
79421         slightly.
79422         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79423
79424 2005-09-13  Derek Price  <derek@ximbiot.com>
79425
79426         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79427         failure.
79428         Reported by Jim Meyering  <jim@meyering.net>.
79429
79430 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79431
79432         * lib/base64.c: Typo.
79433         (base64_encode): Put b64str in initialized data section.
79434
79435 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79436
79437         Merge glibc and coreutils changes into gnulib, plus a few
79438         extra fixes.
79439         * lib/md5.c: Use #error rather than a string.
79440         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79441         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79442         (__attribute__): Define to empty for non recent-GCC.
79443         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79444         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79445         Renamed from their non-__ counterparts, with new macros replacing
79446         them if not _LIBC.  Add __THROW attribute.
79447         (rol): Remove.
79448         (struct md5_ctx): Align buffer if using GCC.
79449         * lib/sha1.h (struct sha1_ctx): Likewise.
79450         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79451         The old name was backwards.
79452         (NOTSWAP): Remove; not used.
79453         (rol): New macro, moved here from md5.h.
79454         (sha1_process_block): Remove a FIXME that doesn't make sense.
79455
79456 2005-09-12  Derek Price  <derek@ximbiot.com>
79457
79458         Return usable errors from canon-host.
79459         * lib/canon-host.h: New file.
79460         * lib/canon-host.c (canon_host): Wrap...
79461         (canon_host_r): ...this new function, which now relies exclusively on
79462         getaddrinfo.
79463         (ch_strerror): New function.
79464         (last_cherror): New global.
79465         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79466         interface.
79467         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79468         void *.
79469         (freeaddrinfo): Free ai->ai_canonname when set.
79470
79471 2005-09-12  Derek Price  <derek@ximbiot.com>
79472
79473         Make canon-host require getaddrinfo.
79474         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79475         AC_LIBSOURCE canon-host.h.  Call...
79476         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79477         gl_GETADDRINFO.
79478         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79479
79480 2005-09-12  Derek Price  <derek@ximbiot.com>
79481
79482         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79483         LGPL.
79484         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79485
79486 2005-09-12  Derek Price  <derek@ximbiot.com>
79487
79488         * lib/gai_strerror.c: Include config.h when available.  Include
79489         getaddrinfo.h before other headers to test interface.
79490         Reported by Larry Jones <lawrence.jones@ugs.com>.
79491
79492 2005-09-12  Derek Price  <derek@ximbiot.com>
79493             Paul Eggert  <eggert@cs.ucla.edu>
79494
79495         * modules/glob (Files): Add glob-libc.h.
79496
79497 2005-09-12  Derek Price  <derek@ximbiot.com>
79498             Paul Eggert  <eggert@cs.ucla.edu>
79499
79500         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79501         glob_.h, glob-libc.h.
79502         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79503
79504 2005-09-12  Derek Price  <derek@ximbiot.com>
79505             Paul Eggert  <eggert@cs.ucla.edu>
79506
79507         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79508         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79509         protecting things that should be done only in gnulib contexts.
79510         * lib/glob_.h: New file, containing only the glob things needed for
79511         gnulib.
79512         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79513         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79514         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79515         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79516         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79517         and to respect the namespace rules better.
79518
79519 2005-09-08  Simon Josefsson  <jas@extundo.com>
79520
79521         * modules/socklen: New file.
79522
79523 2005-09-08  Simon Josefsson  <jas@extundo.com>
79524
79525         * m4/socklen.m4: New file.
79526
79527 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79528
79529         * modules/utimens (Files): Add m4/utimbuf.m4, since
79530         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79531         Reported by Sergey Poznyakoff.
79532
79533 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79534
79535         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79536         definitions, since that's the preferred style in glibc.
79537         Fix a minor spacing issue, and update copyright notice to match
79538         glibc's.
79539
79540 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79541
79542         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79543
79544 2005-09-06  Simon Josefsson  <jas@extundo.com>
79545
79546         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79547         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79548
79549 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79550
79551         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79552         warning.
79553
79554 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79555
79556         * config/srclist.txt: Add glibc bug 1302.
79557
79558 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79559
79560         Change bitset word type from unsigned int to unsigned long int,
79561         as this has better performance on typical 64-bit hosts.
79562         Port bitset code to hosts with unusual word sizes.
79563         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79564         (build_collating_symbol):
79565         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79566         argument is a bitset.  This is merely a style issue, but it makes
79567         it clearer that an entire array is expected.
79568         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79569         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79570         Port to the case where bitset_word is not the same as unsigned int.
79571         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79572         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79573         Likewise.
79574         * lib/regexec.c (check_dst_limits_calc_pos_1,
79575         check_subexp_matching_top):
79576         (build_trtable, group_nodes_into_DFAstates):
79577         Likewise.
79578         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79579         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79580         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79581         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79582         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79583         * lib/regcomp.c (optimize_subexps, lower_subexp):
79584         Work even if bitset_word has holes in its bitwise representation.
79585         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79586         * lib/regexec.c (check_dst_limits_calc_pos_1,
79587         check_subexp_matching_top):
79588         Likewise.
79589         * lib/regex_internal.c (re_string_reconstruct):
79590         Don't assume UCHAR_MAX == 255.
79591         * lib/regex_internal.h (bitset_set_all): Likewise.
79592         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79593         All uses changed.
79594         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79595         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79596         All uses changed.
79597         (BITSET_WORD_MAX): New macro.
79598         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79599         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79600         (bitset_empty, bitset_copy):
79601         Prefer sizeof (bitset) to multiplying it out ourselves.
79602         (bitset_not_merge): Remove; unused.
79603         (bitset_contain): Return bool, not unsigned int with one bit on.
79604         All callers changed.
79605         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79606         alignment than re_node_set; do this by defining a new internal
79607         type struct dests_alloc and using it to allocate memory.
79608
79609 2005-09-05  Bruno Haible  <bruno@clisp.org>
79610
79611         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79612         links.
79613
79614 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79615
79616         * modules/size_max (Makefile.am): Add size_max.h
79617
79618 2005-09-04  Derek Price  <derek@ximbiot.com>
79619
79620         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79621
79622 2005-09-03  Simon Josefsson  <jas@extundo.com>
79623
79624         * gnulib-tool: Fix typo.
79625
79626 2005-09-03  Simon Josefsson  <jas@extundo.com>
79627
79628         * config/srclist.txt: Add glibc bug 1293.
79629
79630 2005-09-03  Derek Price  <derek@ximbiot.com>
79631
79632         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79633         From Larry Jones <lawrence.jones@ugs.com>.
79634
79635 2005-09-02  Simon Josefsson  <jas@extundo.com>
79636
79637         * modules/socklen: New file.
79638
79639 2005-09-02  Simon Josefsson  <jas@extundo.com>
79640
79641         * modules/havelib: New module.
79642
79643         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79644         Use havelib.
79645
79646 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79647
79648         Check for arithmetic overflow when calculating sizes, to prevent
79649         some buffer-overflow issues.  These patches are conservative, in the
79650         sense that when I couldn't determine whether an overflow was possible,
79651         I inserted a run-time check.
79652         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79653         macros.
79654         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79655         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79656         (re_xnrealloc, re_x2nrealloc): New inline functions.
79657         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79658         parse_bracket_exp):
79659         (build_equiv_class, build_charclass): Check for arithmetic overflow
79660         in size expression calculations.
79661         * lib/regex_internal.c (re_string_realloc_buffers):
79662         (build_wcs_upper_buffer, re_node_set_add_intersect):
79663         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79664         (re_dfa_add_node, register_state): Likewise.
79665         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79666         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79667         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79668         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79669
79670 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79671
79672         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79673         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79674
79675 2005-09-02  Bruno Haible  <bruno@clisp.org>
79676
79677         Support for lib vs. lib64 distinction on biarch platforms.
79678         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79679         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79680         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79681
79682 2005-09-02  Bruno Haible  <bruno@clisp.org>
79683
79684         * gnulib-tool (import): In the other first-use case, provide defaults
79685         as well.
79686
79687 2005-09-02  Bruno Haible  <bruno@clisp.org>
79688
79689         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79690         patches not yet found in the latest gettext release.
79691
79692 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79693
79694         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79695         to avoid a collision with bits/local_lim.h in glibc.
79696         All uses changed.  Problem reported by Dmitry V. Levin in
79697         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79698
79699         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79700         bugs in int versus size_t comparisons.
79701         (re_string_context_at): Fix bug where the code assumed that
79702         Idx is signed.
79703
79704         Use bool where appropriate.
79705         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79706         All callers changed.
79707         (calc_eclosure_iter): Likewise, for ROOT arg.
79708         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79709         (build_charclass_op): Likewise, for NON_MATCH arg.
79710         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79711         (re_string_construct_common): Likewise, for ICASE arg.
79712         * lib/regexec.c (re_search_2_stub, re_search_stub):
79713         Likewise, for RET_LEN arg.
79714         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79715         (set_regs): Likewise, for FL_BACKTRACK arg.
79716         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79717         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79718         (calc_eclosure_iter, parse_bracket_exp):
79719         Use bool for internal variables that are booleans.
79720         * lib/regexec.c (re_search_internal, check_matching,
79721         proceed_next_node):
79722         (set_regs, build_sifted_states, sift_states_bkref):
79723         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79724         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79725         (find_collation_sequence_value):
79726         Likewise.
79727         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79728         (re_node_set_compare):
79729         Return bool, not int. All callers changed.
79730         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79731         (build_trtable, check_node_accept): Likewise.
79732         * lib/regex_internal.h: Include stdbool.h.
79733
79734         Fix bugs uncovered when converting to bool.
79735         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79736         failure instead of charging ahead blindly.
79737         * lib/regex_internal.c (register_state): Likewise.
79738         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79739         for freeing internal storage.
79740         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79741         bitset pieces used as boolean, to avoid undefined behavior
79742         on hosts that do int overflow checking.
79743
79744 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79745
79746         * config/srclist.txt: Add glibc bugs 1285-1287.
79747
79748 2005-09-01  Jim Meyering  <jim@meyering.net>
79749
79750         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79751         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79752         Require gl_STAT_MACROS, too.
79753
79754 2005-09-01  Bruno Haible  <bruno@clisp.org>
79755
79756         * gnulib-tool (import): In the first-use case, provide defaults.
79757
79758 2005-09-01  Bruno Haible  <bruno@clisp.org>
79759
79760         * gnulib-tool (func_import): Remove the .tmp files.
79761
79762 2005-09-01  Bruno Haible  <bruno@clisp.org>
79763
79764         * gnulib-tool (func_import): Fix handling of symbolic links.
79765
79766 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79767
79768         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79769         old glibc regex code mishandles strings longer than 2**31 bytes.
79770         This patch fixes this when the regex code is used in gnulib
79771         (i.e., outside glibc).
79772
79773         This patch should not affect the use of the regex code inside
79774         glibc.  No doubt this problem also needs to be handled for glibc
79775         as well, but the result will be an incompatible change to the
79776         glibc ABI, and the old ABI will have to be supported too.  That
79777         can be the the subject for another patch.
79778
79779         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79780         governing whether the rest of this patch is active.  By default,
79781         the macro is disabled and the patch has no effect.
79782         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79783         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79784         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79785         (re_match_2, re_set_registers): Use the new types.
79786         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79787         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79788         New macros.
79789         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79790         (re_string_context_at, bin_tree_t, re_dfastate_t):
79791         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79792         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79793         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79794         (re_string_char_size_at, re_string_wchar_at):
79795         (re_string_elem_size_at):
79796         Use the new types and macros to port to 64-bit hosts.
79797         Use unsigned types for internal values, so that the code
79798         mostly works even for arrays larger than SSIZE_MAX.
79799         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79800         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79801         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79802         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79803         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79804         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79805         (calc_inveclosure, parse_dup_op, build_range_exp):
79806         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79807         (fetch_number, create_token_tree, mark_opt_subexp):
79808         Likewise.
79809         * lib/regex_internal.c (re_string_construct_common,
79810         create_ci_newstate):
79811         (create_cd_newstate, re_string_allocate, re_string_construct):
79812         (re_string_realloc_buffers, build_wcs_upper_buffer):
79813         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79814         (re_string_reconstruct, re_string_peek_byte_case):
79815         (re_string_fetch_byte_case, re_string_context_at):
79816         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79817         (re_node_set_init_copy, re_node_set_add_intersect):
79818         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79819         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79820         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79821         (re_acquire_state, re_acquire_state_context, register_state):
79822         Likewise.
79823         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79824         search_cur_bkref_entry):
79825         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79826         (re_search_internal, re_search_2_stub, re_search_stub)
79827         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79828         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79829         (update_cur_sifted_state, check_dst_limits):
79830         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79831         (check_subexp_limits, sift_states_bkref, merge_state_array):
79832         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79833         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79834         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79835         (expand_bkref_cache, check_node_accept_bytes):
79836         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79837         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79838         (acquire_init_state_context, check_halt_node_context):
79839         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79840         (sift_states_backward, clean_state_log_if_needed):
79841         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79842         (find_recover_state, transit_state_sb, transit_state_mb):
79843         (transit_state_bkref, build_trtable, match_ctx_clean):
79844         Likewise.
79845         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79846         to work around an assumption that REG_MISSING is negative.
79847
79848         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79849         (seek_collating_symbol_entry) [defined _LIBC]:
79850         (lookup_collation_sequence_value) [defined _LIBC]:
79851         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79852         Use prototypes rather than old-style function definitions.
79853         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79854         (transit_state_sb) [0]:
79855         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79856
79857         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79858         rm_eo.
79859
79860         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79861         (optimize_subexps, lower_subexp):
79862         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79863         since the signed shift might overflow.  Use 1u<<31 instead.
79864         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79865         Likewise.
79866         * lib/regexec.c (check_dst_limits_calc_pos_1,
79867         check_subexp_matching_top): Likewise.
79868
79869         * lib/regcomp.c (optimize_subexps, lower_subexp):
79870         Use CHAR_BIT rather than 8, for clarity.
79871         * lib/regexec.c (check_dst_limits_calc_pos_1):
79872         (check_subexp_matching_top): Likewise.
79873         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79874         have to worry about portability issues when shifting it left.
79875         Remove no-longer-needed test for table_size > 0.
79876         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79877         in a word, as the resulting behavior is undefined.
79878         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79879         in one case, a <= should have been an <, and in another case the
79880         whole test was missing.
79881         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79882         the standard name CHAR_BIT.
79883         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79884         this is not true on one's complement and signed-magnitude hosts.
79885
79886         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79887         next_last_offset.
79888         (struct re_dfa_t): Remove unused member states_alloc.
79889         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79890
79891 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79892
79893         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79894         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79895         and large-file glibc and in 32-bit large-file Solaris.
79896
79897 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79898
79899         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79900         lengths fit in regoff_t; this isn't true if regoff_t is the same
79901         width as size_t.
79902         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79903         (= START + RANGE) instead of RANGE.  This avoids overflow
79904         problems when regoff_t is the same width as size_t.
79905         All callers changed.
79906         (re_search_2_stub): Check for overflow when adding the
79907         sizes of the two strings.
79908         (re_search_stub): Check for overflow when adding START
79909         to RANGE; if it occurs, substitute the extreme value.
79910
79911 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79912
79913         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79914
79915 2005-08-31  Jim Meyering  <jim@meyering.net>
79916
79917         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79918         a pointer-to-const.
79919         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79920         (register_state): Likewise.
79921         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79922         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79923         (group_nodes_into_DFAstates): Likewise.
79924
79925 2005-08-31  Jim Meyering  <jim@meyering.net>
79926
79927         * check-module: Add a FIXME comment.
79928
79929 2005-08-31  Eric Blake  <ebb9@byu.net>
79930
79931         * modules/unistd-safer (Files): Add unistd--.h.
79932         * modules/stdio-safer (Files): Add stdio--.h.
79933
79934 2005-08-31  Derek Price  <derek@ximbiot.com>
79935
79936         * lib/getdelim.c (getdelim): Return EOF on EOF.
79937         Reported by Larry Jones <lawrence.jones@ugs.com>.
79938
79939 2005-08-31  Bruno Haible  <bruno@clisp.org>
79940
79941         Avoid unnecessary diffs in the generated lib/Makefile.am.
79942         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79943         the generated files.
79944         (func_import): Don't set cmd.
79945
79946 2005-08-31  Bruno Haible  <bruno@clisp.org>
79947
79948         * lib/strstr.c: Include <stddef.h>, for NULL.
79949         * lib/strcasestr.c: Likewise.
79950         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79951
79952 2005-08-31  Bruno Haible  <bruno@clisp.org>
79953
79954         * gnulib-tool: New option --macro-prefix.
79955         (func_import): Use macro_prefix.
79956         (import): Handle option --macro-prefix.
79957
79958 2005-08-31  Bruno Haible  <bruno@clisp.org>
79959
79960         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79961         Also use new variables cached_lgpl, cached_libtool.
79962
79963 2005-08-31  Bruno Haible  <bruno@clisp.org>
79964
79965         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79966         always instantiating them.
79967
79968 2005-08-31  Bruno Haible  <bruno@clisp.org>
79969
79970         * gnulib-tool (func_import): Read the previous cached settings
79971         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79972         earlier added by gnulib but are now dropped. Warn when a gnulib file
79973         overwrites a non-gnulib file.
79974
79975 2005-08-31  Bruno Haible  <bruno@clisp.org>
79976
79977         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79978         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79979         projects that don't keep autogenerated files in CVS. Put into
79980         actioncmd only the specified modules, not the transitive closure.
79981
79982 2005-08-31  Bruno Haible  <bruno@clisp.org>
79983
79984         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79985         Create directories that shall be filled.
79986         (import): Don't look for gl_* macros in configure.ac. Recurse across
79987         all directories containing a gnulib-cache.m4 files, if meaningful.
79988
79989 2005-08-31  Bruno Haible  <bruno@clisp.org>
79990
79991         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79992         (import): Set seen_libtool when we see gl_LIBTOOL.
79993
79994 2005-08-31  Bruno Haible  <bruno@clisp.org>
79995
79996         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79997         declaration macro definitions from generated gnulib.m4.
79998
79999 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
80000
80001         * lib/iconvme.h: Add prototype for iconv_alloc.
80002
80003 2005-08-29  Simon Josefsson  <jas@extundo.com>
80004
80005         * lib/iconvme.c: Fix errno.
80006
80007 2005-08-29  Bruno Haible  <bruno@clisp.org>
80008
80009         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
80010         that it works when the directory contains spaces.
80011
80012 2005-08-29  Bruno Haible  <bruno@clisp.org>
80013
80014         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
80015
80016 2005-08-29  Bruno Haible  <bruno@clisp.org>
80017
80018         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
80019         Emit more advice.
80020
80021 2005-08-29  Bruno Haible  <bruno@clisp.org>
80022         and Stepan Kasal  <kasal@ucw.cz>
80023
80024         * check-module: If more parameters are given, check each of them
80025         separately; add more exceptions, as noted by Jim Meyering.
80026         (check_module): New procedure.
80027         (%exempt_header): Now contains all exceptions.
80028
80029 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
80030
80031         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
80032
80033 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
80034
80035         * lib/iconvme.c: Split iconv_string into iconv_alloc.
80036
80037 2005-08-28  Bruno Haible  <bruno@clisp.org>
80038
80039         * m4/gnulib-tool.m4: New file.
80040
80041 2005-08-27  Jim Meyering  <jim@meyering.net>
80042
80043         * modules/unistd-safer (Files): Add pipe-safer.c.
80044         * modules/fcntl-safer (Files): Add creat-safer.c.
80045
80046 2005-08-27  Jim Meyering  <jim@meyering.net>
80047
80048         * m4/stdlib-safer.m4: New file.  From coreutils.
80049         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
80050         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
80051         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
80052         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
80053         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
80054
80055 2005-08-27  Jim Meyering  <jim@meyering.net>
80056
80057         * lib/fopen-safer.c: Merge minor changes from coreutils.
80058         * lib/dup-safer.c: Likewise.
80059         * lib/fd-safer.c: Likewise.
80060
80061         Merge from coreutils.
80062         * lib/stdio--.h: New file.
80063         * lib/stdlib--.h: New file.
80064         * lib/mkstemp-safer.c: New file.
80065
80066         GNU tar needs these.
80067         * lib/pipe-safer.c: New file.
80068         * lib/creat-safer.c: New file.
80069         * lib/fcntl--.h (creat): Define to creat_safer.
80070         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
80071         * lib/unistd--.h (pipe): Define to pipe_safer.
80072         * lib/unistd-safer.h: Declare pipe_safer.
80073
80074 2005-08-26  Simon Josefsson  <jas@extundo.com>
80075
80076         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
80077         Haible <bruno@clisp.org>.
80078
80079 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
80080
80081         * lib/regex_internal.h: Remove all references to
80082         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
80083         or better.
80084         (bitset_not, bitset_merge, bitset_not_merge):
80085         (bitset_mask, re_string_allocate, re_string_construct):
80086         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
80087         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
80088         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
80089         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
80090         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80091         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80092         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
80093         (re_acquire_state_context):
80094         Remove unnecessary forward decls.
80095         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
80096         Put __attribute at function definition,
80097         now that the function decl has been removed.
80098         * lib/regex_internal.c (re_string_peek_byte_case):
80099         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
80100         Likewise.
80101
80102 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
80103
80104         * m4/regex.m4: Add AC_PREREQ(2.50).
80105         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
80106
80107 2005-08-25  Simon Josefsson  <jas@extundo.com>
80108
80109         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
80110         __fsetlocking.
80111
80112 2005-08-25  Simon Josefsson  <jas@extundo.com>
80113
80114         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
80115         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
80116         GLIBC specific code.
80117
80118 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80119
80120         Make regex safe for g++.  This fixes one real bug (an "err"
80121         that should have been "*err").  g++ problem reported by
80122         Sam Steingold.
80123         * lib/regex_internal.h (re_calloc): New macro, consistent with
80124         re_malloc etc.  All callers of calloc changed to use re_calloc.
80125         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
80126         not int.  All callers changed.
80127         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
80128         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
80129         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
80130         (find_recover_state): Change "err" to "*err"; this fixes what
80131         appears to be a real bug.
80132         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
80133         versus int.
80134
80135 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80136
80137         * modules/regex (Depends-on): Add malloc, since the code
80138         assumes that !malloc(0) means failure.
80139
80140 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80141
80142         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
80143
80144         alloca modernization/simplification for regex.
80145         * lib/regex.c: Remove portability cruft for alloca.  This no longer
80146         needs to be at the start of the file, and can be moved into
80147         regex_internal.h and simplified.
80148         * lib/regex_internal.h: Include <alloca.h>.
80149         (__libc_use_alloca) [!defined _LIBC]: New macro.
80150         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
80151         now works outside glibc.
80152
80153 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80154
80155         * config/srclist.txt: Add glibc bugs 1241, 1245.
80156
80157 2005-08-25  Jim Meyering  <jim@meyering.net>
80158
80159         * lib/open-safer.c: Include <config.h>.
80160         Otherwise, we'd lose LARGEFILE support in any file using
80161         e.g. "fcntl--.h"
80162
80163 2005-08-25  Bruno Haible  <bruno@clisp.org>
80164
80165         * m4/minmax.m4: Require autoconf 2.52.
80166         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
80167         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
80168         alternatives of translit over the alphabet.
80169         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
80170
80171 2005-08-24  Simon Josefsson  <jas@extundo.com>
80172
80173         * tests/test-getpass.c: New file.
80174
80175 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80176
80177         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
80178         for GNU regex features.
80179
80180 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80181
80182         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
80183         * lib/regex.h (regerror): Likewise.
80184
80185         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
80186         requires this.  (The code never needed it.)
80187
80188         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
80189         All uses of recently-renamed identifiers changed to use the new,
80190         POSIX-compliant names.  The code will build and run just fine
80191         without these changes, but it's better to eat our own dog food
80192         and use the standard-conforming names.
80193
80194         * lib/regex.h: Fix a multitude of POSIX name space violations.
80195         These changes have an effect only for programs that define
80196         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
80197         do not change anything for programs compiled in the normal way.
80198         Also, there is no effect on the ABI.
80199
80200         (_REGEX_SOURCE): New macro.
80201         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
80202         defined and _GNU_SOURCE is not; this fixes a name space violation.
80203
80204         Rename the following macros to obey POSIX requirements.
80205         The old names are still visible as macros if _REGEX_SOURCE is defined.
80206         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
80207         RE_BACKSLASH_ESCAPE_IN_LISTS.
80208         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
80209         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
80210         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
80211         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
80212         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
80213         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
80214         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
80215         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
80216         (REG_INTERVALS): renamed from RE_INTERVALS.
80217         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
80218         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
80219         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
80220         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
80221         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
80222         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
80223         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
80224         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
80225         RE_UNMATCHED_RIGHT_PAREN_ORD.
80226         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
80227         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
80228         (REG_DEBUG): renamed from RE_DEBUG.
80229         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
80230         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
80231         unusual, since we can't clash with the POSIX REG_ICASE.
80232         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
80233         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
80234         (REG_NO_SUB): renamed from RE_NO_SUB.
80235         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80236         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80237         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80238         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80239         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80240         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80241         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80242         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80243         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80244         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80245         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80246         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80247         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80248         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80249         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80250         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80251         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80252         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80253         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80254         (REG_FIXED): Renamed from REGS_FIXED.
80255         (REG_NREGS): Renamed from RE_NREGS.
80256
80257         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80258         of other REG_* macros, since POSIX says the user is allowed to
80259         #undef these macros selectively.
80260
80261         (reg_errcode_t): Update comment stating what other tables need
80262         to be consistent.
80263
80264         Rename the following enum values to obey POSIX requirements.
80265         The old names are still visible as macros.
80266         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80267         is not defined, since GNU is supposed to be a superset of POSIX as
80268         much as possible, and since we want reg_errcode_t to be a signed
80269         type for implementation consistency.
80270         (_REG_NOERROR): Renamed from REG_NOERROR.
80271         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80272         (_REG_BADPAT): Renamed from REG_BADPAT.
80273         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80274         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80275         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80276         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80277         (_REG_EBRACK): Renamed from REG_EBRACK.
80278         (_REG_EPAREN): Renamed from REG_EPAREN.
80279         (_REG_EBRACE): Renamed from REG_EBRACE.
80280         (_REG_BADBR): Renamed from REG_BADBR.
80281         (_REG_ERANGE): Renamed from REG_ERANGE.
80282         (_REG_ESPACE): Renamed from REG_ESPACE.
80283         (_REG_BADRPT): Renamed from REG_BADRPT.
80284         (_REG_EEND): Renamed from REG_EEND.
80285         (_REG_ESIZE): Renamed from REG_ESIZE.
80286         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80287         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80288         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80289         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80290         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80291
80292         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80293         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80294         changed.  But support the old name if the new one is not defined
80295         and if _REGEX_SOURCE.
80296
80297         Change the following member names in struct re_pattern_buffer.
80298         The old names are still supported if !_REGEX_SOURCE.
80299         The new names are always supported, regardless of _REGEX_SOURCE.
80300         (re_buffer): Renamed from buffer.
80301         (re_allocated): Renamed from allocated.
80302         (re_used): Renamed from used.
80303         (re_syntax): Renamed from syntax.
80304         (re_fastmap): Renamed from fastmap.
80305         (re_translate): Renamed from translate.
80306         (re_can_be_null): Renamed from can_be_null.
80307         (re_regs_allocated): Renamed from regs_allocated.
80308         (re_fastmap_accurate): Renamed from fastmap_accurate.
80309         (re_no_sub): Renamed from no_sub.
80310         (re_not_bol): Renamed from not_bol.
80311         (re_not_eol): Renamed from not_eol.
80312         (re_newline_anchor): Renamed from newline_anchor.
80313
80314         Change the following member names in struct re_registers.
80315         The old names are still supported if !_REGEX_SOURCE.
80316         The new names are always supported, regardless of _REGEX_SOURCE.
80317         (rm_num_regs): Renamed from num_regs.
80318         (rm_start): Renamed from start.
80319         (rm_end): Renamed from end.
80320
80321         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80322         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80323         Prepend __ to parameter names.
80324
80325         Undo yesterday's changes.
80326
80327 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80328
80329         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80330         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
80331         lib/regex.c.
80332
80333 2005-08-24  Jim Meyering  <jim@meyering.net>
80334
80335         Sync from coreutils.
80336         * m4/fcntl-safer.m4: New file.
80337
80338         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
80339         and object files for this module.
80340
80341 2005-08-24  Jim Meyering  <jim@meyering.net>
80342
80343         Sync from coreutils.
80344         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
80345
80346 2005-08-24  Jim Meyering  <jim@meyering.net>
80347
80348         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
80349         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
80350
80351 2005-08-24  Jim Meyering  <jim@meyering.net>
80352
80353         * modules/fcntl-safer: New module.
80354         * modules/fts (Depends-on): Add fcntl-safer.
80355         * MODULES.html.sh (File descriptor based Input/Output):
80356         Add fcntl-safer.
80357
80358 2005-08-24  Bruno Haible  <bruno@clisp.org>
80359
80360         Support for unit test modules.
80361         * modules/README: Mention tests modules.
80362         * modules/TEMPLATE-TESTS: New file.
80363         * gnulib-tool: New options --extract-tests-module, --with-tests and
80364         --tests-base (unused for the moment).
80365         (testsbase, inctests): New variables.
80366         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80367         (func_verify_module): Exclude TEMPLATE-TESTS.
80368         (func_verify_nontests_module, func_verify_tests_module): New functions.
80369         (func_get_dependencies): Add implicit dependency for tests modules.
80370         (func_get_tests_module): New function.
80371         (func_modules_transitive_closure): When --with-tests was specified,
80372         include the unit tests as well, unless explicitly avoided.
80373         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80374         (func_emit_tests_Makefile_am): New function.
80375         (func_create_testdir): When --with-tests was specified, emit a
80376         tests/ directory.
80377         * MODULES.html.sh (Future developments): Update.
80378
80379 2005-08-24  Bruno Haible  <bruno@clisp.org>
80380
80381         * modules/tls-tests: New file.
80382         * tests/test-tls.c: New file, from GNU gettext.
80383
80384 2005-08-24  Bruno Haible  <bruno@clisp.org>
80385
80386         * modules/lock-tests: New file.
80387         * tests/test-lock.c: New file, from GNU gettext.
80388
80389 2005-08-24  Bruno Haible  <bruno@clisp.org>
80390
80391         * lib/lock.h: Add multiple inclusion guard.
80392         * lib/tls.h: Add multiple inclusion guard.
80393
80394 2005-08-24  Bruno Haible  <bruno@clisp.org>
80395
80396         * gnulib-tool: Add support for the --aux-dir option to
80397         --create-testdir, --create-megatestdir, --test, --megatest.
80398         (func_create_testdir, func_create_megatestdir): Optionally emit a
80399         AC_CONFIG_AUX_DIR directive.
80400         (create-testdir, create-megatestdir, test, megatest): Provide a
80401         default value for $auxdir.
80402
80403 2005-08-24  Bruno Haible  <bruno@clisp.org>
80404
80405         * gnulib-tool (import): Use compound statement instead of subshell
80406         where possible.
80407
80408 2005-08-24  Bruno Haible  <bruno@clisp.org>
80409
80410         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80411
80412 2005-08-24  Bruno Haible  <bruno@clisp.org>
80413
80414         * gnulib-tool (func_version): Update.
80415
80416 2005-08-24  Bruno Haible  <bruno@clisp.org>
80417
80418         * gnulib-tool (func_import, func_create_testdir,
80419         func_create_megatestdir): Quote all autoconf macro arguments.
80420
80421 2005-08-24  Bruno Haible  <bruno@clisp.org>
80422
80423         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80424         option --force, because --force causes the aclocal.m4 of each
80425         subdirectory to be newer than the corresponding config.h.in.
80426
80427 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80428
80429         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80430         All contents moved to gl_REGEX.
80431         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80432         assume that it does.
80433
80434 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80435
80436         * lib/regex.h (REG_NOSYS)
80437         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80438         Define, since POSIX requires it as of 2001.
80439         (_REG_ENOSYS)
80440         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80441         New private symbol, used to keep the enum signed in all cases.
80442         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80443         Youngman in
80444         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80445
80446         * lib/regex_internal.c (re_string_skip_chars, register_state):
80447         (calc_state_hash):
80448         Remove forward decls; no longer needed now that we use prototypes.
80449         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80450         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80451         (clean_state_log_if_needed): Likewise.
80452
80453 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80454
80455         * config/srclist.txt: Add glibc bugs 1231-1233.
80456
80457 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80458
80459         Fix problems reported by Sam Steingold in
80460         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80461         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80462         assumed that reg_errcode_t is a signed type, which is not
80463         necessarily true if _XOPEN_SOURCE is not defined.
80464         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80465         since some compilers warn about it otherwise.
80466
80467 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80468
80469         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80470         (init_word_char, create_initial_state, duplicate_node_closure):
80471         (fetch_token, peek_token_bracket, build_range_exp):
80472         (build_collating_symbol): Remove forward decls; no longer needed
80473         now that we use prototypes.
80474
80475         * lib/regcomp.c:
80476         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80477         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80478         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80479         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80480         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80481         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80482         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80483         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80484         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80485         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80486         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80487         (build_charclass, build_charclass_op, fetch_number, create_tree):
80488         (create_token_tree, mark_opt_subexp, duplicate_tree):
80489         Use prototypes rather than old-style definitions.
80490
80491         * lib/regex_internal.c:
80492         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80493         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80494         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80495         (re_string_reconstruct, re_string_peek_byte_case):
80496         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80497         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80498         (re_node_set_init_copy, re_node_set_add_intersect):
80499         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80500         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80501         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80502         (re_acquire_state, re_acquire_state_context, register_state):
80503         (create_ci_newstate, create_cd_newstate, free_state):
80504         Likewise.
80505         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80506         re_search_2):
80507         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80508         (re_search_internal, prune_impossible_nodes):
80509         (acquire_init_state_context, check_matching, static):
80510         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80511         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80512         (update_regs, sift_states_backward, build_sifted_states):
80513         (clean_state_log_if_needed, merge_state_array):
80514         (update_cur_sifted_state, add_epsilon_src_nodes):
80515         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80516         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80517         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80518         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80519         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80520         (check_arrival, check_arrival_add_next_nodes):
80521         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80522         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80523         (check_node_accept_bytes, check_node_accept, extend_buffers):
80524         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80525         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80526         (sift_ctx_init):
80527         Likewise.
80528
80529         * lib/regex_internal.h:
80530         (re_string_allocate, re_string_construct, re_string_reconstruct):
80531         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80532         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80533         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80534         (re_string_context_at, re_string_peek_byte_case):
80535         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80536         is defined, since we now use prototypes always.
80537
80538         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80539         C89 or better.  All uses removed.
80540
80541 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80542
80543         * config/srclist.txt: Add glibc bugs 1220-1227.
80544
80545 2005-08-20  Jim Meyering  <jim@meyering.net>
80546
80547         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80548         of unused local, dfa.
80549
80550 2005-08-20  Bruno Haible  <bruno@clisp.org>
80551
80552         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80553
80554 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80555
80556         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80557         (re_node_set_insert_last, re_dfa_add_node):
80558         Rename local variables to avoid GCC shadowing warnings.
80559
80560 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80561
80562         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80563         [defined lint]: Suppress bogus uninitialized-variable warnings.
80564
80565         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80566         and let the caller return REG_ESPACE if out of space.  This
80567         removes an uninitialied-variable warning with GCC 4.0.1, and also
80568         avoids taking the address of a local variable.  All callers
80569         changed.
80570
80571 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80572
80573         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80574         $LIBCSRC/posix/regexec.c.
80575         Add glibc bug 1217 for regcomp.c.
80576
80577 2005-08-19  Jim Meyering  <jim@meyering.net>
80578
80579         * lib/regexec.c (proceed_next_node): Redo local variables to
80580         avoid GCC shadowing warnings.
80581
80582 2005-08-18  Bruno Haible  <bruno@clisp.org>
80583
80584         * lib/strstr.c (strstr): Fix return value in multibyte case.
80585         * lib/strcasestr.c (strcasestr): Likewise.
80586
80587 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80588
80589         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80590
80591 2005-08-17  Jim Meyering  <jim@meyering.net>
80592
80593         Make the %s format (seconds since the epoch) work for a negative
80594         number and when used with a zero-padded field width, e.g. %015s.
80595
80596         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80597         label so that it precedes the code to set `digits'.  Otherwise,
80598         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80599         print `00-22'.  Now, it prints `-0022', as it should.
80600
80601 2005-08-17  Bruno Haible  <bruno@clisp.org>
80602
80603         * modules/strstr (Files): Add m4/mbrtowc.m4.
80604         (Depends-on): Add mbuiter.
80605
80606 2005-08-17  Bruno Haible  <bruno@clisp.org>
80607
80608         * modules/strcasestr: New file.
80609         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80610         strcasestr.
80611
80612 2005-08-17  Bruno Haible  <bruno@clisp.org>
80613
80614         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80615
80616 2005-08-17  Bruno Haible  <bruno@clisp.org>
80617
80618         * modules/mbuiter: New file.
80619         * MODULES.html.sh (Extended multibyte and wide character utilities):
80620         Add mbuiter.
80621
80622 2005-08-17  Bruno Haible  <bruno@clisp.org>
80623
80624         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80625         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80626
80627 2005-08-17  Bruno Haible  <bruno@clisp.org>
80628
80629         * m4/strcasestr.m4: New file.
80630
80631 2005-08-17  Bruno Haible  <bruno@clisp.org>
80632
80633         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80634         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80635
80636 2005-08-17  Bruno Haible  <bruno@clisp.org>
80637
80638         * lib/strcasestr.h: New file.
80639         * lib/strcasestr.c: New file.
80640
80641 2005-08-17  Bruno Haible  <bruno@clisp.org>
80642
80643         * lib/strcasecmp.c: Use mbuiter.h.
80644
80645 2005-08-17  Bruno Haible  <bruno@clisp.org>
80646
80647         * lib/mbuiter.h: New file.
80648
80649 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80650
80651         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80652         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80653         and gl_GETOPT are both invoked via different paths (as happens
80654         with GNU tar CVS because it uses both argp and getopt), the former
80655         wins.
80656
80657 2005-08-16  Bruno Haible  <bruno@clisp.org>
80658
80659         * modules/tls: New file.
80660         * MODULES.html.sh (Multithreading): Add tls.
80661
80662 2005-08-16  Bruno Haible  <bruno@clisp.org>
80663
80664         * modules/strnlen1: New file.
80665         * MODULES.html.sh (String handling): Add strnlen1.
80666
80667 2005-08-16  Bruno Haible  <bruno@clisp.org>
80668
80669         * modules/strcase (Files): Add m4/mbrtowc.m4.
80670         (Depends-on): Add strnlen1, mbchar.
80671
80672 2005-08-16  Bruno Haible  <bruno@clisp.org>
80673
80674         * modules/mbiter: New file.
80675         * MODULES.html.sh (Extended multibyte and wide character utilities):
80676         Add mbiter.
80677
80678 2005-08-16  Bruno Haible  <bruno@clisp.org>
80679
80680         * modules/mbfile: New file.
80681         * MODULES.html.sh (Extended multibyte and wide character utilities):
80682         Add mbfile.
80683
80684 2005-08-16  Bruno Haible  <bruno@clisp.org>
80685
80686         * modules/mbchar: New file.
80687         * MODULES.html.sh (Extended multibyte and wide character utilities):
80688         New section.
80689
80690 2005-08-16  Bruno Haible  <bruno@clisp.org>
80691
80692         * m4/tls.m4: New file, from GNU gettext.
80693
80694 2005-08-16  Bruno Haible  <bruno@clisp.org>
80695
80696         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80697         always.
80698         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80699
80700 2005-08-16  Bruno Haible  <bruno@clisp.org>
80701
80702         * m4/mbiter.m4: New file.
80703
80704 2005-08-16  Bruno Haible  <bruno@clisp.org>
80705
80706         * m4/mbfile.m4: New file.
80707
80708 2005-08-16  Bruno Haible  <bruno@clisp.org>
80709
80710         * m4/mbchar.m4: New file.
80711
80712 2005-08-16  Bruno Haible  <bruno@clisp.org>
80713
80714         * lib/tls.h: New file, from GNU gettext.
80715         * lib/tls.c: New file, from GNU gettext.
80716
80717 2005-08-16  Bruno Haible  <bruno@clisp.org>
80718
80719         * lib/strnlen1.h: New file.
80720         * lib/strnlen1.c: New file.
80721
80722 2005-08-16  Bruno Haible  <bruno@clisp.org>
80723
80724         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80725         (mbi_init): Update.
80726         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80727         NUL byte, not after it.
80728
80729 2005-08-16  Bruno Haible  <bruno@clisp.org>
80730
80731         * lib/strcase.h (strcasecmp): Add note in comments.
80732         * lib/strncasecmp.c: Use code from strcasecmp.c.
80733         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80734         (strcasecmp): Work correctly in multibyte locales.
80735
80736 2005-08-16  Bruno Haible  <bruno@clisp.org>
80737
80738         * lib/mbiter.h: New file.
80739
80740 2005-08-16  Bruno Haible  <bruno@clisp.org>
80741
80742         * lib/mbfile.h: New file.
80743
80744 2005-08-16  Bruno Haible  <bruno@clisp.org>
80745
80746         * lib/mbchar.h: New file.
80747         * lib/mbchar.c: New file.
80748
80749 2005-08-16  Bruno Haible  <bruno@clisp.org>
80750
80751         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80752         the valid ones. Makes the comparison operations transitive:
80753         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80754         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80755
80756 2005-08-15  Simon Josefsson  <jas@extundo.com>
80757
80758         * modules/ssize_t (License): Change to 'unlimited'.
80759
80760         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80761
80762 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80763
80764         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80765         Add comments for each pending glibc patch.
80766
80767 2005-08-15  Bruno Haible  <bruno@clisp.org>
80768
80769         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80770         __cplusplus is defined.
80771
80772 2005-08-14  Jim Meyering  <jim@meyering.net>
80773
80774         Sync from coreutils.
80775
80776         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80777         Use the hash-table-based cycle-detection code not just when
80778         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80779         Reported by James Youngman in
80780         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80781         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80782         FTS_TIGHT_CYCLE_CHECK.
80783         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80784         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80785         once again.
80786         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80787         * lib/fts.c (fd_safer): Remove decl.
80788         Include fcntl--.h rather than unistd-safer.h
80789         (fts_safe_changedir): Don't call fd_safer; no longer needed
80790         now that we include fcntl--.h.
80791
80792 2005-08-12  Simon Josefsson  <jas@extundo.com>
80793
80794         * modules/getndelim2: Use ssize_t module.
80795         * modules/getnline: Likewise.
80796         * modules/safe-read: Likewise.
80797         * modules/xreadlink: Likewise.
80798
80799         * modules/ssize_t: New file.
80800
80801 2005-08-12  Simon Josefsson  <jas@extundo.com>
80802
80803         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80804
80805 2005-08-12  Simon Josefsson  <jas@extundo.com>
80806
80807         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80808         ssize_t.
80809
80810 2005-08-12  Simon Josefsson  <jas@extundo.com>
80811
80812         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80813         readline, getdelim and check_version.
80814         (Support for systems lacking ISO C 99: Sizes of integer types):
80815         Add size_max.
80816
80817 2005-08-12  Bruno Haible  <bruno@clisp.org>
80818
80819         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80820
80821 2005-08-11  Simon Josefsson  <jas@extundo.com>
80822
80823         * modules/readline: New file.
80824
80825         * modules/strnlen (Files): Add strnlen.h.
80826
80827 2005-08-11  Simon Josefsson  <jas@extundo.com>
80828
80829         * m4/readline.m4: New file.
80830
80831 2005-08-11  Simon Josefsson  <jas@extundo.com>
80832
80833         * lib/readline.h, readline.c: New file.
80834
80835 2005-08-11  Simon Josefsson  <jas@extundo.com>
80836
80837         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80838         gl_AVOID.
80839
80840 2005-08-11  Bruno Haible  <bruno@clisp.org>
80841
80842         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80843
80844 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80845
80846         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80847
80848 2005-08-10  Simon Josefsson  <jas@extundo.com>
80849
80850         * tests/test-iconvme.c: New file.
80851
80852 2005-08-10  Simon Josefsson  <jas@extundo.com>
80853
80854         * m4/strnlen.m4: New file.
80855
80856         * m4/strndup.m4: Don't check for strnlen declaration, done in
80857         strnlen.m4.
80858
80859 2005-08-10  Simon Josefsson  <jas@extundo.com>
80860
80861         * lib/strndup.c: Use strnlen.h.
80862
80863         * lib/strnlen.h: New file.
80864
80865 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80866
80867         * README: Typos.
80868
80869 2005-08-02  Simon Josefsson  <jas@extundo.com>
80870
80871         * modules/readline: New file.
80872
80873 2005-08-02  Simon Josefsson  <jas@extundo.com>
80874
80875         * modules/getdelim: New file.
80876
80877         * modules/getline: Rewrite, don't use getndelim2.
80878
80879 2005-08-02  Simon Josefsson  <jas@extundo.com>
80880
80881         * m4/getline.m4: Separate out getdelim stuff into separate module.
80882
80883         * m4/getdelim.m4: New file.
80884
80885 2005-08-02  Simon Josefsson  <jas@extundo.com>
80886
80887         * lib/getline.h, getline.c: Rewrite.
80888
80889         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80890
80891 2005-07-31  Bruno Haible  <bruno@clisp.org>
80892
80893         * lib/lock.h (gl_lock_initializer): New macro.
80894         (gl_lock_define_initialized): Use it.
80895         (gl_rwlock_initializer): New macro.
80896         (gl_rwlock_define_initialized): Use it.
80897         (gl_recursive_lock_initializer): New macro.
80898         (gl_recursive_lock_define_initialized): Use it.
80899
80900 2005-07-30  Karl Berry  <karl@gnu.org>
80901
80902         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80903         Report from Ben Pfaff, regarding getopt.
80904
80905 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80906
80907         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80908         normal way.
80909         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80910         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80911         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80912         (gl_GETOPT): Use the new macros.  Most of the implementation
80913         is moved to the new macros.  This is for programs like Emacs
80914         that don't want all the functionality of gl_GETOPT.
80915
80916 2005-07-26  Bruno Haible  <bruno@clisp.org>
80917
80918         * m4/lock.m4: Update from GNU gettext.
80919
80920 2005-07-26  Bruno Haible  <bruno@clisp.org>
80921
80922         * lib/lock.h: Update from GNU gettext.
80923         * lib/lock.c: Update from GNU gettext.
80924
80925 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80926
80927         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80928         obsolescent AC_TRY_RUN.  Include the default includes files, for
80929         'exit'.
80930
80931 2005-07-24  Bruno Haible  <bruno@clisp.org>
80932
80933         * modules/visibility: New file.
80934         * MODULES.html.sh (Misc): Add visibility.
80935
80936 2005-07-24  Bruno Haible  <bruno@clisp.org>
80937
80938         * m4/visibility.m4: New file.
80939
80940 2005-07-24  Bruno Haible  <bruno@clisp.org>
80941
80942         * doc/visibility.texi: New file.
80943
80944 2005-07-22  Bruno Haible  <bruno@clisp.org>
80945
80946         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80947         $(ALLOCA_H), redundant through BUILT_SOURCES.
80948         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80949         redundant through BUILT_SOURCES.
80950         * modules/byteswap (Makefile.am): Remove explicit dependency on
80951         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80952         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80953         $(FNMATCH_H), redundant through BUILT_SOURCES.
80954         * modules/getopt (Makefile.am): Remove explicit dependency on
80955         $(GETOPT_H), redundant through BUILT_SOURCES.
80956         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80957         redundant through BUILT_SOURCES.
80958         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80959         redundant through BUILT_SOURCES.
80960         * modules/stdbool (Makefile.am): Remove explicit dependency on
80961         $(STDBOOL_H), redundant through BUILT_SOURCES.
80962         * modules/stdint (Makefile.am): Remove explicit dependency on
80963         $(STDINT_H), redundant through BUILT_SOURCES.
80964         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80965         Remove explicit dependency on $(SYSEXITS_H).
80966         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80967
80968 2005-07-18  Simon Josefsson  <jas@extundo.com>
80969
80970         * lib/check-version.c (check_version): Accept identical versions too.
80971
80972 2005-07-18  Bruno Haible  <bruno@clisp.org>
80973
80974         * modules/lock: New file.
80975         * MODULES.html.sh (Multithreading): New section.
80976
80977 2005-07-18  Bruno Haible  <bruno@clisp.org>
80978
80979         * m4/lock.m4: New file, from GNU gettext.
80980
80981 2005-07-18  Bruno Haible  <bruno@clisp.org>
80982
80983         * lib/lock.h: New file, from GNU gettext.
80984         * lib/lock.c: New file, from GNU gettext.
80985
80986 2005-07-18  Bruno Haible  <bruno@clisp.org>
80987
80988         * lib/lock.h (gl_once_t): New type.
80989         (gl_once_define, gl_once): New macros.
80990         * lib/lock.c (fresh_once): New variable.
80991         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80992         functions.
80993
80994 2005-07-16  Simon Josefsson  <jas@extundo.com>
80995
80996         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80997         workaround, suggested by Bruno.
80998
80999 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
81000
81001         * modules/xalloc (Depends-on): Add xalloc-die.
81002         * modules/xvasprintf (Depends-on): Add xalloc-die.
81003
81004 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
81005
81006         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
81007         with a minor change.
81008
81009 2005-07-15  Bruno Haible  <bruno@clisp.org>
81010
81011         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
81012         When using lib/poll.c, define poll as rpl_poll.
81013
81014 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
81015
81016         * modules/argp (Depends-on): Remove unlocked-io.
81017
81018 2005-07-14  Derek Price  <derek@ximbiot.com>
81019
81020         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
81021         for glob symlink bug.
81022
81023 2005-07-14  Bruno Haible  <bruno@clisp.org>
81024
81025         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
81026         Instead, test for *_unlocked function declarations directly.
81027
81028 2005-07-11  Simon Josefsson  <jas@extundo.com>
81029
81030         * modules/size_max: New file.
81031
81032         * modules/xsize: Depend on size_max module for size_max.m4.
81033
81034 2005-07-11  Simon Josefsson  <jas@extundo.com>
81035
81036         * lib/size_max.h: New file.
81037
81038 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
81039
81040         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
81041         copyright symbol and the year.
81042         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
81043         (version_etc_va): Use parameterized copyright notice.
81044         Reword to conform to the current GNU coding standards.
81045
81046 2005-07-11  Karl Berry  <karl@gnu.org>
81047
81048         * doc/gnulib.texi (Quoting): new node.
81049         (Initial import): more info, from Patrice.
81050
81051 2005-07-11  Bruno Haible  <bruno@clisp.org>
81052
81053         * gnulib-tool (func_usage): Document option --avoid.
81054         (Command line options): Handle --avoid.
81055         (func_acceptable): New function.
81056         (func_modules_transitive_closure): Use it.
81057
81058 2005-07-11  Bruno Haible  <bruno@clisp.org>
81059
81060         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
81061         Reported by Jim Meyering.
81062
81063 2005-07-10  Bruno Haible  <bruno@clisp.org>
81064
81065         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
81066         Needed when size_t is smaller than 'unsigned int'.
81067         Reported by Paul Eggert.
81068
81069 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81070
81071         * modules/argp (Depends-on): Add unlocked-io
81072
81073 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81074
81075         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
81076         block of defines.
81077
81078 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81079
81080         * config/srclist.txt: Comment out regcomp.c, since we have a porting
81081         fix now.
81082
81083 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
81084         and Paul Eggert  <eggert@cs.ucla.edu>
81085
81086         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
81087         in wint_t, not wchar_t.  Remove now-unnecessary cast.
81088
81089 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81090
81091         * modules/regex (Files): Add lib/regex_internal.c,
81092         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
81093         (Depends-on): Add extensions.
81094         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
81095
81096 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81097
81098         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
81099         pathconf.
81100         * m4/same.m4 (gl_SAME): Likewise.
81101         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
81102
81103         * m4/regex.m4: Adjust to new libc regex implementation.
81104         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
81105         all the .c and .h parts of (the new) regex.
81106         Quote the m4 stuff better.
81107         Check for RE_ICASE bug of old gnulib.
81108         Check for REG_STARTEND of recent libc.
81109         Rename local variables from jm_* to gl_*.
81110         Quote operand of "test -f".
81111         Say "recent enough" version of libc, not "version 2".
81112         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
81113         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
81114         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
81115         Remove check for btowc, isascii.
81116         Require AM_LANGINFO_CODESET.
81117
81118 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81119
81120         * lib/regex.c, regex.h: Sync from libc.
81121         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
81122         * lib/regexec.c:
81123         New files, synced from libc, except that regex_internal.h
81124         currently has a small porting fix.
81125
81126 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
81127
81128         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
81129         regex_internal.c, regexec.c.
81130         Add regex_internal.h too, but as a comment, since the libc version
81131         is currently broken in gnulib mode.
81132
81133 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81134
81135         Support programs like Emacs that use gnulib but not gettext.
81136         * MODULES.html.sh (Internationalization functions): Add gettext-h.
81137         * modules/gettext-h: New file.
81138         * modules/gettext (Files): Remove lib/gettext.h.
81139         (Depends-on): Add gettext-h.
81140         (Makefile.am): Remove lib_SOURCES.
81141         * modules/argmatch, modules/c-stack, modules/closeout:
81142         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
81143         * modules/execute, modules/file-type, modules/getaddrinfo:
81144         * modules/getopt, modules/human, modules/javacomp:
81145         * modules/javaexec, modules/mkdir-p, modules/obstack:
81146         * modules/openat, modules/pagealign_alloc, modules/pipe:
81147         * modules/quotearg, modules/regex, modules/rpmatch:
81148         * modules/unicodeio, modules/userspec, modules/version-etc:
81149         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
81150         * modules/xsetenv:
81151         Depend on gettext-h, not gettext.
81152
81153 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81154
81155         * gnulib-tool (func_import): Add support for 'public domain' license.
81156         * modules/alloca, modules/atexit, modules/memmove:
81157         Now public domain, not GPL.
81158         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
81159         * modules/realloc, modules/strerror, modules/strtod:
81160         Now LGPL, not GPL.
81161
81162 2005-07-05  Bruno Haible  <bruno@clisp.org>
81163
81164         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
81165         autoconf CVS. Needed for mingw.
81166
81167 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81168
81169         Remove the dependency of the strftime module on the tzset module.
81170         * modules/strftime (Depends-on): Remove dependency on tzset.
81171
81172 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81173
81174         Remove the dependency of the strftime module on the tzset module.
81175         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
81176         gl_FUNC_TZSET_CLOBBER.
81177
81178 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81179
81180         Remove the dependency of the strftime module on the tzset module.
81181         * lib/strftime.c (my_strftime)
81182         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
81183         Copy the input structure, to work around some of the bug with
81184         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
81185         Solaris releases, you should also use the tzset module, but we won't
81186         require it as a dependency any more since we don't want LGPLed code
81187         to depend on GPLed code.
81188
81189 2005-07-02  Jim Meyering  <jim@meyering.net>
81190
81191         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
81192         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
81193         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
81194         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
81195
81196 2005-07-02  Jim Meyering  <jim@meyering.net>
81197
81198         * lib/backupfile.c (backup_args): Change a `0' to NULL.
81199
81200 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81201
81202         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
81203         declares only 'struct timespec;' (!).
81204
81205 2005-07-01  Jim Meyering  <jim@meyering.net>
81206
81207         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
81208         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
81209         * lib/save-cwd.c, tempname.c:
81210         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81211         and don't include <sys/file.h>).
81212
81213 2005-06-29  Jim Meyering  <jim@meyering.net>
81214
81215         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
81216         type name.  Use the variable name instead.
81217         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
81218         Likewise.
81219
81220 2005-06-28  Simon Josefsson  <jas@extundo.com>
81221
81222         * modules/check-version (Files): Add check-version.m4.
81223
81224 2005-06-28  Simon Josefsson  <jas@extundo.com>
81225
81226         * m4/check-version.m4: New file, suggested by Jim Meyering
81227         <jim@meyering.net>.
81228
81229 2005-06-28  Simon Josefsson  <jas@extundo.com>
81230
81231         * lib/check-version.h, lib/check-version.c: New files.
81232
81233 2005-06-28  Simon Josefsson  <jas@extundo.com>
81234
81235         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81236         collision with global variable.  Better indentation.  Don't
81237         increment buffer pointer beyond buffer end.  Based on comments
81238         from Paul Eggert <eggert@cs.ucla.edu>.
81239
81240         * lib/base64.h: Indent.
81241
81242 2005-06-28  Simon Josefsson  <jas@extundo.com>
81243
81244         * doc/gnulib.texi (Library version handling): New section.
81245
81246 2005-06-28  Jim Meyering  <jim@meyering.net>
81247
81248         * check-module (find_included_lib_files): Hard-code another
81249         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81250         but modules/fts-lgpl (correctly) does not list those files.
81251
81252         * modules/canonicalize (Files): Add lib/pathmax.h.
81253
81254 2005-06-25  Simon Josefsson  <jas@extundo.com>
81255
81256         * modules/check-version: New file.
81257
81258 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81259
81260         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81261         initializer of struct addrinfo, as an indication that we don't
81262         care how many members the structure has.
81263
81264 2005-06-24  Derek Price  <derek@ximbiot.com>
81265         and Bruno Haible  <bruno@clisp.org>
81266
81267         Remove stat module & update lstat.
81268         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81269         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81270         * m4/stat.m4: Remove this file.
81271
81272 2005-06-24  Derek Price  <derek@ximbiot.com>
81273         and Bruno Haible  <bruno@clisp.org>
81274
81275         Remove stat module & update lstat.
81276         * lib/stat.c: Remove this file...
81277         (slash_aware_lstat): ...moving this content and its support...
81278         * lib/lstat.c (rpl_lstat): ...into here.
81279         * lib/lstat.h: New file.
81280
81281 2005-06-24  Derek Price  <derek@ximbiot.com>
81282         and Bruno Haible  <bruno@clisp.org>
81283
81284         Remove stat module & update lstat.
81285         * config/srclist.txt (libc sources): Remove stat.
81286
81287 2005-06-24  Derek Price  <derek@ximbiot.com>
81288         and Bruno Haible  <bruno@clisp.org>
81289
81290         Remove stat module & update lstat.
81291         * MODULES.html.sh (stat): Remove.
81292         * MODULES.html: Regenerated.
81293         * modules/lstat (Description): Correct function name.
81294         (Files): Add "lstat.h".
81295         (Depends-on): Remove stat, add xalloc, stat-macros.
81296         * modules/stat: Remove this file.
81297         (Include): Add "lstat.h", remove <sys/stat.h>.
81298
81299 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81300
81301         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81302         (ranged_convert): Don't save conversion in a temporary struct.
81303         This causes a warning with GCC 4.0.0, and anyway in the typical
81304         case it's not worth the extra 100 bytes or so of code.
81305         (ranged_convert, __mktime_internal): When calling a function via a
81306         pointer P, use P () rather than (*P) (), as we now assume C89 or
81307         better.
81308
81309 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81310
81311         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81312         "who -r" failed to give output.  Problem reported by Tim Waugh.
81313
81314         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81315         (xcalloc): Use it to avoid needless tests.
81316         Problem reported by Jim Meyering.
81317
81318 2005-06-20  Derek Price  <derek@ximbiot.com>
81319
81320         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81321         unnecessary for Autoconfs > 2.59c.
81322
81323 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81324
81325         * lib/argp.h (__option_is_short): Check upper limit of
81326         __key. Isprint() requires its argument to have the value
81327         of an unsigned char or EOF.
81328
81329 2005-06-16  Jim Meyering  <jim@meyering.net>
81330
81331         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
81332         when either N or S is zero.
81333
81334 2005-06-16  Derek Price  <derek@ximbiot.com>
81335
81336         * m4/bison.m4: Declare YACC & YFLAGS precious.
81337
81338 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
81339
81340         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
81341         multibyte string or pattern, fall back on unibyte matching.
81342         Problem reported by James Youngman.
81343
81344 2005-06-08  Bruno Haible  <bruno@clisp.org>
81345
81346         * modules/csharpcomp: New file.
81347         * MODULES.html.sh (C#): Add csharpcomp.
81348
81349 2005-06-08  Bruno Haible  <bruno@clisp.org>
81350
81351         * m4/csharpcomp.m4: New file, from GNU gettext.
81352
81353 2005-06-08  Bruno Haible  <bruno@clisp.org>
81354
81355         * lib/csharpcomp.h: New file, from GNU gettext.
81356         * lib/csharpcomp.c: New file, from GNU gettext.
81357         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81358
81359 2005-06-08  Bruno Haible  <bruno@clisp.org>
81360
81361         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81362         warning on mingw.
81363
81364 2005-06-07  Derek Price  <derek@ximbiot.com>
81365
81366         Sync from CVS.
81367         * lib/glob_.h: Indent nested #ifdef.
81368
81369 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81370
81371         Sync from coreutils.
81372         Use "file name" when talking about file names, instead of "filename"
81373         or "path", as per the GNU coding standards.
81374         * lib/mkdir-p.c: Renamed from makepath.c.
81375         (make_dir_parents): Renamed from make_path.  All callers changed.
81376         * lib/mkdir-p.h: Likewise.  All includers changed.
81377         * lib/filenamecat.c: Renamed from path-concat.c.
81378         (file_name_concat): Renamed from path_concat.  All callers changed.
81379         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81380         * lib/filenamecat.h: Likewise.  All includers changed.
81381         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81382         in comments or local variable names.
81383         * lib/basename.c: Likewise.
81384         * lib/canonicalize.c, canonicalize.h: Likewise.
81385         * lib/dirname.c, dirname.h: Likewise.
81386         * lib/euidaccess.c: Likewise.
81387         * lib/exclude.c: Likewise
81388         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81389         * lib/fsusage.c, fsuage.h: Likewise.
81390         * lib/fts.c, fts_.h: Likewise.
81391         * lib/getcwd.c: Likewise.
81392         * lib/getloadavg.c: Likewise.
81393         * lib/mkstemp.c: Likewise.
81394         * lib/mountlist.c, mountlist.h: Likewise.
81395         * lib/openat.c, openat.h: Likewise.
81396         * lib/readlink-stub.c: Likewise.
81397         * lib/readutmp.c, readutmp.h: Likewise.
81398         * lib/rename.c: Likewise.
81399         * lib/rmdir.c: Likewise.
81400         * lib/same.c: Likewise.
81401         * lib/savedir.c: Likewise.
81402         * lib/stripslash.c: Likewise.
81403         * lib/tempname.c: Likewise.
81404         * lib/xreadlink.c: Likewise.
81405         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81406         All uses changed.
81407         * lib/exclude.h: Likewise.
81408
81409         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81410         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81411         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81412         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81413         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81414         files have been getting away with it for years (MORE/BSD 4.3
81415         is extinct now).
81416         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81417         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81418
81419         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81420         Define to 256, not 255, as per modern POSIX.
81421
81422 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81423
81424         Sync from coreutils.
81425         Use "file name" when talking about file names, instead of "filename"
81426         or "path", as per the GNU coding standards.
81427         * MODULES.html.sh: mkdir-p renamed from makepath.
81428         filenamecat renamed from path-concat.
81429         * modules/filenamecat: Renamed from modules/path-concat.
81430         (Files): filenamecat.h and filenamecat.c renamed from
81431         path-concat.h and path-concat.c.
81432         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81433         (Include): filenamecat.h, not path-concat.h.
81434         * modules/mkdir-p: Renamed from modules/makepath.
81435         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81436         makepath.c.
81437         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81438         (Include): mkdir-p.h, not makepath.h.
81439
81440 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81441
81442         Sync from coreutils.
81443         * m4/mkdir-p.m4: Renamed from makepath.m4.
81444         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81445         Rename files from makepath.c to mkdir-p.c, and from
81446         makepath.h to mkdir-p.h.
81447         * m4/filenamecat.m4: Renamed from path-concat.m4.
81448         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81449         Rename files from path-concat.c to filenamecat.c,
81450         and from path-concat.h to filenamecat.h.
81451         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81452         "file name" in local variables or comments.
81453         * m4/rename.m4: Likewise.
81454
81455 2005-06-01  Bruno Haible  <bruno@clisp.org>
81456
81457         * modules/csharpexec: New file.
81458         * MODULES.html.sh (C#): New section.
81459
81460 2005-06-01  Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/csharp.m4: New file, from GNU gettext.
81463         * m4/csharpexec.m4: New file, from GNU gettext.
81464
81465 2005-06-01  Bruno Haible  <bruno@clisp.org>
81466
81467         * lib/csharpexec.h: New file, from GNU gettext.
81468         * lib/csharpexec.c: New file, from GNU gettext.
81469         * lib/csharpexec.sh.in: New file, from GNU gettext.
81470
81471 2005-05-31  Derek Price  <derek@ximbiot.com>
81472             Paul Eggert  <eggert@cs.ucla.edu>
81473
81474         Sync from cvs.
81475         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81476
81477 2005-05-31  Derek Price  <derek@ximbiot.com>
81478             Paul Eggert  <eggert@cs.ucla.edu>
81479
81480         Sync from cvs.
81481         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81482
81483 2005-05-29  Derek Price  <derek@ximbiot.com>
81484
81485         * config/srclist.txt (glob_.h, glob.c): Add these files.
81486
81487 2005-05-29  Derek Price  <derek@ximbiot.com>
81488
81489         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81490         * modules/glob: New file.
81491         * modules/getlogin_r: Add link to POSIX spec in description.
81492
81493 2005-05-29  Derek Price  <derek@ximbiot.com>
81494             Paul Eggert  <eggert@cs.ucla.edu>
81495
81496         * m4/glob.m4: New file.
81497
81498 2005-05-29  Derek Price  <derek@ximbiot.com>
81499             Paul Eggert  <eggert@cs.ucla.edu>
81500
81501         * lib/glob_.h, lib/glob.c: New files.
81502
81503 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81504
81505         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81506         * modules/fts-lgpl (Depends-on): Remove gettext.
81507
81508 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81509
81510         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81511         and don't require gt_INTTYPES_PRI.
81512
81513 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81514
81515         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81516
81517         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81518         the configuration hassle isn't worth it.
81519         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81520         (LONGEST_MODIFIER, PRIuMAX): Remove.
81521
81522 2005-05-27  Bruno Haible  <bruno@clisp.org>
81523
81524         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81525
81526 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81527
81528         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81529         _POSIX_PTHREAD_SEMANTICS for Solaris.
81530
81531 2005-05-25  Derek Price  <derek@ximbiot.com>
81532
81533         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81534
81535 2005-05-25  Derek Price  <derek@ximbiot.com>
81536             Paul Eggert  <eggert@cs.ucla.edu>
81537
81538         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81539         * lib/getlogin_r.c, getlogin_r.h: New files.
81540
81541 2005-05-25  Bruno Haible  <bruno@clisp.org>
81542             Derek Price  <derek@ximbiot.com>
81543
81544         * lib/getlogin_r.h: Simplify API documentation.
81545
81546 2005-05-23  Derek Price  <derek@ximbiot.com>
81547
81548         * modules/minmax (Files): Add m4/minmax.m4.
81549         (configure.ac): Add gl_MINMAX.
81550
81551 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81552
81553         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81554         so that unistd-safer.h (GPL'ed code) need not be included.
81555
81556 2005-05-22  Bruno Haible  <bruno@clisp.org>
81557
81558         * m4/minmax.m4: New file.
81559         Based on a patch by Derek Price <derek@ximbiot.com>.
81560
81561 2005-05-22  Bruno Haible  <bruno@clisp.org>
81562
81563         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81564         (INT64_MIN): Fix definition.
81565         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81566
81567         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81568         NEED_SIGNED_INT_TYPES.
81569
81570         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81571         HAVE_SYSTEM_INTTYPES.
81572
81573 2005-05-22  Bruno Haible  <bruno@clisp.org>
81574
81575         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81576         Also include <sys/param.h> if it defines MIN, MAX.
81577         Based on a patch by Derek Price <derek@ximbiot.com>.
81578
81579 2005-05-21  Jim Meyering  <jim@meyering.net>
81580
81581         * modules/fts (Files): Add m4/inttypes-pri.m4.
81582         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81583
81584 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81585
81586         New fts module.
81587         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81588         (setup_dir, free_dir): New functions.
81589         (enter_dir, leave_dir): Define trivial
81590         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81591         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81592         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81593         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81594         Move to fts-cycle.c.
81595         (fts_open): Use setup_dir.
81596         (fts_close): Use free_dir.
81597         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81598         This adds a label and some gotos, but the alternatives were messier.
81599         Check for memory allocation failure when entering a dir.
81600         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81601         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81602         (FTS): New member fts_cycle, that is a union that contains the
81603         old active_dir_ht and cycle_state.  All uses changed to mention
81604         fts_cycle.ht and fts_cycle.state.
81605         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81606         fts.c, with the following changes:
81607         (setup_dir, free_dir): New functions.
81608         (enter_dir): Now returns bool.  Return true if successful, false
81609         if memory exhausted.  All callers changed.
81610         Do not bother partly cleaning up on
81611         memory allocation failure; that is free_dir's job.
81612         However, free ad if hash_insert fails, to avoid memory leak.
81613         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81614         fts->fts_options to see which union member to use.
81615
81616 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81617
81618         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81619         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81620
81621 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81622
81623         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81624
81625 2005-05-20  Jim Meyering  <jim@meyering.net>
81626
81627         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81628         Now a macro, to pacify GCC.
81629
81630 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81631
81632         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81633         of -1.
81634
81635 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81636
81637         * lib/chown.c (rpl_chown): Return -1 on failure.
81638
81639 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81640
81641         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81642         Don't check for stddef.h.
81643         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81644         don't use its results.
81645         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81646         since we include them unconditionally.  Don't require
81647         AM_STDBOOL_H, since stdbool is a prerequisite.
81648         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81649         since we assume C89 or better.
81650         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81651         as we don't use their results.
81652         Don't check for fchdir, memmove, memset, strrchr, as we use
81653         them unconditionally.
81654         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81655         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81656
81657 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81658
81659         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81660         Include <stddef.h> unconditionally, since we assume C89 now.
81661         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81662         * lib/fts.c: Include fts_.h first, to check interface.
81663         Do not include intprops.h; no longer needed.
81664         Include cycle-check.h and hash.h, since fts_.h no longer does.
81665         Remove unnecessary casts of closedir to void.
81666         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81667         decide whether to decrement nlinks.
81668         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81669         (FTS): Use struct hash_table * instead of Hash_table, so that
81670         we no longer need to include hash.h here.
81671
81672 2005-05-18  Jim Meyering  <jim@meyering.net>
81673
81674         * modules/dirfd (License): Change to LGPL.  Most of the code
81675         is already in the public domain.
81676
81677 2005-05-18  Jim Meyering  <jim@meyering.net>
81678
81679         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81680         Reported by Yoann Vandoorselaere.
81681
81682 2005-05-17  Jim Meyering  <jim@meyering.net>
81683
81684         * m4/fts.m4: New file, from coreutils.
81685
81686 2005-05-17  Jim Meyering  <jim@meyering.net>
81687
81688         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81689
81690 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81691
81692         Sync from coreutils.
81693         * m4/unlinkdir.m4: New file.
81694
81695 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81696
81697         Sync from coreutils.
81698         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81699         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81700         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81701         White space changes only.
81702         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81703         special.
81704         * lib/yesno.c: Include getline.h, not ctype.h.
81705         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81706         Use getline to remove arbitrary restriction on response length.
81707
81708 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81709
81710         * config/srclist-update: Spell out "Street" in FSF postal
81711         mail address; this is the style the FSF seems to prefer.
81712
81713         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81714         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81715         this updates FSF postal mail address.
81716
81717         Sync from coreutils.
81718         * modules/unlinkdir: New file.
81719         * modules/yesno (Depends-on): Add getline.
81720         * MODULES.html.sh (File system functions): Add unlinkdir.
81721
81722 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81723
81724         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81725         lib/strsep.h:
81726         Change the initial comment to refer to GPL, not LGPL.
81727         gnulib-tool will change it to LGPL as needed.
81728
81729         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81730         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81731         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81732         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81733         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81734         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81735         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81736         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81737         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81738         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81739         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81740         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81741         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81742         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81743         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81744         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81745         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81746         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81747         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81748         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81749         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81750         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81751         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81752         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81753         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81754         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81755         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81756         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81757         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81758         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81759         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81760         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81761         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81762         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81763         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81764         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81765         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81766         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81767         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81768         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81769         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81770         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81771         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81772         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81773         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81774         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81775         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81776         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81777         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81778         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81779         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81780         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81781         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81782         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81783         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81784         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81785         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81786         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81787         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81788         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81789         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81790         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81791         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81792         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81793         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81794         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81795         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81796         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81797         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81798         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81799         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81800         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81801         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81802         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81803         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81804         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81805         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81806         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81807         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81808         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81809         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81810         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81811         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81812         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81813         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81814         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81815         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81816         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81817         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81818         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81819         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81820         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81821         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81822         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81823         lib/yesno.c, lib/yesno.h:
81824         Update FSF postal mail address.
81825
81826 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81827
81828         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81829         tests/test-memmem.c, tests/test-stpncpy.c:
81830         Update FSF postal mail address.
81831
81832 2005-05-13  Bruno Haible  <bruno@clisp.org>
81833
81834         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81835         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81836         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81837         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81838         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81839         Add support for 64-bit integers in the MSVC compiler.
81840
81841 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81842
81843         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81844
81845 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81846
81847         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81848
81849 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81850
81851         * doc/getdate.texi (General date syntax): Don't say that date
81852         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81853         Problem reported by Nic Ferrier.
81854
81855 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81856
81857         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81858         specified in ai_socktype. Fix invalid ai_protocol
81859         check. ai_protocol is usually set to 0 or depending on
81860         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81861         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81862         ai_socktype / ai_protocol in the returned addrinfo structure.
81863
81864 2005-05-10  Simon Josefsson  <jas@extundo.com>
81865
81866         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81867         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81868
81869 2005-05-10  Karl Berry  <karl@gnu.org>
81870
81871         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81872         (from http://www.gnu.org/licenses).
81873         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81874         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81875         fdl.texi suffices.
81876
81877 2005-05-10  Karl Berry  <karl@gnu.org>
81878
81879         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81880         (COPYING.DOC): remove.
81881
81882         * config/srclist-update: new FSF address.
81883
81884 2005-05-10  Derek Price  <derek@ximbiot.com>
81885
81886         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81887         possible.
81888
81889 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81890             Bruno Haible  <bruno@clisp.org>
81891
81892         * modules/inet_ntop: New file.
81893         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81894         inet_ntop.
81895
81896 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81897             Bruno Haible  <bruno@clisp.org>
81898
81899         * m4/inet_ntop.m4: New file.
81900
81901 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81902             Bruno Haible  <bruno@clisp.org>
81903
81904         * lib/inet_ntop.h: New file.
81905         * lib/inet_ntop.c: New file, from glibc with modifications.
81906
81907 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81908
81909         * modules/time_r (License): Change to LGPL.
81910         * modules/extensions (License): Change to LGPL.  Actually,
81911         the license is more permissive than that, but currently gnulib-tool
81912         doesn't know how to handle more-permissive licenses.
81913
81914         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81915         Problem reported by Dave Love.
81916
81917 2005-05-08  Jim Meyering  <jim@meyering.net>
81918
81919         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81920         blank.
81921
81922 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81923
81924         * modules/argmatch (Depends-on): Add stdbool.
81925         * modules/backupfile (Depends-on): Likewise.
81926         * modules/chdir-long (Depends-on): Likewise.
81927         * modules/closeout (Depends-on): Likewise.
81928         * modules/cycle-check (Depends-on): Likewise.
81929         * modules/dirname (Depends-on): Likewise.
81930         * modules/fnmatch (Depends-on): Likewise.
81931         * modules/fsusage (Depends-on): Likewise.
81932         * modules/fwriteerror (Depends-on): Likewise.
81933         * modules/getcwd (Depends-on): Likewise.
81934         * modules/getloadavg (Depends-on): Likewise.
81935         * modules/hard-locale (Depends-on): Likewise.
81936         * modules/makepath (Depends-on): Likewise.
81937         * modules/mountlist (Depends-on): Likewise.
81938         * modules/nanosleep (Depends-on): Likewise.
81939         * modules/posixtm (Depends-on): Likewise.
81940         * modules/quotearg (Depends-on): Likewise.
81941         * modules/readtokens (Depends-on): Likewise.
81942         * modules/readtokens0 (Depends-on): Likewise.
81943         * modules/readutmp (Depends-on): Likewise.
81944         * modules/save-cwd (Depends-on): Likewise.
81945         * modules/strftime (Depends-on): Likewise.
81946         * modules/userspec (Depends-on): Likewise.
81947         * modules/utimecmp (Depends-on): Likewise.
81948         * modules/xgetcwd (Depends-on): Likewise.
81949         * modules/xnanosleep (Depends-on): Likewise.
81950         * modules/xstrtod (Depends-on): Likewise.
81951         * modules/yesno (Depends-on): Likewise.
81952
81953 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81956         needless checks.
81957
81958 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81959
81960         Merge from coreutils.  Among other things,
81961         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81962         * lib/fd-safer.c: New file.
81963         * lib/fcntl-safer.h, open-safer.c: Remove.
81964         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81965         * lib/dup-safer.c: Include unistd-safer.h first.
81966         Don't include errno.h.
81967         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81968         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81969         * lib/file-type.c: Rely on file-type.h change.
81970         * lib/getloadavg.c: Include unistd-safer.h.
81971         (getloadavg): Use safer open.
81972         * lib/getusershell.c: Include "stdio-safer.h".
81973         (getusershell): Use safer fopen.
81974         * lib/long-options.c (long_options): Use NULL rather than 0.
81975         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81976         'free'.
81977         * lib/modechange.c: Likewise.
81978         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81979         (MODE_DONE): New constant.
81980         (struct mode_change): Remove 'next' member.
81981         (make_node_op_equals): New function; like the old one of the
81982         same name, except it allocates an array.
81983         (mode_compile, mode_create_from_ref): Use it.
81984         (mode_compile): Allocate result as an array, not a linked list.
81985         Parse octal string ourself, so that we catch mistakes like "+0".
81986         (mode_adjust): Arg is an array, not a linked list.
81987         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81988         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81989         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81990         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81991         Remove.  This is now stat-macros.h's job.
81992         (talloc): Remove.  All callers replaced by xalloc, so that
81993         our invokers don't have to worry about reporting memory failures.
81994         (make_node_op_equals): Remove.
81995         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81996         New constants.
81997         (struct mode_change): Moved here from modechange.h.
81998         (mode_append_entry): Remove.
81999         (mode_compile): Remove MASKED_OPS arg, since it encouraged
82000         apps to have incorrect behavior.  Use simpler algorithm for head
82001         and tail.  Don't futz with umask; that's now the job of mode_adjust.
82002         Detect more invalid usages rather than having somewhat-random behavior.
82003         Don't insert an "a=" action, as that leads to incorrect behavior.
82004         (mode_compile, mode_create_from_ref): Return NULL on error instead
82005         of an enum, since now there's only one way to have an error.  All
82006         callers changed.
82007         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
82008         at the correct time.  Simplify calculation of "+u" and its ilk.
82009         Don't mishandle "+X".
82010         (mode_free): Remove "register" and localize decls.
82011         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
82012         (struct mode_change): Move to modechange.c; callers don't
82013         need to see this stuff.
82014         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
82015         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
82016         (mode_change, mode_adjust): Reflect the new signatures noted above.
82017         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
82018         that might redefine system include files.
82019         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
82020         (my_usleep): Use NULL rather than (void *) 0.
82021         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
82022         Use siginterrupt to specify that system calls should be interrupted.
82023         (rpl_nanosleep): Move initialization of suspended closer to call of
82024         my_usleep.
82025         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
82026         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
82027         (desirable_utmp_entry): New function.
82028         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
82029         using x2nrealloc, to simplify logic.
82030         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
82031         size calculation.  Do not assume utmp file is a regular file.
82032         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
82033         (READ_UTMP_CHECK_PIDS): New constant.
82034         * lib/save-cwd.c: Include unistd-safer.h.
82035         (save_cwd): Use fd_safer.
82036         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
82037         [!_LIBC] Include "stat-macros.h" instead.
82038         * lib/unistd-safer.h (fd_safer): New decl.
82039
82040 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82041
82042         * modules/getloadavg (Depends-on): Add unistd-safer.
82043         * modules/getusershell (Depends-on): Add stdio-safer.
82044         * modules/lstat (Depends-on): Remove xalloc.
82045         * modules/mkstemp (Depends-on): Add stat-macros.
82046         * modules/modechange (Depends-on): Remove xstrtol.
82047         Add stat-macros, xalloc.
82048         * modules/save-cwd (Depends-on): Add unistd-safer.
82049         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
82050         * modules/unistd-safer (Files): Add lib/fd-safer.c
82051         (Makefile.am): Remove lib_SOURCES.
82052
82053         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
82054         Remove fcntl-safer; unistd-safer supersedes it.
82055
82056 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82057
82058         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
82059         AC_HEADER_STAT.
82060         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
82061         (gl_PREREQ_CHOWN): Remove.
82062         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
82063         it.  Don't require AC_HEADER_STAT.
82064         (gl_PREREQ_LSTAT): Remove.
82065         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
82066         Don't require AC_HEADER_STAT.
82067         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
82068         (gl_PREREQ_RMDIR): Remove.
82069         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
82070         mention stat-macros.h or AC_HEADER_STAT, since we'll make
82071         the stat-macros module a prerequisite.
82072         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
82073         * m4/filemode.m4 (gl_FILEMODE): Likewise.
82074         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
82075         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
82076         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
82077         variable names.
82078         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
82079         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
82080         variable prefixes.
82081         * m4/fcntl-safer.m4: Remove.
82082         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
82083         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
82084         Invoke gl_PREREQ_FD_SAFER.
82085         (gl_PREREQ_FD_SAFER): New macro.
82086         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
82087         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
82088         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
82089         Remove duplicate call to AC_LIBOBJ(readutmp).
82090         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
82091
82092         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
82093         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
82094
82095 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
82096
82097         * MODULES.html.sh (Misc): Add byteswap.
82098
82099 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82100
82101         * modules/getcwd (Depends-on): Add extensions.
82102         * modules/openat (Depends-on): Likewise.
82103
82104 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82105
82106         * modules/byteswap: New file.
82107
82108 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82109
82110         * m4/byteswap.m4: New file.
82111
82112 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
82113
82114         * lib/byteswap_.h: New file.
82115
82116 2005-04-25  Karl Berry  <karl@gnu.org>
82117
82118         * m4/gettext.m4: Update from GNU gettext 0.14.4.
82119
82120 2005-04-25  Albert Chin  <china@thewrittenword.com>
82121
82122         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
82123         Toolkit C bug.
82124
82125 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
82126
82127         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
82128         (func_ln_if_changed): Remove forcibly for no error message
82129         in case file does not exist.
82130
82131 2005-04-19  Simon Josefsson  <jas@extundo.com>
82132
82133         * gnulib-tool (Options): Make --symlink mean --symbolic.
82134
82135 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
82136
82137         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
82138
82139 2005-04-16  Simon Josefsson  <jas@extundo.com>
82140
82141         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
82142
82143 2005-04-15  Simon Josefsson  <jas@extundo.com>
82144
82145         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
82146
82147 2005-04-15  Simon Josefsson  <jas@extundo.com>
82148
82149         * gnulib-tool: Rename --symlink to --symbolic.
82150
82151 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
82152
82153         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
82154         symbolic links to files instead of copying/moving.  Add --aux-dir,
82155         specifying directory relative --dir where auxiliary build tools
82156         are placed.
82157
82158 2005-04-14  Bruno Haible  <bruno@clisp.org>
82159
82160         * modules/allocsa (License): Change to LGPL.
82161         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
82162
82163 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82164
82165         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
82166         that "UTC +1 second" continues to work.  Problem reported
82167         by Dmitry V. Levin.
82168         (relunit_snumber): New rule.
82169         (relunit): Use it.
82170
82171 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * lib/getdate.y (universal_time_zone_table): New constant.
82174         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
82175         universal_time_zone_table.
82176         (lookup_zone): Prefer universal_time_zone_table to
82177         local_time_zone_table, so that "GMT" time stamps are allowed in
82178         London during the summer.  Problem reported by Ian Abbott.
82179
82180 2005-04-12  Jim Meyering  <jim@meyering.net>
82181
82182         * lib/human.c (humblock): Set *options even when returning due to
82183         xstrtoumax conversion failure.  Thanks to a used-uninitialized
82184         warning from gcc-4.
82185
82186 2005-04-09  Jim Meyering  <jim@meyering.net>
82187
82188         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
82189         -Wuninitialized: initialize tm0.tm_year.
82190
82191 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
82192
82193         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
82194         count, since there's no maximum.  All uses changed.
82195         Add member dsts_seen.
82196         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
82197         not being INT_MAX.
82198         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
82199         Use pc_rels_seen to decide whther a date is absolute.
82200
82201         * lib/getdate.y (number): Don't overwrite year.
82202         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
82203         check.
82204
82205 2005-04-02  Simon Josefsson  <jas@extundo.com>
82206
82207         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
82208         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
82209
82210 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
82211
82212         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
82213         where no absolute path name can be longer than PATH_MAX.
82214
82215 2005-03-27  Jim Meyering  <jim@meyering.net>
82216
82217         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
82218
82219 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
82220
82221         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
82222         "one's complement" -> "ones' complement" in comment, as per Knuth.
82223         "value of type" -> "type or expression" in comment.
82224         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
82225
82226 2005-03-26  Jim Meyering  <jim@meyering.net>
82227
82228         Comment nits.
82229         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
82230         Correct typos: s/or/of/.
82231
82232 2005-03-26  Jim Meyering  <jim@meyering.net>
82233
82234         * modules/check-include-files: Move to ../ and rename to...
82235         * check-module: ...this.
82236
82237 2005-03-25  Jim Meyering  <jim@meyering.net>
82238
82239         * modules/xvasprintf (Files): Add xalloc.h.
82240
82241 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82242
82243         * modules/gettext (Files): config/config.rpath ->
82244         build-aux/config.rpath
82245         * modules/iconv (Files): Likewise.
82246         Problem reported by Oskar Liljeblad.
82247
82248 2005-03-23  Jim Meyering  <jim@meyering.net>
82249
82250         * modules/check-include-files: New script to check for
82251         missing dependencies, multiple includes, etc.
82252
82253         * modules/c-strtold (Depends-on): Add xalloc.
82254         * modules/c-strtod (Depends-on): Add xalloc.
82255         * modules/hash (Depends-on): Add xalloc.
82256         (Files): Remove lib/xalloc.h.
82257
82258         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82259         * modules/userspec (Files): Add lib/inttostr.h.
82260
82261 2005-03-23  Jim Meyering  <jim@meyering.net>
82262
82263         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82264
82265 2005-03-22  Jim Meyering  <jim@meyering.net>
82266
82267         * modules/stat-macros: New module.
82268         * modules/canonicalize, modules/euidaccess, modules/file-type,
82269         * modules/filemode, modules/lchown, modules/makepath,
82270         * modules/rmdir, modules/stat: Depend on new stat-macros module
82271         rather than listing lib/stat-macros.h manually.
82272         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82273
82274 2005-03-22  Jim Meyering  <jim@meyering.net>
82275
82276         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82277
82278 2005-03-22  Bruno Haible  <bruno@clisp.org>
82279
82280         * config/srclist.txt: Replace target directory 'config' with
82281         'build-aux'.
82282         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82283         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82284         ../build-aux/.
82285
82286 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82287
82288         * modules/chdir-long (Depends-on): Add mempcpy.
82289
82290         * modules/acl, modules/backupfile, modules/c-strtod,
82291         modules/c-strtold, modules/canon-host, modules/canonicalize,
82292         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82293         modules/exclude, modules/exitfail, modules/file-type,
82294         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82295         modules/getdate, modules/getline, modules/getpagesize,
82296         modules/getpass, modules/getugroups, modules/group-member,
82297         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82298         modules/inttostr, modules/long-options, modules/makepath,
82299         modules/md5, modules/memcasecmp, modules/memcoll,
82300         modules/modechange, modules/mountlist, modules/path-concat,
82301         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82302         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82303         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82304         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82305         modules/strftime, modules/strndup, modules/strverscmp,
82306         modules/timespec, modules/unlocked-io, modules/userspec,
82307         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82308         modules/yesno:
82309         Remove lib_SOURCES line from Makefile.am section, as this is now
82310         done automatically by the corresponding Autoconf macro.
82311
82312 2005-03-21  Jim Meyering  <jim@meyering.net>
82313
82314         Changes imported from coreutils.
82315
82316         * lib/cycle-check.c: Don't include xalloc.h.
82317
82318         * lib/path-concat.c: Don't include assert.h.
82319         (path_concat): Remove assertion that would have triggered
82320         for ABASE starting with more than one slash.
82321         Reported by Andreas Schwab.
82322
82323         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82324         properly when ABASE is an absolute file name.
82325         Correct the description of this function.
82326         Include <assert.h>.
82327         Add an assertion and a test driver.
82328         This fixes a bug introduced on 2004-07-02.
82329         Andreas Schwab reported the resulting failure of cp --parents:
82330         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
82331
82332 2005-03-21  Jim Meyering  <jim@meyering.net>
82333
82334         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
82335         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
82336
82337 2005-03-21  Jim Meyering  <jim@meyering.net>
82338         and  Paul Eggert  <eggert@cs.ucla.edu>
82339
82340         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
82341         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
82342         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
82343         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
82344         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
82345         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
82346         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
82347         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
82348         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
82349         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
82350         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
82351         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
82352         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82353         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82354         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82355         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82356         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82357         for these modules.
82358
82359 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82360
82361         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82362         (which shouldn't happen), generate nothing instead of returning 0
82363         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82364
82365 2005-03-16  Bruno Haible  <bruno@clisp.org>
82366
82367         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82368         HAVE_LONGLONG_64BIT.
82369
82370 2005-03-16  Bruno Haible  <bruno@clisp.org>
82371
82372         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82373         HAVE_LONGLONG_64BIT.
82374
82375 2005-03-16  Bruno Haible  <bruno@clisp.org>
82376
82377         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82378         HAVE_LONGLONG_64BIT.
82379
82380 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82381
82382         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82383         reliably distinguish strftime failure from empty output on POSIX
82384         hosts.
82385
82386 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82387
82388         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82389         (iconv_string): Don't guess a size-zero buffer, as that might cause
82390         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82391         result would be 'too large', where 'too large' is (heuristically)
82392         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82393         overflow concerns.  This will prevent some unwanted malloc failures
82394         when the inputs are very large.
82395
82396 2005-03-15  Karl Berry  <karl@gnu.org>
82397
82398         * config/srclist.txt (config.rpath): from gettext.
82399         * config/config.rpath: update.
82400
82401 2005-03-15  Bruno Haible  <bruno@clisp.org>
82402
82403         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82404         to 'negate'.
82405
82406         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82407         variable.
82408
82409         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82410         results.
82411
82412 2005-03-14  Simon Josefsson  <jas@extundo.com>
82413
82414         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82415         <fx@gnu.org>.
82416
82417 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82418
82419         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82420         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82421         intprops.h.
82422         * lib/strtol.c: Likewise.
82423
82424 2005-03-14  Jim Meyering  <jim@meyering.net>
82425
82426         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82427         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82428         to be nonzero so that we (and caller) can detect the difference
82429         between a valid zero-length expansion and an error return, even
82430         when the underlying strftime fails before writing anything into
82431         that location.
82432
82433 2005-03-14  Bruno Haible  <bruno@clisp.org>
82434
82435         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82436         Update from GNU gettext 0.14.3.
82437
82438 2005-03-10  Jim Meyering  <jim@meyering.net>
82439
82440         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82441
82442 2005-03-10  Jim Meyering  <jim@meyering.net>
82443
82444         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82445         so that this module works on systems without fchdir.
82446
82447 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82448
82449         Factor int-properties macros into a single file, except for
82450         glibc-related files.
82451         * lib/intprops.h: New file.
82452         * lib/getloadavg.c: Include it instead of limits.h.
82453         (INT_STRLEN_BOUND): Remove.
82454         * lib/human.c: Include intprops.h.
82455         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82456         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82457         302/1000.
82458         * lib/inttostr.h: Include intprops.h instead of limits.h.
82459         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82460         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82461         for consistency with intprops.h.
82462         (time_t_is_integer, twos_complement_arithmetic): Use them.
82463         * lib/sig2str.h: Include <signal.h>, intprops.h.
82464         (INT_STRLEN_BOUND): Remove.
82465         * lib/strftime.c (TYPE_SIGNED): Remove.
82466         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82467         * lib/strtol.c: Adjust comments to match intprops.h.
82468         * lib/userspec.c: Include intprops.h.
82469         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82470         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82471         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82472         instead of rolling our own expressions.
82473         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82474
82475         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82476         instead of int.
82477         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82478         the right thing even if adding 1900 would overflow.  Similarly
82479         for tm_mon + 1 and tm_yday + 1.
82480         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82481         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82482         (DO_SIGNED_NUMBER): New macro.
82483         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82484
82485 2005-03-07  Bruno Haible  <bruno@clisp.org>
82486
82487         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82488
82489 2005-03-07  Bruno Haible  <bruno@clisp.org>
82490
82491         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82492
82493 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82494
82495         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82496         (func_import): Only replace files via --import when they have actually
82497         changed.
82498
82499 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82500
82501         * m4/mmap-anon.m4: New file.
82502         * m4/pagealign_alloc.m4: New file.
82503
82504 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82505             Bruno Haible  <bruno@clisp.org>
82506
82507         * modules/pagealign_alloc: New file.
82508         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82509
82510 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82511             Bruno Haible  <bruno@clisp.org>
82512
82513         * lib/pagealign_alloc.h: New file.
82514         * lib/pagealign_alloc.c: New file.
82515
82516 2005-03-03  Bruno Haible  <bruno@clisp.org>
82517
82518         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82519         Use an all-permissive copyright notice, recommended by RMS.
82520
82521 2005-03-02  Bruno Haible  <bruno@clisp.org>
82522
82523         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82524         of AIX, the replacement has to be done only after <string.h> is
82525         included, therefore not in config.h. stpncpy.h does the replacement,
82526         and stpncpy.c uses it.
82527
82528 2005-03-02  Bruno Haible  <bruno@clisp.org>
82529
82530         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82531         stpncpy.c uses it.
82532
82533 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82534
82535         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82536         The workaround isn't strictly needed for POSIX conformance, and
82537         it's too much of a pain to configure and maintain.  We'll ask
82538         people to fix their kernels instead.
82539         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82540         (NANOSLEEP_BUG_WORKAROUND): Remove.
82541         (xnanosleep): Remove the workaround.
82542
82543 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82544
82545         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82546         Reported by Derek Price.
82547         (Include): Add "timespec.h".
82548
82549         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82550
82551 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82552
82553         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82554         to detect nanosleep bug.
82555
82556 2005-03-01  Bruno Haible  <bruno@clisp.org>
82557
82558         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82559
82560 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82561
82562         * modules/gethrxtime: New file.
82563         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82564         (Depends-on): Add gethrxtime.
82565         (configure.ac): Add gl_XNANOSLEEP.
82566         (Makefile.am): Remove lib_SOURCES line.
82567
82568 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82569
82570         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82571         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82572
82573 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82574
82575         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82576         * lib/timespec.h (gettime): Return void, since it always
82577         succeeds now.  All uses changed.
82578         * lib/gettime.c (gettime): Likewise.
82579         [HAVE_NANOTIME]: Prefer nanotime.
82580         Assume gettimeofday succeeds, as POSIX requires.
82581         Assime time () succeeds, since other code already does.
82582         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82583         (timespec_subtract): Remove.
82584         (NANOSLEEP_BUG_WORKAROUND): New constant.
82585         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82586         things considerably.  Use it only on GNU/Linux hosts, since the
82587         workaround shouldn't be needed elsewhere.
82588
82589 2005-02-24  Bruno Haible  <bruno@clisp.org>
82590
82591         * modules/gettext (Files): Add m4/glibc2.m4.
82592
82593 2005-02-24  Bruno Haible  <bruno@clisp.org>
82594
82595         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82596         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82597         * m4/progtest.m4:
82598         Update from GNU gettext 0.14.2.
82599         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82600
82601 2005-02-24  Bruno Haible  <bruno@clisp.org>
82602
82603         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82604         * lib/config.charset: Update from GNU gettext 0.14.2.
82605
82606 2005-02-24  Bruno Haible  <bruno@clisp.org>
82607
82608         * lib/gettext.h: Update from GNU gettext 0.14.2.
82609
82610 2005-02-23  Simon Josefsson  <jas@extundo.com>
82611
82612         * m4/iconvme.m4: New file.
82613
82614 2005-02-23  Jim Meyering  <jim@meyering.net>
82615
82616         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82617         change.
82618         Thanks to Bruno Haible for catching it.
82619
82620 2005-02-22  Simon Josefsson  <jas@extundo.com>
82621
82622         * modules/iconvme: New file.
82623
82624         * MODULES.html.sh: Add iconvme.
82625
82626 2005-02-22  Simon Josefsson  <jas@extundo.com>
82627
82628         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82629
82630 2005-02-22  Simon Josefsson  <jas@extundo.com>
82631
82632         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82633
82634 2005-02-22  Jim Meyering  <jim@meyering.net>
82635
82636         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82637         s/ifndef/ifdef/.
82638
82639 2005-02-20  Neil Conway  <neilc@samurai.com>
82640
82641         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82642         returned by OSX/Darwin if the specified buffer is not large
82643         enough for the hostname.
82644
82645 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82646
82647         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82648         pass it to _help, otherwise the latter coredumps trying to
82649         dereference state.root_argp.
82650
82651 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82652
82653         * modules/chdir-long (Depends-on): Add memrchr.
82654         * modules/memrchr (Files): Add lib/memrchr.h.
82655         (Include): "memrchr.h".
82656
82657 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82658
82659         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82660
82661 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82662
82663         * lib/memrchr.h: New file.
82664         * lib/chdir-long.c: Include it.
82665         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82666         Don't bother including stddef.h.
82667
82668 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82669
82670         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82671         inclusion.
82672         Include <sys/types.h>, for dev_t.
82673         (ME_DUMMY, ME_REMOTE): Move from here....
82674         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82675         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82676         Dmitry V. Levin.
82677         Include mountlist.h first, to test the interface.
82678
82679 2005-01-29  Bruno Haible  <bruno@clisp.org>
82680
82681         * lib/progname.c (program_name): Initialize.
82682         Needed when linking statically on MacOS X.
82683
82684 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82685
82686         Sync from coreutils.
82687         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82688         (Depends-on): Add c-strtod.
82689         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82690
82691 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82692
82693         Sync from coreutils.
82694         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82695
82696         Remove files that are specific to coreutils.
82697         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82698
82699 2005-01-28  Bruno Haible  <bruno@clisp.org>
82700
82701         * modules/javacomp: New file.
82702         * MODULES.html.sh (Java): Add javacomp.
82703
82704 2005-01-28  Bruno Haible  <bruno@clisp.org>
82705
82706         * m4/javacomp.m4: New file, from GNU gettext.
82707
82708 2005-01-28  Bruno Haible  <bruno@clisp.org>
82709
82710         * lib/javacomp.sh.in: New file, from GNU gettext.
82711         * lib/javacomp.h: New file, from GNU gettext.
82712         * lib/javacomp.c: New file, from GNU gettext.
82713
82714 2005-01-26  Simon Josefsson  <jas@extundo.com>
82715
82716         * lib/gai_strerror.c: Use GPL in header.
82717
82718 2005-01-26  Bruno Haible  <bruno@clisp.org>
82719
82720         * modules/javaexec: New file.
82721         * MODULES.html.sh (Java): Add javaexec.
82722
82723 2005-01-26  Bruno Haible  <bruno@clisp.org>
82724
82725         * m4/javaexec.m4: New file, from GNU gettext.
82726
82727 2005-01-26  Bruno Haible  <bruno@clisp.org>
82728
82729         * lib/javaexec.sh.in: New file, from GNU gettext.
82730         * lib/javaexec.h: New file, from GNU gettext.
82731         * lib/javaexec.c: New file, from GNU gettext.
82732
82733 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82734
82735         * modules/lchown (Depends-on): Remove lchown.h
82736
82737 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82738
82739         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82740         must be defined if the header file was not found, in order
82741         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82742
82743 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82744
82745         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82746         initializers for struct pentry_state.
82747         (__argp_error): Check return value of __asprintf
82748         (__argp_failure): Translate error message
82749
82750         * lib/argp-parse.c: Removed braces around the expansion of N_()
82751
82752 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82753
82754         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82755         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82756         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82757         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82758         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82759         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82760         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82761         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82762         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82763         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82764         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82765         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82766         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82767         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82768         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82769         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82770         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82771         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82772         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82773         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82774         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82775         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82776         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82777         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82778         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82779         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82780         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82781         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82782         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82783         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82784         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82785         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82786         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82787         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82788         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82789         Use an all-permissive copyright notice, recommended by RMS.
82790
82791 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82792
82793         * modules/chdir-long (Depends-on): Remove mempcpy.
82794
82795 2005-01-21  Jim Meyering  <jim@meyering.net>
82796
82797         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82798         same value as for Solaris 9.
82799
82800         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82801         component length.  This included changing the parameter to be
82802         of type `char *' rather than `char const *'.
82803         * lib/chdir-long.h (chdir_long): Update prototype.
82804
82805         * lib/openat.c (fdopendir, fstatat): New functions.
82806         * lib/openat.h: Include headers required for use of DIR and struct
82807         stat.
82808         [AT_SYMLINK_NOFOLLOW]: Define.
82809         (fdopendir, fstatat): Add prototypes.
82810
82811 2005-01-21  Bruno Haible  <bruno@clisp.org>
82812
82813         * modules/classpath: New file.
82814         * MODULES.html.sh (Java): Add classpath.
82815
82816 2005-01-21  Bruno Haible  <bruno@clisp.org>
82817
82818         * lib/classpath.h: New file, from GNU gettext.
82819         * lib/classpath.c: New file, from GNU gettext.
82820
82821 2005-01-20  Simon Josefsson  <jas@extundo.com>
82822
82823         * modules/version-etc-fsf: New file.
82824
82825 2005-01-20  Simon Josefsson  <jas@extundo.com>
82826
82827         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82828         * lib/version-etc.c: Remove version_etc_copyright.
82829         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82830         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82831
82832 2005-01-20  Simon Josefsson  <jas@extundo.com>
82833
82834         * lib/base64.h (isbase64): Add.
82835
82836         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82837         using a unsigned prototype, don't inline.
82838         (base64_decode): Use it.
82839
82840 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82841
82842         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82843         it.
82844
82845 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82846
82847         * lib/save-cwd.c (save_cwd): Remove code to support the case
82848         where fchdir is missing or flaky.
82849
82850 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82851
82852         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82853
82854 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82855
82856         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82857         AC_LIBSOURCES now does this.
82858         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82859         with new ullong_max module.
82860
82861 2005-01-19  Bruno Haible  <bruno@clisp.org>
82862
82863         * modules/sh-quote: New file.
82864         * MODULES.html.sh (Executing programs): Add sh-quote.
82865
82866 2005-01-19  Bruno Haible  <bruno@clisp.org>
82867
82868         * lib/sh-quote.h: New file, from GNU gettext.
82869         * lib/sh-quote.c: New file, from GNU gettext.
82870
82871 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82872
82873         Merge from coreutils.
82874         * m4/ullong_max.m4: New file.
82875         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82876         (gl_MACROS): Assume localeconv exists.
82877
82878 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82879
82880         Merge changes from coreutils, as described below in several
82881         changelogs dated today.
82882
82883         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82884         (O_DIRECTORY): Remove; not needed here, since "." must be
82885         a directory.  All uses removed.
82886         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82887         universal on Suns, and we also need to test for IRIX.
82888         Revamp code to use 'if' rather than '#if'.
82889         Avoid unnecessary comparison of cwd->desc to 0.
82890
82891         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82892         for known valid error numbers rather than observed invalid ones.
82893
82894 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82895
82896         * modules/ullong_max: New file.
82897
82898         * modules/chdir-long, modules/openat: New files.
82899         * modules/save-cwd (Depends-on): Depend on chdir-long.
82900         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82901
82902 2005-01-18  Jim Meyering  <jim@meyering.net>
82903
82904         Merge from coreutils.
82905         * m4/chdir-long.m4, m4/openat.m4: New files.
82906         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82907         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82908         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82909         is sane and DOES follow symlinks.  Besides, testing 20 different
82910         systems found no broken chown implementations.
82911         Prompted by a change in rsync's copy of this macro.
82912         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82913
82914         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82915
82916         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82917         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82918         NULL-means-set-to-current-time semantics.
82919         Remove temporary file immediately, rather than waiting
82920         for configure's at-exit trap code to do it.
82921
82922 2005-01-18  Jim Meyering  <jim@meyering.net>
82923
82924         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82925
82926         * lib/utimens.c (futimens): Account for the fact that futimes
82927         can also fail with errno == ENOSYS or errno == ENOENT.
82928         Patch from Dmitry V. Levin.
82929
82930         Change the name of the robust chdir function from chdir to chdir_long.
82931         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82932         (restore_cwd): Use chdir_long, not chdir.
82933         * lib/chdir-long.c: Renamed from chdir.c.
82934         * lib/chdir-long.h: Renamed from chdir.h.
82935         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82936         Hurd.
82937
82938 2005-01-18  Bruno Haible  <bruno@clisp.org>
82939
82940         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82941         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82942         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82943         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82944         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82945         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82946         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82947         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82948         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82949         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82950         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82951         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82952         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82953         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82954         Use an all-permissive copyright notice, recommended by RMS.
82955
82956 2005-01-18  Bob Proulx  <bob@proulx.com>
82957
82958         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82959         simplify offsetof() macro construct to avoid compile failure with
82960         native HP-UX 11.0 ANSI C compiler.
82961
82962 2005-01-17  Bruno Haible  <bruno@clisp.org>
82963
82964         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82965         redundant because stpncpy.m4 takes care of it.
82966
82967 2005-01-17  Bruno Haible  <bruno@clisp.org>
82968
82969         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82970
82971 2005-01-17  Bruno Haible  <bruno@clisp.org>
82972
82973         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82974         used.
82975
82976 2005-01-17  Bruno Haible  <bruno@clisp.org>
82977
82978         * lib/fwriteerror.h (fwriteerror): Change specification to include
82979         fclose.
82980         * lib/fwriteerror.c: Include <stdbool.h>.
82981         (fwriteerror): At the end, close the file stream. Record whether
82982         stdout was already closed.
82983
82984 2005-01-17  Bruno Haible  <bruno@clisp.org>
82985
82986         * lib/execute.c (environ): Declare if needed.
82987         * lib/pipe.c (environ): Likewise.
82988         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82989
82990 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82991
82992         * modules/argp: Depend on vsnprintf
82993
82994 2005-01-10  Jim Meyering  <jim@meyering.net>
82995
82996         * modules/closeout (Depends-on): Add atexit.
82997
82998 2005-01-06  Bruno Haible  <bruno@clisp.org>
82999
83000         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
83001
83002 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83003
83004         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
83005         definitions to be after all include files, to avoid collisions.
83006         Problem reported by Bob Proulx.
83007
83008 2005-01-04  Jim Meyering  <jim@meyering.net>
83009
83010         Changes imported from coreutils.
83011         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
83012         as the mkstemp template, use a temporary directory and an
83013         8.3-friendly template to avoid trouble on systems like DJGPP.
83014         Reported by Juan M. Guerrero via Stepan Kasal.
83015         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
83016         close. Remove the temporary directory right away, rather than waiting
83017         for configure's at-exit trap code to do it.
83018         Suggestion from Stepan Kasal.
83019
83020 2005-01-01  Simon Josefsson  <jas@extundo.com>
83021
83022         * gnulib-tool: Print #include directives when --import'ing.
83023
83024 2004-12-28  Simon Josefsson  <jas@extundo.com>
83025
83026         * tests/test-base64.c: Include required header files.  Remove
83027         unused variables.
83028
83029 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83030
83031         * modules/error (Depends-on): Remove gettext.
83032
83033 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
83034
83035         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
83036         not needed.  This removes a dependency on the gettext module.
83037         [defined _LIBC]: Do not include <libintl.h>; not needed.
83038
83039 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
83040
83041         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
83042         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
83043
83044 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
83045
83046         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
83047         HAVE_DECL_STRTOLD.
83048
83049 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83050
83051         * modules/getdate (Depends-on): Remove alloca-opt.
83052
83053 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83054
83055         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
83056
83057 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
83058
83059         * lib/argp-parse.c: Include <stddef.h>.
83060         (alignof, alignto): New macros.
83061         (parser_init): Don't assume that void * is aligned sufficiently
83062         for struct option.
83063
83064         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
83065         need to extend the stack.
83066         (YYINITDEPTH): New macro, so that the initial stack isn't overly
83067         large.
83068
83069 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83070
83071         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
83072
83073 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
83074
83075         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
83076         (2004-10-24) change.  Apparently this was a false alarm.
83077
83078         * modules/getdate: Depend on alloca-opt, not alloca.
83079
83080 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
83081
83082         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
83083         Remove now-obsolete comment about AIX.
83084         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
83085         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
83086         (YYMAXDEPTH): New macro.
83087
83088 2004-12-18  Simon Josefsson  <jas@extundo.com>
83089
83090         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
83091
83092 2004-12-18  Bruno Haible  <bruno@clisp.org>
83093
83094         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
83095
83096 2004-12-18  Bruno Haible  <bruno@clisp.org>
83097
83098         * lib/fatal-signal.c (fatal_signals): Make non-const.
83099         (init_fatal_signals): New function.
83100         (uninstall_handlers, install_handlers): Ignore signals that were set to
83101         SIG_IGN.
83102         (at_fatal_signal): Call init_fatal_signals.
83103         (init_fatal_signal_set): Likewise. Ignore signals that were set to
83104         SIG_IGN.
83105         Reported by Paul Eggert.
83106
83107 2004-12-18  Bruno Haible  <bruno@clisp.org>
83108
83109         * doc/alloca.texi: New file.
83110         * doc/alloca-opt.texi: New file.
83111
83112 2004-12-17  Jim Meyering  <jim@meyering.net>
83113
83114         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
83115         Otherwise, install-sh could exit with improper exit status when
83116         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
83117
83118 2004-12-16  Simon Josefsson  <jas@extundo.com>
83119
83120         * tests/test-base64.c: Add license.
83121
83122 2004-12-15  Stepan Kasal  <address@hidden>
83123
83124         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
83125
83126 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
83127
83128         * modules/getcwd (Files): Add m4/d-ino.m4.
83129         Suggested by Mark D. Baushke.
83130
83131 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83132
83133         * lib/getdate.y (textint): New member "negative".
83134         (time_zone_hhmm): New function.
83135         Expect 14 shift-reduce conflicts, not 13.
83136         (o_colon_minutes): New rule.
83137         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
83138         (yylex): Set the "negative" member of signed numbers.
83139
83140 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83141
83142         * doc/getdate.texi (Time of day items, Time zone items):
83143         Describe new formats +00:00, UTC+00:00.
83144
83145 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83146
83147         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
83148         spurious "-l"s.  Problem reported by Stepan Kasal.
83149
83150 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
83151
83152         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
83153         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
83154
83155 2004-12-04  Simon Josefsson  <jas@extundo.com>
83156
83157         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
83158         Vandoorselaere <yoann@prelude-ids.org>.
83159
83160 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83161
83162         Changes imported from coreutils.
83163         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
83164         exist.
83165         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
83166
83167 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83168
83169         Changes imported from coreutils.
83170         * lib/hard-locale.c: Assume <locale.h> exists.
83171         Include "strdup.h".
83172         (GLIBC_VERSION): New macro.
83173         (hard_locale): Assume setlocale exists.
83174         Rewrite to avoid #ifdef.
83175         Use strdup rather than malloc + strcpy.
83176         * lib/human.c: Assume <locale.h> exists.
83177         (human_readable): Assume localeconv exists.
83178
83179 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83180
83181         * modules/hard-locale (Depends-on): Add strdup.
83182
83183 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
83184
83185         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
83186         convert T2, not T.  (Imported from libc.)
83187
83188 2004-11-30  Simon Josefsson  <jas@extundo.com>
83189
83190         * modules/restrict (License): Change to LGPL.
83191
83192 2004-11-30  Simon Josefsson  <jas@extundo.com>
83193
83194         * m4/restrict.m4: Add copyright and copying conditions.
83195
83196 2004-11-30  Simon Josefsson  <jas@extundo.com>
83197
83198         * m4/base64.m4: New file.
83199
83200 2004-11-30  Simon Josefsson  <jas@extundo.com>
83201
83202         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
83203         base64.
83204
83205         * tests/test-base64.c: New file.
83206
83207         * modules/base64: New file.
83208
83209 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83210
83211         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
83212         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
83213
83214         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
83215
83216 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83217
83218         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
83219         (__getcwd.c): Don't restore errno; glibc doesn't.
83220         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
83221         first, falling back to our code only if its results look suspicious.
83222         Ensure that the resulting buffer is only as large as necessary.
83223
83224         * lib/readutmp.c: Include readutmp.h first.
83225         Include <errno.h>, since readutmp.h no longer does that.
83226         * lib/readutmp.h: Don't include <errno.h>,
83227         <sys/param.h>, <time.h>; not needed to establish interface.
83228         (errno): Remove decl.
83229         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
83230         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
83231         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
83232
83233 2004-11-28  Simon Josefsson  <jas@extundo.com>
83234
83235         * lib/base64.h, base64.c: New file.
83236
83237 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83238
83239         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83240
83241 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83242
83243         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83244         (Depends-on): Remove pathmax, same.  Add mempcpy.
83245         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83246         (Makefile.am): Append getcwd.h to lib_SOURCES.
83247         (Include): Add getcwd.h.
83248         (Maintainer): Change from Jim Meyering to "all, glibc",
83249         since getdate now uses intended-for-glibc code.
83250         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83251         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83252
83253 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83254
83255         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83256         HP's ANSI C compiler.
83257         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83258         Declaring int functions causes warnings on some modern systems and
83259         shouldn't be needed to compile on ancient ones.
83260         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83261         defined.
83262
83263         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83264         with the following changes.
83265         (__set_errno): Parenthesize properly.
83266         Include <stdbool.h>.
83267         (MIN, MAX, MATCHING_INO): New macros.
83268         (__getcwd): Define with prototype, not K&R form.
83269         Use heuristics to allocate default buffer on stack if possible.
83270         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83271         behavior, and to avoid the PATH_MAX limit when computing
83272         ../../../../...
83273         Use MATCHING_INO to compare inode number to file.
83274         Check for arithmetic overflow in size calculations.
83275         Fix bug in reallocation of dot array that caused getcwd to fail
83276         on directories nested deeper than 75.
83277         Be more careful about saving errno on error.
83278         Do not use realloc; use only free+malloc, as this is a bit
83279         more flexible and avoids a needless copy operation.
83280         Do not inspect st_dev and st_ino for symbolic links; POSIX
83281         doesn't specify the latter.
83282         Check for closedir errors.
83283         Avoid needless casts.
83284         Use "#ifdef weak_alias" around weak_alias, to be like other
83285         glibc code.
83286         The following changes to getcwd.c have effect only when used in
83287         gnulib; they have no effect inside glibc proper.
83288         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83289         as alloca isn't used.
83290         (alloca, __alloca): Likewise.
83291         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83292         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83293         unconditionally, as gnulib assumes C89 or better.
83294         Do not include <sys/param.h>.
83295         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83296         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83297         better.
83298         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83299         Include <dirent.h> in a way that is compatible with modern Autoconf.
83300         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83301         New macros, if not already defined.
83302         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83303         Use "_LIBC", not "defined _LIBC", for consistency.
83304         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83305         a mempcpy module.
83306         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83307         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83308         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83309         credit only to Jim Meyering and adjust the copyright dates.
83310         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83311         <stdlib.h>, <unistd.h>, "pathmax.h".
83312         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83313         (INITIAL_BUFFER_SIZE): Remove.
83314         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83315
83316 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83317
83318         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83319         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83320         Use the _ONCE methods, for efficiency.
83321         Check for fcntl.h.  In test program, include <errno.h>
83322         and <fcntl.h> if available.  Remove old K&R cruft from
83323         test program.  Check for common errors in GNU/Linux,
83324         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83325         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83326         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83327         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83328         name accordingly.
83329         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83330         accommodate new getcwd.c.
83331         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
83332         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
83333         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
83334         that's all we need now.
83335
83336 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83337
83338         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
83339         argp-parse.c depends on getopt internals, that means we should
83340         always use our getopt, to be on the safe side.
83341         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
83342         order not to spoil the result of an eventual previous invocation
83343         of gl_GETOPT_SUBSTITUTE.
83344
83345 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83346
83347         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
83348         redefinition warnings. To avoid them, include the defines
83349         in `#if !defined __need_getopt ... #endif'. The only place
83350         where __getopt_argv_const is used is in definitions
83351         of getopt_long and getopt_long_only below, which are as well
83352         protected by `#ifndef __need_getopt'.
83353         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83354         __need_getopt after including <stdio.h> and <unistd.h> These
83355         headers might have defined it.
83356
83357 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83358
83359         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83360
83361 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83362
83363         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83364         (futimens): New function, which uses futimes if available.
83365         (futimens, utimens): Support timespec==NULL, with same semantics
83366         as utime and utimens.
83367         * lib/utimens.h (futimens): New decl.
83368
83369 2004-11-23  Jim Meyering  <jim@meyering.net>
83370
83371         * lib/getopt_.h: Remove trailing blanks.
83372
83373 2004-11-23  Jim Meyering  <jim@meyering.net>
83374
83375         * lib/__fpending.c: Add comment.
83376
83377 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83378
83379         * modules/canonicalize (Depends-on): Add xreadlink.
83380         Problem reported by James Youngman.
83381
83382 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83383
83384         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83385         New macros.
83386         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83387         optopt): Use them instead of invoking ## directly; otherwise, the
83388         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83389
83390 2004-11-19  Bruno Haible  <bruno@clisp.org>
83391
83392         * lib/strtok_r.c: Move comments from here...
83393         * lib/strtok_r.h: ... to here.
83394
83395 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83396
83397         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83398         implementations that mishandle size_t overflow.
83399
83400 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83401
83402         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83403         might fail.  Problem reported by Yoann Vandoorselaere.
83404         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83405         implementations that mishandle size_t overflow.
83406
83407 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83408
83409         * modules/canon-host (Depends-on): Add strdup.
83410
83411 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83412
83413         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83414
83415 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83416
83417         * lib/canon-host.c: Include "strdup.h".
83418         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83419         Use strdup instead of malloc/strcpy to duplicate strings.
83420
83421         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83422         (human_space_before_unit): New constant.
83423         * lib/human.c (human_readable): Support it.
83424
83425         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83426         (xgetcwd): Set errno correctly when failing.
83427         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83428         the failure is actually due to a PATH_MAX problem.
83429
83430         Further getopt changes to make it more likely that glibc will
83431         buy the changes back.
83432         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83433         (getopt): Use it, so to preserve glibc semantic
83434         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83435         when compiling for libc.
83436         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83437         (getopt_long, getopt_long_only): Use it.
83438
83439         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83440         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83441         (getopt): Argv is now char * const *, as per standard.
83442         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83443         not char *__getopt_argv_const *.
83444         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83445         _getopt_long_only_r): Likewise.
83446         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83447         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83448         _getopt_long_r, _getopt_long_only_r): Likewise.
83449         * lib/getopt_.h (__getopt_argv_const): Remove.
83450         (getopt): Argv is now char * const *, as per standard.
83451
83452         * lib/getdate.y (tORDINAL): New token.
83453         (day, relunit): Allow it for relative times.
83454         (relative_time_table): Use tORDINAL for ordinals.
83455
83456 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83457
83458         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83459         Document that "second" isn't allowed as an ordinal number.
83460
83461 2004-11-16  Jim Meyering  <jim@meyering.net>
83462
83463         * modules/closeout (Depends-on): Add fpending.
83464
83465 2004-11-15  Jim Meyering  <jim@meyering.net>
83466
83467         * lib/closeout.c: Include "__fpending.h" once again.
83468         Include <stdbool.h>.
83469         (close_stdout): Don't fail just because stdout was closed initially,
83470         since some programs don't write to stdout in the normal course of
83471         operation (other than --version and --help), and we don't want this
83472         function to make e.g. `touch file >&-' fail.
83473         But do fail if it was closed and someone has tried to write to it.
83474         E.g., `printf foo >&-' must fail.
83475
83476 2004-11-13  Jim Meyering  <jim@meyering.net>
83477
83478         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83479
83480 2004-11-12  Simon Josefsson  <jas@extundo.com>
83481
83482         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83483         small doc fix is still pending.
83484
83485 2004-11-11  Simon Josefsson  <jas@extundo.com>
83486
83487         * modules/strtok_r: New file.
83488
83489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83490         strtok_r.
83491
83492 2004-11-11  Simon Josefsson  <jas@extundo.com>
83493
83494         * m4/strtok_r.m4: New file.
83495
83496         * m4/getopt.m4: Replace opterr.
83497
83498 2004-11-11  Simon Josefsson  <jas@extundo.com>
83499
83500         * lib/strtok_r.h, strtok_r.c: New file.
83501
83502 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83503
83504         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83505         of replacing opterr, getopt, etc.  This should handle the
83506         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83507
83508 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83509
83510         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83511         we can stop lying to compilers about the constness of argv when we
83512         are compiled outside glibc.
83513         (getopt, getopt_long, getopt_long_only): Use it.
83514         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83515         _getopt_internal, getopt): Likewise.
83516         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83517         _getopt_long_only_r): Likewise.
83518         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83519         _getopt_long_r, _getopt_long_only_r): Likewise.
83520
83521         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83522         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83523         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83524         the other external symbols.
83525         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83526         declaration, since the above renaming now works around collisions.
83527
83528 2004-11-11  Jim Meyering  <jim@meyering.net>
83529
83530         * lib/linebreak.c: Remove trailing blanks.
83531         * lib/alloca_.h: Likewise.
83532         * lib/acosl.c: Likewise.
83533         * lib/euidaccess.c: Likewise.
83534         * lib/allocsa.h: Likewise.
83535
83536 2004-11-10  Simon Josefsson  <jas@extundo.com>
83537
83538         * m4/getaddrinfo.m4: New file.
83539
83540 2004-11-10  Simon Josefsson  <jas@extundo.com>
83541
83542         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83543
83544 2004-11-10  Simon Josefsson  <jas@extundo.com>
83545
83546         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83547         getaddrinfo.
83548
83549         * modules/getaddrinfo: New file.
83550
83551 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83552
83553         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83554
83555 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83556
83557         * lib/mktime.c (SHR): New macro, which is a portable
83558         substitute for >> that should work even on Crays.
83559         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83560         Problem reported by Mark D. Baushke in
83561         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83562         * lib/getdate.y (SHR): Likewise.
83563         (tm_diff): Use it.
83564         * lib/strftime.c (SHR): Likewise.
83565         (tm_diff): Use it.
83566         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83567         quote_these_too, so that right shifts are well defined.  All uses
83568         changed.
83569
83570 2004-11-10  Jim Meyering  <jim@meyering.net>
83571
83572         Ensure that no close failure goes unreported.
83573         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83574         return early when it seems there's nothing to flush.
83575         Don't include __fpending.h.
83576
83577 2004-11-10  Jim Meyering  <jim@meyering.net>
83578
83579         * modules/closeout (Depends-on): Remove fpending.
83580
83581 2004-11-10  Jim Meyering  <jim@meyering.net>
83582
83583         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83584
83585 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83586
83587         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83588         gl_FUNC_STRFTIME.
83589         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83590         and AC_REQUIRE when possible, to avoid duplicate checks.
83591         Check for <wchar.h>.
83592
83593 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83594
83595         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83596
83597 2004-11-09  Bruno Haible  <bruno@clisp.org>
83598
83599         * m4/sockpfaf.m4: New file.
83600
83601 2004-11-05  Bruno Haible  <bruno@clisp.org>
83602
83603         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83604         Reported by Mark D. Baushke <mdb@cvshome.org>.
83605
83606 2004-11-04  Bruno Haible  <bruno@clisp.org>
83607
83608         2004-09-11  Bruno Haible  <bruno@clisp.org>
83609                 * allocsa.valgrind: New file.
83610         2004-02-06  Bruno Haible  <bruno@clisp.org>
83611                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83612                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83613                 Reported by Christopher Seip <chris.seip@hp.com>.
83614
83615 2004-11-04  Bruno Haible  <bruno@clisp.org>
83616
83617         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83618         (Makefile.am): Distribute it.
83619
83620 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83621
83622         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83623         with errno == ERANGE if the buffer is too small.
83624         Problem reported by Mark D. Baushke.
83625
83626 2004-11-03  Albert Chin  <china@thewrittenword.com>
83627             Paul Eggert  <eggert@cs.ucla.edu>
83628
83629         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83630         equivalent, substitute $ac_type for equivalent type rather than
83631         blindly using uint32_t *always* which won't work if uint32_t is not
83632         available.  Define _UINT32_T to work around typedef of uint32_t if
83633         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83634         2.5.1.
83635
83636 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83637
83638         * m4/jm-macros.m4: Sync from coreutils.
83639         (gl_MACROS): Check for mbrlen, for pathchk.
83640         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83641
83642 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83643
83644         * lib/xreadlink.c (MAXSIZE): New macro.
83645         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83646         size does not exceed MAXSIZE.  Avoid cast.
83647         As suggested by Mark D. Baushke in
83648         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83649         if readlink fails with buffer size just under MAXSIZE, try again
83650         with MAXSIZE.
83651
83652 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83653
83654         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83655
83656 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83657         and  Paul Eggert  <eggert@cs.ucla.edu>
83658
83659         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83660         (get_date): Overparenthesize to avoid GCC warning.
83661
83662 2004-11-02  Bruno Haible  <bruno@clisp.org>
83663
83664         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83665         returns void.
83666
83667 2004-11-02  Bruno Haible  <bruno@clisp.org>
83668
83669         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83670         function returns void.
83671
83672 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83673
83674         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83675         fflush_unlocked, flockfile, funlockfile, funlockfile,
83676         fputs_unlocked, putc_unlocked.
83677
83678 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83679
83680         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83681         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83682         already declared.
83683
83684 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83685
83686         * modules/getdate (Files): Add doc/getdate.texi.
83687         (Depends-on): Add setenv, xalloc.
83688
83689 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83690
83691         * lib/getdate.y: Add support for TZ="foo" within a date string.
83692         Fix some bugs near time_t boundaries.  Reject dates with
83693         out-of-range components, e.g., "Sept 31".
83694         Include <stdlib.h>, "setenv.h", "xalloc.h".
83695         (ISDIGIT_LOCALE): Remove; unused.
83696         Note that the TZ and time functions used here are not reentrant.
83697         (mktime_ok, get_tz): New functions.
83698         (TZBUFSIZE): New constant.
83699         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83700         This requires that we sometimes generate our own TZ="XXX..." setting.
83701
83702 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83703
83704         * doc/getdate.texi: New file, from coreutils with modifications for
83705         the new TZ parsing.
83706
83707 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83708
83709         * lib/mktime.c (not_equal_tm): Remove redundant check.
83710
83711 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83712
83713         * modules/regex (lib_SOURCES): Add regex.c.
83714         Reported by James Youngman in
83715         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83716
83717 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83718
83719         * lib/getdate.y: Use Bison 1.875 features, and some minor
83720         code cleanups.  This change does not affect semantics.
83721         Don't include <stdlib.h>; no longer needed.
83722         Don't include unlocked-io.h; only the "#if TEST" code uses
83723         stdio, and performance isn't crucial there.
83724         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83725         Bison 1.875 features as described below.
83726         All uses of "PC." replaced by "pc->".
83727         (YYSTYPE): Add a forward declaration.
83728         (yylex, yyerror): Use full prototypes in forward decls.
83729         Use "%pure-parser" rather than obsolescent "%pure_parser".
83730         Use %parse-param and %lex-param instead of obsolescent
83731         YYPARSE_PARAM and YYLEX_PARAM.
83732         (meridian_table, month_and_day_table, time_units_table,
83733         relative_time_table, time_zone_table, military_table,
83734         lookup_zone, lookup_word, get_date):
83735         Use NULL instead of 0 where appropriate.
83736         (to_hour): Avoid abort (), to avoid a dependency on
83737         stdlib.h.
83738         (yyerror, yylex): Now accepts parser_control * arg.
83739         (main) [TEST]: Use '\0' rather than 0 for char.
83740
83741 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83742
83743         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83744
83745 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83746
83747         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83748         It's now the caller's responsibility to handle the case where
83749         !HAVE_GETPAGESIZE && !defined getpagesize.
83750
83751         * lib/mktime.c (leapyear): Arg is long int, not int.
83752
83753 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83754
83755         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83756
83757 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83758
83759         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83760         missing.  Problem reported by James Youngman.
83761
83762 2004-10-16  Simon Josefsson  <jas@extundo.com>
83763
83764         * gnulib-tool: Fix comments.  Fix parse problem.
83765         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83766
83767 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83768
83769         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83770         implementation of getopt_long.  Problem reported by Alexander Taler in:
83771         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83772
83773 2004-10-15  Bruno Haible  <bruno@clisp.org>
83774
83775         * gnulib-tool: Untabify. Initialize supplied_libname.
83776         (func_usage): More homogenous output.
83777         (func_modules_transitive_closure, func_modules_to_filelist,
83778         func_emit_lib_Makefile_am): New functions.
83779         (func_import): New function, extracted from big case statement. Use
83780         func_get_license, func_modules_transitive_closure,
83781         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83782         opt_lgpl. Don't use test -a, as it's not portable.
83783         (func_create_testdir): Use func_modules_transitive_closure,
83784         func_modules_to_filelist, func_emit_lib_Makefile_am.
83785
83786 2004-10-15  Bruno Haible  <bruno@clisp.org>
83787
83788         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83789
83790 2004-10-15  Bruno Haible  <bruno@clisp.org>
83791
83792         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83793         the portions belonging to each module.
83794         Suggested by Derek Robert Price <derek@ximbiot.com>.
83795
83796 2004-10-12  Simon Josefsson  <jas@extundo.com>
83797
83798         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83799         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83800         to real functions.
83801
83802 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83803
83804         * modules/vsnprintf: New file.
83805
83806 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83807
83808         * m4/vsnprintf.m4: New file.
83809
83810 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83811
83812         * lib/vsnprintf.h: New file.
83813         * lib/vsnprintf.c: New file.
83814
83815 2004-10-11  Bruno Haible  <bruno@clisp.org>
83816
83817         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83818         vsnprintf.
83819
83820 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83821
83822         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83823
83824 2004-10-07  Bruno Haible  <bruno@clisp.org>
83825
83826         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83827         fits into the provided buffer.
83828
83829 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83830
83831         * lib/diacrit.c, diacrit.h: Add GPL notice.
83832
83833         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83834         notice.
83835         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83836         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83837         This avoids a potential constant-folding bug.
83838
83839 2004-10-05  Bruno Haible  <bruno@clisp.org>
83840
83841         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83842         for the declaration of strsep.
83843
83844 2004-10-05  Bruno Haible  <bruno@clisp.org>
83845
83846         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83847
83848 2004-10-04  Simon Josefsson  <jas@extundo.com>
83849
83850         * modules/memmem: New file.
83851         * tests/test-memmem.c: New file.
83852         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83853
83854 2004-10-04  Simon Josefsson  <jas@extundo.com>
83855
83856         * m4/memmem.m4: New file.
83857
83858 2004-10-04  Simon Josefsson  <jas@extundo.com>
83859
83860         * lib/memmem.h: New file.
83861         * lib/memmem.c: New file, taken from glibc.
83862
83863 2004-10-04  Simon Josefsson  <jas@extundo.com>
83864
83865         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83866         '#ifdef USE_UNLOCKED_IO'.
83867
83868 2004-10-04  Simon Josefsson  <jas@extundo.com>
83869
83870         * config/srclist.txt: Add memmem from glibc.
83871
83872 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83873
83874         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83875
83876         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83877         modules/exclude, modules/getdate, modules/getline,
83878         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83879         modules/getusershell, modules/linebuffer, modules/md5,
83880         modules/mountlist, modules/posixtm, modules/readtokens,
83881         modules/readutmp, modules/regex, modules/sha1,
83882         modules/version-etc, modules/yesno:
83883         Remove dependency on unlocked-io.
83884
83885 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83886
83887         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83888
83889         * m4/unlocked-io.m4: Add copyright notice.
83890         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83891
83892 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83893
83894         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83895         * lib/xmalloc.c (xmemdup): Likewise.
83896         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83897         XFREE): Remove these long-obsolescent macros.
83898         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83899         * lib/xstrdup.c: Remove.
83900
83901         * lib/regex.c (re_comp): Cast gettext return value to char *,
83902         Problem reported by Martin Neitzel via Mark D. Baushke.
83903
83904 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83905
83906         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83907         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83908         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83909         regex.c, sha1.c, version-etc.c, yesno.c:
83910         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83911         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83912         the includer's responsibility.
83913
83914         Sync from coreutils.
83915
83916         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83917         points to the start of a string, as the C Standard says the
83918         resulting behavior is undefined.
83919
83920         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83921         simple -> simple_backups, numbered_existing ->
83922         numbered_existing_backups, numbered -> numbered_backups
83923         to avoid shadowing problems.  All uses changed.
83924         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83925         * lib/backupfile.c (check_extension, numbered_backup):
83926         Rename locals to avoid shadowing 'basename'.
83927         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83928         once.
83929
83930         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83931         * lib/.cvsignore: Add getopt.h.
83932
83933 2004-10-04  Bruno Haible  <bruno@clisp.org>
83934
83935         * modules/README: New file.
83936         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83937         not a module.
83938
83939 2004-10-02  Jim Meyering  <jim@meyering.net>
83940
83941         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83942
83943 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83944
83945         * modules/strsep: New file.
83946
83947 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83948
83949         * m4/strsep.m4: New file.
83950
83951 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83952
83953         * lib/strsep.h: New file.
83954         * lib/strsep.c: New file.
83955
83956 2004-10-01  Simon Josefsson  <jas@extundo.com>
83957
83958         * lib/snprintf.c (snprintf): Handle size==0.
83959
83960 2004-10-01  Simon Josefsson  <jas@extundo.com>
83961             Bruno Haible  <bruno@clisp.org>
83962
83963         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83964         (snprintf): Declare 'args'.
83965
83966 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83967
83968         * lib/snprintf.c: Remove comments as to why each header is needed.
83969
83970 2004-10-01  Bruno Haible  <bruno@clisp.org>
83971
83972         * MODULES.html.sh: Add strsep.
83973
83974 2004-09-30  Simon Josefsson  <jas@extundo.com>
83975
83976         * modules/snprintf: New file.
83977
83978 2004-09-30  Simon Josefsson  <jas@extundo.com>
83979
83980         * m4/snprintf.m4: New file.
83981
83982 2004-09-30  Simon Josefsson  <jas@extundo.com>
83983
83984         * lib/snprintf.h, lib/snprintf.c: New files.
83985
83986 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83987
83988         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83989         (hol_entry_help): Never translate an empty string.
83990         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83991         * lib/argp.h (OPTION_NO_TRANS): New option.
83992
83993 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83994
83995         * modules/argp (Maintainer): Replace Simon Josefsson
83996         by Sergey Poznyakoff.
83997
83998 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83999
84000         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
84001         changes merged back into glibc.
84002
84003 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
84004
84005         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
84006
84007 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84008
84009         * lib/xvasprintf.c: Include xalloc.h.
84010         (xvasprintf): Use xalloc_die, not xmalloc_die.
84011
84012 2004-09-29  Bruno Haible  <bruno@clisp.org>
84013
84014         * modules/alloca-opt: New file, derived from modules/alloca.
84015         * modules/allocsa: Depend on alloca-opt instead of alloca.
84016         * modules/setenv: Likewise.
84017         * modules/vasnprintf: Likewise.
84018         * MODULES.html.sh: Add alloca-opt.
84019
84020 2004-09-28  Simon Josefsson  <jas@extundo.com>
84021
84022         * gnulib-tool: New parameter --lgpl, to asseert that modules are
84023         LGPL, and to replace license template from GPL to LGPL.
84024
84025 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
84026
84027         * modules/dummy: Change license to LGPL.
84028
84029 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
84030
84031         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
84032
84033 2004-09-24  Simon Josefsson  <jas@extundo.com>
84034
84035         * modules/minmax (License): Change from GPL to LGPL.
84036
84037 2004-09-23  Simon Josefsson  <jas@extundo.com>
84038
84039         * gnulib-tool (--import): Typo.
84040
84041 2004-09-23  Simon Josefsson  <jas@extundo.com>
84042
84043         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
84044
84045 2004-09-22  Bruno Haible  <bruno@clisp.org>
84046
84047         * modules/*: Add 'License' field.
84048         * gnulib-tool: Accept --extract-license option.
84049         (func_get_license): New function.
84050
84051 2004-09-21  Bruno Haible  <bruno@clisp.org>
84052
84053         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
84054         Reported by Simon Josefsson.
84055
84056 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
84057
84058         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
84059         gl_AC_TYPE_LONG_LONG.
84060
84061 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
84062
84063         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
84064
84065 2004-09-18  Simon Josefsson  <jas@extundo.com>
84066         and  Paul Eggert  <eggert@cs.ucla.edu>
84067
84068         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
84069         calls with autoreconf.  Define GL_LIB.
84070
84071 2004-09-14  Karl Berry  <karl@gnu.org>
84072
84073         * config/srclist.txt: unsync setenv.c, sigh.
84074
84075 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
84076
84077         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
84078         Problem reported by Bruno Haible in:
84079         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
84080
84081 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
84082
84083         * config/srclist.txt: Comment out argp-pvh.c.
84084
84085 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
84086
84087         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
84088         in case some system header has #define'd it.  Problem reported by
84089         Soeren D. Schulze in
84090         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
84091
84092 2004-09-09  Karl Berry  <karl@gnu.org>
84093
84094         * regex.[ch]: delete from the root.  These were supposed to be
84095                 synced with emacs cvs, but this has not happened for about
84096                 a year, and anyway nothing else uses emacs regex.[ch].
84097                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
84098                 lib/regex[.ch] is untouched.
84099
84100 2004-09-09  Bruno Haible  <bruno@clisp.org>
84101
84102         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
84103
84104 2004-09-09  Bruno Haible  <bruno@clisp.org>
84105
84106         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
84107         modifications.
84108         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
84109
84110 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
84111
84112         * modules/xvasprintf: New file.
84113         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
84114
84115 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
84116
84117         * lib/xvasprintf.h: New file.
84118         * lib/xvasprintf.c: New file.
84119         * lib/xasprintf.c: New file.
84120
84121 2004-09-08  Bruno Haible  <bruno@clisp.org>
84122
84123         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
84124
84125 2004-09-08  Bruno Haible  <bruno@clisp.org>
84126
84127         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
84128         length is > INT_MAX.
84129         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
84130         more.
84131
84132 2004-09-08  Bruno Haible  <bruno@clisp.org>
84133
84134         * lib/stdint_.h: New file, taken from GNU clisp.
84135
84136 2004-09-08  Bruno Haible  <bruno@clisp.org>
84137             Oskar Liljeblad  <oskar@osk.mine.nu>
84138
84139         * modules/stdint: New file.
84140         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
84141
84142 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84143
84144         Import from coreutils.
84145         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
84146         strings on unbounded length.  alloca's performance benefits aren't
84147         that important here.
84148         (V_STRDUP): Remove.
84149         (parse_with_separator): New function, with most of the internals
84150         of the old parse_user_spec.  Allow user to omit both user and group,
84151         for compatibility with FreeBSD.
84152         Clone only the user name, not the entire spec.
84153         Do not set *uid, *gid unless entirely successful.
84154         Avoid memory leak in some failing cases.
84155         Fix regression for USER.GROUP reported by Dmitry V. Levin in
84156         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
84157         (parse_user_spec): Rewrite to use parse_with_separator.
84158
84159 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84160
84161         * modules/userspec: Don't depend on alloca.
84162
84163 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84164
84165         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
84166
84167 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84168
84169         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
84170         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
84171         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
84172
84173 2004-08-16  Simon Josefsson  <jas@extundo.com>
84174
84175         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
84176         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
84177         Add --dry-run for --import.
84178         Let user provided command line parameters override configure.ac
84179         settings.
84180
84181 2004-08-12  Simon Josefsson  <jas@extundo.com>
84182
84183         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
84184         as discussed with Paul Eggert in threads rooted at
84185         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
84186         and
84187         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
84188         Before, the test was empty, and relied on ELIDE_CODE in source
84189         code.)
84190         (gl_PREREQ_GETOPT): New macro.
84191         (gl_GETOPT): Use them.
84192
84193 2004-08-12  Simon Josefsson  <jas@extundo.com>
84194
84195         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
84196         * lib/getopt_.h: Renamed from getopt.h.
84197
84198 2004-08-12  Simon Josefsson  <jas@extundo.com>
84199
84200         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
84201         Change default library name from libfoo to libgnu.
84202         Now, if you have a configure.ac that says:
84203                 gl_SOURCE_BASE(gl)
84204                 gl_M4_BASE(gl/m4)
84205                 gl_MODULES(error getopt etcetera)
84206                 gl_INIT
84207         you can import all you need by running:
84208                 ../gnulib/gnulib-tool --import
84209
84210         * modules/getopt (Files): Rename getopt.h to getopt_.h.
84211         (Makefile.am): Rewrite, use logic from argz.
84212         (Include): Use <getopt.h> instead of "getopt.h".
84213
84214 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84215
84216         * modules/argp (Files): Add m4/unlocked-io.m4.
84217         (Depends-on): Add extensions.
84218
84219 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84220
84221         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
84222         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
84223         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
84224         Check for program_invocation_name, program_invocation_short_name,
84225         flockfile, funlockfile, features.h, _getopt_long_only_r.
84226
84227 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84228
84229         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
84230         its complicated substitute.
84231         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
84232         and program_invocation_name.
84233         (__argp_basename) [!_LIBC]: Remove; the only use was
84234         replaced by its body.
84235         (__argp_short_program_name): Change condition from
84236         !defined __argp_short_program_name to
84237         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84238         to match argp-namefrob.h.
84239         (__argp_failure): Don't assume strerror_r returns char *.
84240         * lib/argp-parse.c (N_): Define unconditionally.
84241         (argp_default_options): Fill out initializers with 0 to avoid
84242         gcc warnings.
84243
84244 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84245
84246         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84247         getopt1.c.
84248
84249 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84250
84251         Merge from coreutils.
84252
84253         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84254
84255         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84256         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84257
84258 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84259
84260         Merge from coreutils.
84261
84262         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84263         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84264         for Reliant Unix 5.43.
84265
84266         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84267         (union fooround): Use uintmax_t, not long int.
84268         The rest is a merge from libc:
84269         [defined _LIBC]: Include <shlib-compat.h>.
84270         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84271
84272         * lib/settime.c (settime): Recode to avoid warning with
84273         Sun Forte C 6U2.
84274
84275         * lib/strverscmp.c: Convert to UTF-8.
84276
84277 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84278
84279         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84280         m4/uintmax_t.m4.
84281
84282 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84283
84284         * modules/xalloc-die: New file.
84285         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84286
84287         * modules/md5 (Files): Add m4/uint32_t.m4.
84288         * modules/sha1: Renamed from modules/sha.
84289         (Files):
84290         Rename lib/sha.h to lib/sha1.h.
84291         Rename lib/sha.c to lib/sha1.c.
84292         Rename m4/sha.m4 to m4/sha1.m4.
84293         (lib_SOURCES): Likewise.
84294         (configure.ac): Rename gl_SHA to gl_SHA1.
84295         (Include): sha.h -> sha1.h.
84296
84297 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84298
84299         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84300         * m4/sha1.m4: Renamed from sha.m4.
84301         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84302
84303 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84304
84305         * lib/obstack.h (obstack_empty_p):
84306         Don't assume that chunk->contents is suitably aligned.
84307         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84308         Likewise. Problem reported by Benno in
84309         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84310
84311         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84312         readable.  This could be improved further but it'd take some work.
84313
84314 2004-08-08  Simon Josefsson  <jas@extundo.com>
84315
84316         * modules/xgethostname (Depends-on): Remove exit and error (not
84317         used).
84318
84319         * modules/getpass-gnu: Add getpass.h.
84320         (Depends-on): Add stdbool.
84321         * modules/getpass: Add getpass.h.
84322
84323 2004-08-08  Simon Josefsson  <jas@extundo.com>
84324
84325         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84326         Check getpass declaration.
84327
84328 2004-08-08  Simon Josefsson  <jas@extundo.com>
84329
84330         * lib/xgethostname.c: Don't include error.h (not used).
84331
84332         * lib/getpass.h: Add.
84333         * lib/getpass.c: Include getpass.h first.
84334
84335 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
84336
84337         * lib/xalloc-die.c: New file.
84338         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
84339         All uses removed.
84340         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
84341         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
84342         xalloc-die.c.
84343         (_, N_, xalloc_die): Move to xalloc-die.c.
84344         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
84345         so that we needn't mess with xalloc_msg_memory_exhausted.
84346
84347         * lib/sha1.h: Renamed from sha.h.
84348         (SHA1_H): Renamed from _SHA_H.
84349         (sha1_ctx): Renamed from sha_ctx.
84350         (sha1_init_ctx): Renamed from sha_init_ctx.
84351         (sha1_process_block): Renamed from sha_process_block.
84352         (sha1_process_bytes): Renamed from sha_process_bytes.
84353         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84354         (sha1_read_ctx): Renamed from sha_read_ctx.
84355         (sha1_stream): Renamed from sha_stream.
84356         (sha1_buffer): Renamed from sha_buffer.
84357         * lib/sha1.c: Likewise; renamed from sha.c.
84358         Do not include <sys/types.h>.
84359         Include <stddef.h> rather than <stdlib.h>.
84360
84361 2004-08-08  Bruno Haible  <bruno@clisp.org>
84362
84363         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84364         FILESYSTEM_PREFIX_LEN.
84365         * lib/progreloc.c: Likewise.
84366         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84367
84368 2004-08-06  Simon Josefsson  <jas@extundo.com>
84369
84370         * modules/progname (Depends-on): Don't depend on stdbool.
84371
84372 2004-08-06  Simon Josefsson  <jas@extundo.com>
84373
84374         * modules/getsubopt: New file.
84375         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84376         getsubopt.
84377
84378 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84379
84380         More merge from coreutils.
84381
84382         * m4/utimens.m4, m4/utimecmp.m4: New files.
84383         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84384         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84385         prereq.m4, sha.m4: Import changes from coreutils.
84386
84387 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84388
84389         More merge from coreutils.
84390         * modules/raise, modules/readtokens0, modules/utimens:
84391         * modules/utimecmp, module/xnanosleep: New files.
84392         * modules/strftime: Add lib/strftime.h.
84393         Change include from <time.h> to "strftime.h".
84394         * modules/yesno: Add lib/yesno.h.
84395         * modules/backupfile: Remove lib/addext.c.
84396         * modules/euidaccess: Add stat-macros.h.
84397         * modules/canonicalize, modules/euidaccess,
84398         modules/filemode, modules/lchown, modules/makepath,
84399         modules/rmdir, modules/stat: Likewise.
84400
84401 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84402
84403         Merge from tar.
84404         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84405         SIZE_MAX is a valid preprocessor constant.
84406         (__argp_basename): Change from "#ifndef _LIBC"
84407         to "#ifndef __argp_short_program_name", so that
84408         we don't compile these functions for tar.
84409
84410         More merges from coreutils.
84411         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84412         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84413         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84414         * lib/addext.c: Remove; no longer needed.
84415         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84416         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84417         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84418         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84419         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84420         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84421         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84422         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84423         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84424         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84425         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84426         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84427         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84428         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84429         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84430         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84431         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84432         Import changes from coreutils.
84433
84434 2004-08-05  Simon Josefsson  <jas@extundo.com>
84435
84436         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84437
84438 2004-08-05  Simon Josefsson  <jas@extundo.com>
84439
84440         * m4/getsubopt.m4: New file.
84441
84442 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84443
84444         Merge from coreutils.
84445
84446         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84447         * m4/getcwd-path-max.m4: New files.
84448
84449         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84450         FILESYSTEM_PREFIX_LEN ->
84451         FILE_SYSTEM_PREFIX_LEN.
84452         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84453         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84454         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84455         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84456
84457         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84458         prerequisite modules now handle the DOS stuff.
84459         Don't check for unistd.h.
84460
84461 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84462
84463         Merge from coreutils.
84464
84465         * lib/.gdb-history: Remove; this doesn't belong here.
84466
84467         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84468         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84469         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84470         * lib/getcwd.c: New files.
84471
84472         * lib/dirname.h: Include <stdbool.h>.
84473         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84474         for consistency with POSIX terminology.  All uses changed.
84475         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84476         (strip_trailing_slashes): Use bool for booleans.
84477         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84478
84479         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84480         sometimes returns a positive errno value even when it succeeds.
84481         (print_errno_message) [!LIBC]: Fall back on strerror if
84482         __strerror_r fails.
84483
84484         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84485         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84486         (longest_relative_suffix): New function.
84487         (path_concat): Use it.  Assume first argument is not NULL.
84488         Port to DOS.  Omit redundant separators.
84489         Report an error instead of returning NULL.
84490         Use mempcpy instead of memcpy.
84491         (xpath_concat): Remove: not declared or used.
84492
84493         * lib/same.h: Include <stdbool.h>
84494         (same_name): Return bool, not int.
84495         * lib/same.c (same_name): Likewise.
84496         (errno): Don't declare; we assume C89 or better now.
84497
84498         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84499         if not already defined.
84500
84501         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84502         * lib/dup-safer.c (errno): Likewise.
84503
84504 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84505
84506         Merge from coreutils.
84507         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84508         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84509         * modules/path-concat: Don't depend on strdup.
84510
84511 2004-08-03  Simon Josefsson  <jas@extundo.com>
84512
84513         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84514         * lib/progname.h: Don't include stdbool.h.
84515
84516 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84517
84518         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84519         * MODULES.html.sh (func_all_modules): Remove fatal.
84520
84521 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84522
84523         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84524
84525 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84526
84527         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84528         working.
84529
84530 2004-08-02  Simon Josefsson  <jas@extundo.com>
84531
84532         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84533         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84534         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84535
84536 2004-08-01  Simon Josefsson  <jas@extundo.com>
84537
84538         * lib/xgetdomainname.c: Include stdlib.h, for free().
84539
84540 2004-07-19  Bruno Haible  <bruno@clisp.org>
84541
84542         * MODULES.html.sh (func_all_modules): Add dummy.
84543
84544 2004-07-16  Simon Josefsson  <jas@extundo.com>
84545
84546         * modules/dummy: New file.
84547
84548 2004-07-16  Simon Josefsson  <jas@extundo.com>
84549
84550         * lib/dummy.c: New file.
84551
84552 2004-07-16  Bruno Haible  <bruno@clisp.org>
84553
84554         * lib/backupfile.h: Add extern "C" for C++.
84555         * lib/closeout.h: Likewise.
84556         * lib/copy-file.h: Likewise.
84557         * lib/findprog.h: Likewise.
84558         * lib/full-write.h: Likewise.
84559         * lib/pathname.h: Likewise.
84560         * lib/progname.h: Likewise.
84561         * lib/stpcpy.h: Likewise.
84562         * lib/stpncpy.h: Likewise.
84563         * lib/strcase.h: Likewise.
84564         * lib/strstr.h: Likewise.
84565         * lib/xalloc.h: Likewise.
84566
84567         * lib/mbswidth.h: Add extern "C" for C++.
84568         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84569
84570 2004-07-13  Robert Millan  <robertmh@gnu.org>
84571
84572         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84573
84574 2004-07-09  Simon Josefsson  <jas@extundo.com>
84575
84576         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84577         failed without this.)
84578
84579 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84580
84581         * modules/chown (Files): Add lib/fchown-stub.c, since
84582         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84583
84584 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84585
84586         * lib/fchown-stub.c: New file.
84587
84588 2004-06-24  Jim Meyering  <jim@meyering.net>
84589
84590         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84591
84592 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84593
84594         * modules/argz: Omit "#include".
84595
84596         * MODULES.html.sh (func_all_modules): Add calloc, to match
84597         2004-06-01 addition of calloc module.
84598
84599 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84600
84601         * m4/argz.m4: New file, which is autoupdated from libtool.
84602
84603 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84604
84605         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84606         libtool.
84607
84608 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84609
84610         * config/srclist-update: Don't insist on "USA." before the
84611         close-comment, as libtool omits the period and puts the */ on a
84612         separate line.
84613         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84614         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84615
84616 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84617
84618         * modules/argz: New file.
84619         * MODULES.html.sh (func_all_modules): Add argz.
84620
84621 2004-06-12  Jim Meyering  <jim@meyering.net>
84622         and  Paul Eggert  <eggert@cs.ucla.edu>
84623
84624         * modules/hash (Files): Add lib/xalloc.h.
84625         * modules/pipe (Depends-on): Add wait-process.
84626         * modules/stat (Depends-on): Add xalloc.
84627         * modules/userspec (Files): Add lib/userspec.h.
84628         * modules/xstrto
84629
84630         Upgrade from gettext-0.13.
84631         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84632         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84633         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84634
84635 2004-06-10  Jim Meyering  <jim@meyering.net>
84636
84637         * lib/calloc.c: New file.
84638
84639 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84640
84641         * lib/getdate.y (yylex): Allow space between sign and number.
84642         Problem reported by Dan Jacobson.
84643
84644 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84645
84646         Merge from coreutils CVS.
84647
84648         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84649         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84650         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84651         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84652         xstrtol.m4: Fix copyright date and/or serial number.
84653
84654         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84655         See if we need an fchown replacement.
84656         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84657         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84658         and use the replacement function if we detect either defect.
84659
84660         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84661         gl_UTIMECMP.
84662
84663 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84664         and  Jim Meyering  <jim@meyering.net>
84665
84666         Merge from coreutils CVS.
84667
84668         * lib/stat-macros.h: New file, with contents from file-type.h
84669         and coreutils' system.h.
84670         * lib/file-type.c: Include "stat-macros.h".
84671         * lib/file-type.h (file_type): Move all macro definitions to new file,
84672         stat-macros.h.
84673
84674         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84675         Wrap old code with this conditional.
84676         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84677         function that does not dereference symlinks.
84678         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84679
84680         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84681         dependency problems.
84682         (xreadlink): Accept new arg SIZE, for efficiency.
84683         All decls and uses changed.
84684         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84685
84686         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84687         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84688
84689         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84690         sysexits.h.
84691
84692 2004-06-01  Jim Meyering  <jim@meyering.net>
84693
84694         * m4/calloc.m4: New file.
84695
84696 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84697
84698         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84699         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84700         Also, fix a typo in a diagnostic.
84701
84702 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84703
84704         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84705         or AC_FUNC_REALLOC.
84706
84707 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84708
84709         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84710         macros to be defined.
84711         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84712         the allocator returns NULL because the requested size is zero.
84713
84714 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84715
84716         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84717         var.  Add comment explaining why libc still defines it.  This
84718         merges the following patch from glibc:
84719         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84720
84721 2004-05-20  Andreas Schwab  <schwab@suse.de>
84722
84723         * m4/free.m4: Replace free if it not known to work, not the other
84724         way round.
84725
84726 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84727
84728         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84729         present in glibc since revision 1.1 of this file.
84730         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84731         obstack_alignment_mask, obstack_alloc, obstack_base,
84732         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84733         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84734         obstack_grow0, obstack_init, obstack_int_grow,
84735         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84736         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84737         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84738         nonexistent functions.
84739
84740 2004-05-18  Karl Berry  <karl@gnu.org>
84741
84742         * config/srclist.txt: break link for vasnprintf.c.
84743
84744 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84745
84746         Port obstack to the AS/400, where pointers are 16 bytes wide and
84747         you cannot cast an integer to a valid pointer.  This patch is
84748         currently waiting to be integrated into glibc; see
84749         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84750
84751         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84752         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84753         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84754         (struct obstack): temp member is now a union of a pointer and
84755         an integer, instead of an integer.  All integer uses changed.
84756         This does not affect the physical layout of struct obstack,
84757         except on hosts (like the AS/400) where the size or alignment of
84758         void * is greater than that of ptrdiff_t.
84759         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84760         __STDC__)]: Store temporary in pointer member of union, not
84761         integer member.
84762         * lib/obstack.c: Include <stddef.h>, for offsetof.
84763         (struct fooalign): Remove; it doesn't need a name.
84764         (union fooround): Change double to long double, and add void *.
84765         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84766         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84767         not a macro.  Hence the values are always int; so remove all
84768         casts-to-int in uses.
84769
84770 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84771
84772         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84773         we can get this patch merged into glibc.
84774
84775 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84776             Paul Eggert  <eggert@cs.ucla.edu>
84777
84778         * m4/argp: Depend on alloca.
84779
84780 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84781             Paul Eggert  <eggert@cs.ucla.edu>
84782
84783         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84784         freecoding.
84785
84786 2004-05-17  Bruno Haible  <bruno@clisp.org>
84787
84788         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84789         precision that consists of a '.' followed by an empty digit string.
84790         Patch by Tor Lillqvist <tml@iki.fi>.
84791
84792 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84793
84794         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84795         for backward compatibility with older code.  We need our own
84796         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84797         it under some other name, and our alloca.h will define it.
84798
84799 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84800             Derek Price  <derek@ximbiot.com>
84801
84802         * lib/alloca.c: Include <alloca.h>, to get our interface.
84803         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84804         include <alloca.h> first.  Use C89 prototype for alloca; this
84805         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84806         Use #elif for simplicity, since we can assume C89 now.
84807         Don't try to source the system alloca.h since it will not be found
84808         and to prevent recursively including its replacement.
84809         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84810         * lib/regex.c: Likewise.
84811
84812 2004-05-16  Derek Price  <derek@ximbiot.com>
84813             Paul Eggert  <eggert@cs.ucla.edu>
84814
84815         getline cleanup.  This changes the getndelim2 API: both order of
84816         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84817         no delimiter).
84818
84819         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84820         interface does that.
84821         (getline): Always use getdelim, so that we don't have two
84822         copies of this code.
84823         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84824         if available.
84825         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84826         (GETNDELIM2_MAXIMUM): New macro.
84827         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84828         instead of the old practice of delim2==0.  All callers changed.
84829         Return -1 on overflow, instead of returning junk.
84830         Do not set *linesize unless allocation succeeds.
84831         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84832         that we include sys/types.h.
84833         * lib/getnline.h: Likewise.
84834         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84835         (getndelim2): Reorder arguments.
84836         * lib/getnline.c (getnline, getndelim):
84837         Don't discard the NMAX argument.
84838         (getnline): Invoke getndelim, to avoid code duplication.
84839         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84840         of (size_t) -1 by callers of the getnline family.
84841
84842 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84843
84844         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84845         Check for gettimeofday.
84846         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84847         Check for settimeofday, stime.
84848
84849 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84850
84851         * lib/nanosleep.c (suspended): Change its type from int to
84852         sig_atomic_t volatile.
84853         (first_call): Make it private to rpl_nanosleep, and have it
84854         be zero initially as that's a bit faster.
84855         (my_usleep): Round up fractional times instead of truncating them,
84856         as this is the usual meaning for 'sleep'.
84857
84858         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84859         doesn't work.
84860         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84861         (ENOSYS): Define if not defined.
84862         (settime): Fall back on stime if it exists and settimeofday fails.
84863         But don't bother with fallbacks if a method fails with errno == EPERM.
84864
84865 2004-05-11  Jim Meyering  <jim@meyering.net>
84866
84867         Prior to this change, the save_cwd caller required read access to the
84868         current directory on most systems (ones with the fchdir function).
84869
84870         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84871         fails, try write-only, and finally, resort to using xgetcwd.
84872
84873 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84874
84875         * lib/obstack.c, obstack.h: Import changes from libc.
84876
84877 2004-04-28  Bruno Haible  <bruno@clisp.org>
84878
84879         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84880         also implicitly appends .exe to executables.
84881         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84882         accepts Windows pathnames.
84883         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84884         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84885         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84886         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84887         Reported by Derek Robert Price <derek@ximbiot.com>.
84888
84889 2004-04-21  Karl Berry  <karl@gnu.org>
84890
84891         * config/srclist.txt (localcharset.c): break sync.
84892
84893 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84894
84895         * m4/host-os.m4: Add a copyright notice.
84896
84897 2004-04-20  Jim Meyering  <jim@meyering.net>
84898
84899         Change UTILS_ to gl_ in AC_DEFINE'd names.
84900         Change utils_- and jm_-prefixed variables, too.
84901         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84902         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84903         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84904
84905         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84906         Don't emit trailing blanks.
84907         Also rename jm_-prefixed variables to have gl_ prefix.
84908
84909         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84910         Also rename jm_-prefixed variables to have gl_ prefix.
84911
84912         * m4/jm-macros.m4: Reflect the renamings.
84913         * m4/prereq.m4: Likewise.
84914
84915 2004-04-20  Jim Meyering  <jim@meyering.net>
84916
84917         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84918         memory.
84919
84920 2004-04-20  Jim Meyering  <jim@meyering.net>
84921             Bruno Haible  <bruno@clisp.org>
84922
84923         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84924         memory when realloc fails.
84925
84926 2004-04-19  Jim Meyering  <jim@meyering.net>
84927
84928         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84929         now that readutmp.c may call `free (0)'.
84930
84931 2004-04-19  Bruno Haible  <bruno@clisp.org>
84932
84933         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84934         * m4/inttypes_h.m4: Likewise.
84935         * m4/stdint_h.m4: Likewise.
84936         * m4/intmax_t.m4: Likewise.
84937         * m4/uintmax_t.m4: Likewise.
84938
84939 2004-04-18  Jim Meyering  <jim@meyering.net>
84940
84941         * m4/prereq.m4: Don't forbid jm_ prefix.
84942
84943         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84944         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84945         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84946         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84947         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84948         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84949         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84950         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84951         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84952         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84953         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84954         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84955         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84956         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84957         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84958         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84959         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84960         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84961         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84962
84963 2004-04-18  Jim Meyering  <jim@meyering.net>
84964
84965         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84966         failure, don't leak memory and do call END_UTMP_ENT.
84967
84968 2004-04-16  Jim Meyering  <jim@meyering.net>
84969
84970         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84971         coreutils' stat program.
84972         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84973
84974 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84975
84976         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84977         C89.
84978         (CHAR_BIT): Remove, since we assume C89.
84979         Include <stdint.h> if available, as per current Autoconf CVS advice.
84980
84981 2004-03-31  Jim Meyering  <jim@meyering.net>
84982
84983         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84984         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84985         * m4/xalloc.m4: Likewise.
84986
84987 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84988
84989         Merge from coreutils.
84990
84991         * m4/inttostr.m4: New file.
84992         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84993         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84994         Require gl_CLOCK_TIME.
84995         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84996
84997 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84998
84999         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
85000         not bool, to be more consistent with Unix conventions.
85001         Suggested by Bruno Haible.
85002
85003         Merge from coreutils.
85004
85005         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
85006         * lib/umaxtostr.c: New files.
85007
85008         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
85009         the usual <time.h> dance.
85010         (get_date): Change signature to support fractional time stamps.
85011         All callers changed.
85012         * lib/getdate.y: Include "getdate.h" first, as we can now
85013         assume C89 and don't need to worry about 'const'.
85014         Similarly, include "unlocked-io.h" near start, not in middle.
85015         Include <limits.h>.
85016         (textint.value): Use long int rather than int.
85017         (textint.digits): Use size_t rather than int.
85018         (BILLION, LOG10_BILLION): New constants.
85019         (parser_control): New member rel_ns.  Members day_ordinal,
85020         time_zone, month, day, hour, minutes, rel_year, rel_month,
85021         rel_day, rel_hour, rel_minutes, rel_seconds
85022         are now long int, not int.  Member seconds is now struct timespec,
85023         not int.  New member timespec_seen.  Members dates_seen, days_seen,
85024         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
85025         not int.
85026         (%union.intval): Now long int, not int.
85027         New member timespec.
85028         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
85029         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
85030         (spec): Now is a timespec or an item list.
85031         (timespec, items): New nonterminals.
85032         (time, rel, relunit, number, get_date):
85033         Add support for fractional seconds.
85034         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
85035         (gmtime, localtime, mktime): Remove decls; not needed with C89.
85036         (to_hour): First arg is now long int, not int.
85037         (to_year): Returns long int, not int.
85038         Don't treat year -70 like 70.
85039         (tm_diff): Returns long int, not int.
85040         (lookup_word): Use bool instead of int when appropriate.
85041         (yylex): Use size_t for count, not int.
85042         Detect overflow when parsing large integer constants.
85043         Add support for fractions.
85044         (get_date): Make pointers 'const' if possible.
85045         Use more-portable code to detect integer overflow.
85046         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
85047         Don't use ctime; it's not reliable if the year has >4 digits.
85048
85049         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
85050         This is for compatibility with BSD.
85051
85052         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
85053         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
85054         From coreutils' system.h.
85055
85056         * lib/userspec.c: Don't include "posixver.h".
85057         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
85058         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
85059         compatible extension.  Simplify code by removing a boolean int
85060         that was always nonzero if a string was nonnull.
85061
85062 2004-03-30  Jim Meyering  <jim@meyering.net>
85063
85064         Merge from coreutils.
85065
85066         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
85067         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
85068         on some systems one must include <grp.h> before it.
85069         Reported by Christian Krackowizer.
85070
85071 2004-03-30  Jim Meyering  <jim@meyering.net>
85072
85073         Merge from coreutils.
85074
85075         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
85076
85077         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
85078         an empty input stream.
85079
85080         * lib/readtokens.c: Include <stdbool.h>.
85081         (readtoken): Use `size_t' rather than int/long.
85082         All callers adjusted.
85083         Use `bool' rather than `int' where appropriate.
85084         Use memset rather than an explicit loop.
85085         Use x2nrealloc rather than xrealloc.
85086         Allow the use of `\0' as a delimiter.
85087         (readtokens): Likewise.
85088         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
85089
85090 2004-03-30  Jim Meyering  <jim@meyering.net>
85091
85092         * m4/realloc.m4: Remove file, since now it does no more than
85093         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
85094         the `configure.ac' section of module/realloc.
85095         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
85096
85097 2004-03-30  Bruno Haible  <bruno@clisp.org>
85098
85099         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
85100         nonnull.
85101
85102 2004-03-29  Paul Eggert  <eggert@twinsun.com>
85103
85104         Merge changes to getloadavg.c from coreutils and Emacs.
85105
85106         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
85107         Define to an expression, not to the empty string.
85108         Include cloexec.h and xalloc.h.
85109         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
85110         Use set_cloexec_flag rather than rolling our own.
85111         * lib/cloexec.c, lib/cloexec.h: New files.
85112
85113 2004-03-29  Paul Eggert  <eggert@twinsun.com>
85114
85115         * m4/cloexec.m4: New file.
85116
85117 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85118
85119         * lib/getopt.h: Sync with libc CVS.
85120
85121 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85122             Bruno Haible  <bruno@clisp.org>
85123
85124         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
85125         mbswidth.
85126
85127 2004-03-18  Paul Eggert  <eggert@twinsun.com>
85128             Bruno Haible  <bruno@clisp.org>
85129
85130         * lib/mbswidth.h: Include <wchar.h> only if
85131         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
85132         <wchar.h>.
85133         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
85134
85135 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85136
85137         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
85138         Sync with libc CVS.
85139         * lib/getopt_int.h: New file, also synced from libc.
85140
85141 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85142
85143         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
85144         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
85145         Bring back getopt.c, getopt.h, getopt1.c.
85146
85147 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85148
85149         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
85150         All uses changed.  Check for sa_sigaction member; this fixes
85151         a bug first reported by Jason Andrade in
85152         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85153
85154 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85155
85156         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
85157         '#if' expressions.  Unlike the code it replaces, it does not
85158         depend on (defined _SC_PAGESIZE).  However, it does depend on
85159         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
85160         first reported by Jason Andrade in
85161         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85162
85163 2004-02-25  Simon Josefsson  <jas@extundo.com>
85164
85165         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
85166
85167 2004-02-25  Simon Josefsson  <jas@extundo.com>
85168
85169         * lib/strdup.h: New file.
85170         * lib/strdup.c: Include it.
85171         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
85172         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
85173
85174 2004-02-23  Karl Berry  <karl@gnu.org>
85175
85176         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
85177         (from fencepost.gnu.org:/gd/gnuorg).
85178
85179 2004-02-23  Karl Berry  <karl@gnu.org>
85180
85181         * config/srclistvars.sh (GNUORG) [karl]: redefine.
85182         * config/srclist.txt: add maintain/standards documents.
85183
85184 2004-02-18  Bruno Haible  <bruno@clisp.org>
85185
85186         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
85187         Reported by Derek Robert Price <derek@ximbiot.com>.
85188
85189 2004-02-16  Karl Berry  <karl@gnu.org>
85190
85191         * config/mkinstalldirs, install-sh: update from automake.
85192
85193 2004-02-06  Karl Berry  <karl@gnu.org>
85194
85195         * m4/po.m4: update from gettext 0.14.1.
85196
85197 2004-02-06  Karl Berry  <karl@gnu.org>
85198
85199         * lib/config.charset: update from gettext 0.14.1.
85200
85201 2004-02-05  Paul Eggert  <eggert@twinsun.com>
85202
85203         Add comments and code, prompted by suggestions from Bruno Haible
85204         for sh-quote.
85205         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
85206         describing the enum quoting_style values.
85207         * lib/quotearg.c (quotearg_alloc): New function.
85208         (quotearg_buffer_restyled): Treat lone { and } as special.
85209         Treat = as special.  Work around bug with older shells
85210         that "see" a '\' that is really the 2nd byte of a multibyte char.
85211         Quote empty string with shell_quoting_style.
85212
85213 2004-02-03  Bruno Haible  <bruno@clisp.org>
85214
85215         * m4/pipe.m4: New file, from GNU gettext.
85216
85217 2004-02-03  Bruno Haible  <bruno@clisp.org>
85218
85219         * lib/pipe.h: New file, from GNU gettext.
85220         * lib/pipe.c: New file, from GNU gettext.
85221
85222 2004-01-27  Bruno Haible  <bruno@clisp.org>
85223
85224         * m4/execute.m4: New file, from GNU gettext.
85225
85226 2004-01-27  Bruno Haible  <bruno@clisp.org>
85227
85228         * lib/execute.h: New file, from GNU gettext.
85229         * lib/execute.c: New file, from GNU gettext.
85230         * lib/w32spawn.h: New file, from GNU gettext.
85231
85232 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85233
85234         Merge from diffutils.
85235
85236         * lib/file-type.c (file_type): Add typed memory objects.
85237         * lib/file-type.h (S_TYPEISTMO): New macro.
85238
85239         * lib/c-stack.h (c_stack_action): Remove argv argument.
85240         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85241         (die): Don't calculate message unless segv_action returns.
85242         (get_stack_location, min_address_from_argv, max_address_from_argv,
85243         volatile stack_base, volatile_stack_size): Remove.
85244         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85245         that every segmentation violation is a stack overflow.  (Ouch!)
85246         See Debian bug 136249 (still outstanding) for more info about why
85247         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85248
85249 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85250
85251         Exit-status fix from coreutils.
85252
85253         Use exit_failure consistently in place of EXIT_FAILURE,
85254         so that program exit statuses are consistent on failure.
85255
85256         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85257         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85258         * lib/argmatch.h: Comment fix to match the above.
85259         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85260         Now a macro referring to exit_failure, instead of a separate
85261         variable.  Include "exitfail.h" to get it.
85262         * lib/xstrtol.h: Include "exitfail.h".
85263         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85264
85265         * lib/long-options.c (parse_long_options): Use prototype
85266         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85267         for clarity.
85268
85269 2004-01-21  Jim Meyering  <jim@meyering.net>
85270
85271         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85272         so as not to conflict with a different-sized __mktime_internal
85273         function in GNU libc.
85274         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85275         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85276
85277 2004-01-20  Karl Berry  <karl@gnu.org>
85278
85279         * config/config.guess: update from config.
85280
85281         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85282
85283 2004-01-20  Bruno Haible  <bruno@clisp.org>
85284
85285         Safer stack allocation.
85286         * lib/setenv.c: Include allocsa.h.
85287         (alloca): Remove fallback definition.
85288         (freea): Remove macro.
85289         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85290         instead of freea.
85291
85292 2004-01-20  Bruno Haible  <bruno@clisp.org>
85293
85294         * m4/eealloc.m4: New file, from GNU gettext.
85295
85296 2004-01-20  Bruno Haible  <bruno@clisp.org>
85297
85298         * m4/allocsa.m4: New file, from GNU gettext.
85299
85300 2004-01-20  Bruno Haible  <bruno@clisp.org>
85301
85302         * lib/xallocsa.h: New file, from GNU gettext.
85303         * lib/xallocsa.c: New file, from GNU gettext.
85304
85305 2004-01-20  Bruno Haible  <bruno@clisp.org>
85306
85307         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85308
85309 2004-01-20  Bruno Haible  <bruno@clisp.org>
85310
85311         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85312         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85313         specially.
85314
85315 2004-01-20  Bruno Haible  <bruno@clisp.org>
85316
85317         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85318         patch.
85319
85320 2004-01-20  Bruno Haible  <bruno@clisp.org>
85321
85322         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85323
85324 2004-01-20  Bruno Haible  <bruno@clisp.org>
85325
85326         * lib/eealloc.h: New file.
85327
85328 2004-01-20  Bruno Haible  <bruno@clisp.org>
85329
85330         * lib/binary-io.h: Avoid warnings on Cygwin.
85331
85332 2004-01-20  Bruno Haible  <bruno@clisp.org>
85333
85334         * lib/allocsa.h: New file, from GNU gettext.
85335         * lib/allocsa.c: New file, from GNU gettext.
85336
85337 2004-01-18  Karl Berry  <karl@gnu.org>
85338
85339         * doc/gpl.texi, doc/lgpl.texi: new files.
85340
85341 2004-01-18  Karl Berry  <karl@gnu.org>
85342
85343         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
85344         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
85345
85346 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85347
85348         Merge from coreutils.
85349
85350         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
85351         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
85352         (gl_DEFAULT_POSIX2_VERSION): Move
85353         the documentation from 'configure' into 'config.hin',
85354         so that 'configure --help' isn't burdened by it and
85355         we don't have to worry about its formatting there.
85356         Reword the documentation so that it's more succinct
85357         and can be run together into a single paragraph.
85358         * m4/same.m4 (gl_SAME): Check for pathconf.
85359
85360 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85361
85362         Merge from coreutils.
85363
85364         * lib/posixver.c: Include posixver.h.
85365
85366         * lib/same.c: Include <stdbool.h>, <limits.h>.
85367         (_POSIX_NAME_MAX): Define if not defined.
85368         (MIN): New macro.
85369         (same_name): If file names are silently truncated, report
85370         that the file names are the same if they are the same after
85371         the silent truncation.
85372
85373         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85374         conversion function.
85375         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85376         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85377         longer needed.
85378
85379 2004-01-15  Jim Meyering  <jim@meyering.net>
85380
85381         Merge from coreutils.
85382
85383         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85384         if no library is required.
85385         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85386         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85387         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85388         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85389         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85390         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85391         value, $ac_cv_search_crypt, if it's "none required".
85392         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85393         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85394         not gl_FUNC_GETLOADAVG.
85395         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85396         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85397
85398 2004-01-15  Jim Meyering  <jim@meyering.net>
85399
85400         Merge from coreutils.
85401
85402         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85403         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85404         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85405
85406         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85407         optional configure-time default.
85408
85409         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85410
85411         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85412
85413 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85414
85415         Merge from coreutils.
85416
85417         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85418         value, $ac_cv_search_nanosleep, if it's "none required".
85419
85420 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85421
85422         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85423         with like-named macro in fnmatch.c.
85424         (EXT): Use an internal constant instead.
85425
85426         Merge fnmatch patches from glibc.
85427         * lib/fnmatch.c (mbsinit): Remove define.
85428         Add libc_hidden_ver (__fnmatch, fnmatch).
85429         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85430         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85431
85432 2004-01-14  Karl Berry  <karl@gnu.org>
85433
85434         * config/install-sh: update from automake.
85435
85436 2004-01-13  Karl Berry  <karl@gnu.org>
85437
85438         * config/install-sh: update from automake.
85439
85440 2004-01-09  Karl Berry  <karl@gnu.org>
85441
85442         * config/install-sh: update from automake.
85443
85444 2004-01-05  Karl Berry  <karl@gnu.org>
85445
85446         * config/config.{sub,guess}: update from config.
85447
85448 2003-12-31  Karl Berry  <karl@gnu.org>
85449
85450         * config/depcomp: update from automake.
85451
85452 2003-12-14  Karl Berry  <karl@gnu.org>
85453
85454         * lib/config.charset: update from gettext-runtime.
85455
85456 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85457
85458         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85459         Bug reported by Alfred M. Szmidt.
85460
85461 2003-12-03  Bruno Haible  <bruno@clisp.org>
85462
85463         * m4/gettext.m4: Upgrade from gettext-0.13.
85464         * m4/po.m4: Upgrade from gettext-0.13.
85465         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85466         * m4/intmax.m4: New file, from gettext-0.13.
85467         * m4/printf-posix.m4: New file, from gettext-0.13.
85468
85469 2003-11-29  Karl Berry  <karl@gnu.org>
85470
85471         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85472
85473 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85474             Bruno Haible  <bruno@clisp.org>
85475
85476         * lib/printf-parse.h: Don't include sys/types.h.
85477         (ARG_NONE): New macro.
85478         (char_directive): Change type of *arg_index fields to size_t.
85479         * lib/printf-parse.c: Don't include sys/types.h.
85480         (SSIZE_MAX): Remove macro.
85481         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85482         Remove unnecessary overflow check.
85483         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85484         fields.
85485
85486 2003-11-25  Bruno Haible  <bruno@clisp.org>
85487
85488         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85489
85490 2003-11-25  Bruno Haible  <bruno@clisp.org>
85491
85492         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85493         gt_TYPE_SSIZE_T.
85494
85495 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85496
85497         * modules/alloca: Remove dependency on xalloc.
85498
85499 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85500
85501         * lib/alloca.c: Remove dependency on xalloc module.
85502         (xalloc_die): Remove.
85503         (memory_full) [!defined emacs]: New macro.
85504         [!defined emacs]: Don't include xalloc.h.
85505         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85506         address arithmetic overflows.  Change datatypes a bit to avoid
85507         unnecessary casts.
85508
85509 2003-11-22  Jim Meyering  <jim@meyering.net>
85510
85511         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85512         s/size/size_t/.
85513
85514 2003-11-21  Karl Berry  <karl@gnu.org>
85515
85516         * config/config.{sub,guess}: update from config.
85517
85518 2003-11-18  Karl Berry  <karl@gnu.org>
85519
85520         * config/config.{sub,guess}: update from config.
85521
85522         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85523
85524 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85525
85526         * README: Mention that S+T cannot overflow if S is the size of
85527         an existing object and T is sufficiently small.
85528
85529 2003-11-17  Jim Meyering  <jim@meyering.net>
85530
85531         On systems without utime and without a utimes function capable of
85532         dealing with a NULL struct utimbuf* argument, this utime replacement
85533         could -- in unusual circumstances -- leak a file descriptor.
85534         * lib/utime.c: Include <unistd.h> and <errno.h>.
85535         (utime_null): Be sure to close `fd' and to preserve errno.
85536         Reported by Geoff Collyer via Arnold Robbins.
85537
85538 2003-11-17  Bruno Haible  <bruno@clisp.org>
85539
85540         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85541         (Depends-on): Add xsize.
85542
85543 2003-11-17  Bruno Haible  <bruno@clisp.org>
85544
85545         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85546
85547 2003-11-17  Bruno Haible  <bruno@clisp.org>
85548
85549         * lib/vasnprintf.c (alloca): Remove fallback definition.
85550         (freea): Remove definition.
85551         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85552         Reported by Paul Eggert.
85553
85554 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85555             Bruno Haible  <bruno@clisp.org>
85556
85557         Protect against address arithmetic overflow.
85558         * lib/printf-args.h: Include stddef.h.
85559         (arguments): Change type of field 'count' to size_t.
85560         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85561         'unsigned int' where appropriate.
85562         * lib/printf-parse.h: Include sys/types.h.
85563         (char_directive): Change type of *arg_index fields to ssize_t.
85564         (char_directives): Change type of fields 'count', max_*_length to
85565         size_t.
85566         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85567         (SSIZE_MAX): Define fallback value.
85568         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85569         instead of 'int' where appropriate. Check a_allocated, d_allocated
85570         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85571         * lib/vasnprintf.c: Include xsize.h.
85572         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85573         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85574         overflow. Avoid wraparound when converting a width or precision from
85575         decimal to binary.
85576
85577 2003-11-16  Bruno Haible  <bruno@clisp.org>
85578
85579         Update from GNU gettext.
85580         * lib/printf-parse.c: Generalize to it can be compiled for wide
85581         strings.
85582         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85583         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85584         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85585         SNPRINTF): New macros.
85586         Don't include <alloca.h> if the file is used inside libintl.
85587         (local_wcslen): New function, for Solaris 2.5.1.
85588         (VASNPRINTF): Use it instead of wcslen.
85589
85590 2003-11-16  Bruno Haible  <bruno@clisp.org>
85591
85592         * lib/xsize.h (xmax): New function.
85593         (xsum, xsum3, xsum4): Declare as "pure" functions.
85594
85595 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85596
85597         * modules/xalloc (Files): Undo latest change, since xalloc.h
85598         no longer needs SIZE_MAX or PTRDIFF_MAX.
85599
85600 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85601
85602         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85603         gl_PTRDIFF_MAX.
85604
85605 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85606
85607         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85608         "return", to pacify some unknown compiler.  Problem reported
85609         by Joerg Schilling.
85610
85611 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85612
85613         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85614         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85615         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85616         heuristic is just as accurate as far as we know, and it removes a
85617         dependency on size_max.m4 and ptrdiff_max.m4.
85618
85619 2003-11-11  Bruno Haible  <bruno@clisp.org>
85620
85621         * modules/xsize (Files): Add m4/size_max.m4.
85622         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85623
85624 2003-11-11  Bruno Haible  <bruno@clisp.org>
85625
85626         * m4/size_max.m4: New file.
85627         * m4/ptrdiff_max.m4: New file.
85628         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85629         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85630         (gl_XALLOC): Invoke it.
85631
85632 2003-11-11  Bruno Haible  <bruno@clisp.org>
85633
85634         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85635         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85636         defined.
85637
85638 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85639
85640         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85641         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85642         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85643         From Bruno Haible.
85644         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85645         not (size_t) -1, since it's defined here.
85646
85647 2003-11-09  Karl Berry  <karl@gnu.org>
85648
85649         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85650
85651 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85652
85653         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85654         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85655         Reject sizes of exactly SIZE_MAX bytes.
85656         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85657         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85658
85659 2003-11-05  Bruno Haible  <bruno@clisp.org>
85660
85661         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85662         SIZE_MAX defined in <limits.h> on Solaris.
85663
85664 2003-11-04  Jim Meyering  <jim@meyering.net>
85665
85666         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85667         variable names, rather than @VAR@.
85668         * modules/poll: Likewise.
85669
85670 2003-11-04  Bruno Haible  <bruno@clisp.org>
85671
85672         * modules/xsize: New file.
85673         * modules/linebreak: Depend on xsize.
85674         * MODULES.html.sh (func_all_modules): Add xsize.
85675
85676 2003-11-04  Bruno Haible  <bruno@clisp.org>
85677
85678         * m4/xsize.m4: New file.
85679
85680 2003-11-04  Bruno Haible  <bruno@clisp.org>
85681
85682         * lib/xsize.h: New file.
85683         * lib/linebreak.c: Include xsize.h.
85684         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85685         argument for overflow.
85686         Suggested by Paul Eggert.
85687
85688 2003-11-03  Karl Berry  <karl@gnu.org>
85689
85690         * config/config.{guess,sub}: update from config.
85691
85692 2003-11-03  Jim Meyering  <jim@meyering.net>
85693
85694         * modules/userspec (lib_SOURCES): Add userspec.h.
85695         (Include): Add "userspec.h".
85696         Improve description.
85697
85698 2003-11-03  Jim Meyering  <jim@meyering.net>
85699
85700         * lib/userspec.c: Include "userspec.h".
85701         * lib/userspec.h: New file.
85702
85703 2003-11-03  Bruno Haible  <bruno@clisp.org>
85704
85705         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85706
85707 2003-11-03  Bruno Haible  <bruno@clisp.org>
85708
85709         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85710         available, to avoid (extremely rare) race condition.
85711         Suggested by Paul Eggert.
85712
85713 2003-11-02  Karl Berry  <karl@gnu.org>
85714
85715         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85716
85717 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85718
85719         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85720         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85721         (read_filesystem_list): Set and use me_type_malloced.
85722         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85723         whatever the type happens to be), for brevity and consistency.
85724         Check for size calculation overflow on Alphas running OSF/1.
85725
85726 2003-10-31  Jim Meyering  <jim@meyering.net>
85727
85728         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85729
85730         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85731
85732 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85733             Bruno Haible  <bruno@clisp.org>
85734
85735         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85736         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85737
85738 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85739
85740         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85741         netbsd*-gnu*.  Suggested by Robert Millan.
85742
85743 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85744
85745         * modules/group-member: Depend on stdbool.
85746
85747 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85748
85749         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85750
85751 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85752
85753         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85754         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85755         after the 'gnu' in these cases.  This fixes some bugs in the
85756         previous change, and is based on suggestions by Robert Millan.
85757
85758 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85759
85760         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85761         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85762         no longer needed.
85763         * lib/quotearg.c (quotearg_n_options): Use it.
85764         * lib/group-member.c: Include <stdbool.h>.
85765         (free_group_info): Arg is now const *; don't free arg.
85766         (get_group_info): Now returns bool and accepts struct group_info *,
85767         rather than returning a malloc'ed struct group_info *.
85768         All uses changed.  Check for overflow in internal size calculation.
85769
85770         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85771         rather than xmalloc/xrealloc.
85772         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85773         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85774         conformance bug: the old code used a pointer after freeing the
85775         storage that it addressed.
85776         * lib/hash.c (hash_initialize): Simplify the code by using
85777         xalloc_oversized rather than doing it by hand.
85778         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85779         the buffer preserved.  Use free and xmalloc instead.
85780         * lib/quotearg.c (quotearg_n_options): Likewise.
85781         Use a simpler test for size overflow.  Don't use xalloc_oversized
85782         because unsigned int might be wider than size_t (!); this suggests
85783         that we should switch from unsigned int to size_t for slot numbers.
85784
85785 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85786
85787         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85788         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85789         NetBSD kernels.  Requested by Richard Stallman.
85790
85791 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85792
85793         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85794         to allocate the returned structure.  Do not allocate a subarray,
85795         as x2nrealloc will do that.
85796         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85797         instead of xnrealloc.
85798         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85799
85800 2003-10-27  Bruno Haible  <bruno@clisp.org>
85801
85802         * lib/stdbool_.h: Better support for BeOS.
85803
85804 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85805
85806         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85807         now uses inline.
85808
85809 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85810
85811         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85812         callers that want to do their own size-overflow checking.  Include
85813         <stdbool.h>, since xalloc_oversized returns bool.
85814         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85815         to use xalloc_oversized.
85816
85817         Add two functions x2realloc, x2nrealloc, for programs that grow
85818         arrays dynamically by doubling their sizes.
85819         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85820         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85821         New functions.
85822
85823         Port to C99 semantics for 'inline' of external functions.
85824         Bug reported by Bruno Haible.
85825         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85826         with the old contents of xnmalloc.
85827         (xnmalloc, xmalloc): Use it.
85828         (xnrealloc_inline): New static inline function,
85829         with the old contents of xnrealloc.
85830         (xnrealloc, xrealloc): Use it.
85831
85832         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85833         that.
85834
85835 2003-10-26  Karl Berry  <karl@gnu.org>
85836
85837         * config/srclist.txt (COPYING.DOC): no longer available from
85838         /gd/gnuorg; don't know where the ultimate source is.
85839
85840 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85841
85842         Fix several address-calculation bugs in the hash modules,
85843         plus some minor code cleanup.
85844
85845         * lib/hash.h: Include <stdbool.h>, for bool.
85846         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85847         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85848         hash_get_n_entries, hash_get_max_bucket_length,
85849         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85850         hash_rehash): Use size_t rather than unsigned.
85851         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85852         hash_get_n_buckets_used, hash_get_n_entries,
85853         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85854         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85855         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85856         Likewise.
85857         (SIZE_MAX): Define if not defined.
85858         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85859         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85860         hash_print):
85861         Use const * when possible.
85862         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85863         (check_tuning): Fix bug: if tuning parameters were very close to
85864         0 or 1, rounding errors could have caused subscript violations.
85865         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85866         (hash_initialize): Add 'fail:' label
85867         to free table and return NULL, and use it to simplify code.
85868         Use calloc rather than clearing the storage ourself.
85869         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85870         buffer size calculations.
85871         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85872         Include <stddef.h>, for size_t.
85873         * lib/hash-pjw.c (hash_pjw): Likewise.
85874         Switch to method described by Bruno Haible.
85875         Include <limits.h>, for CHAR_BIT.
85876         (SIZE_BITS): New macro.
85877
85878 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85879
85880         * m4/getline.m4 (AM_FUNC_GETLINE):
85881         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85882         hosts.  Problem reported by Derek Robert Price in
85883         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85884         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85885         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85886
85887 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85888
85889         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85890         ceiling the allocation at NMAX bytes rather than silently
85891         discarding input bytes before NMAX is reached.  This makes
85892         a difference only if NMAX exceeds SIZE_MAX / 2.
85893
85894         * lib/obstack.c: Merge from glibc.
85895         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85896         Add libc_hidden_def (_obstack_newchunk).
85897         (_obstack_free) [! defined _LIBC]: Remove.
85898         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85899         a clone of the function body.
85900         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85901         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85902
85903         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85904         glibc.
85905         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85906         arg to memcpy.
85907
85908         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85909         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85910         Don't use lvalue casts, as GCC plans to remove support for them
85911         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85912         was also present in the non-GCC version, indicating that this
85913         code had always been buggy and had never been widely used.
85914         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85915         Use the fast variant of each macro, rather than copying the
85916         definiens of the fast variant; that way, we'll be more likely to
85917         catch future bugs in the fast variants.
85918
85919 2003-10-20  Bruno Haible  <bruno@clisp.org>
85920
85921         * modules/wait-process: New file.
85922         * MODULES.html.sh (func_all_modules): Add wait-process.
85923
85924 2003-10-20  Bruno Haible  <bruno@clisp.org>
85925
85926         * m4/wait-process.m4: New file.
85927
85928 2003-10-20  Bruno Haible  <bruno@clisp.org>
85929
85930         * lib/wait-process.h: New file, from GNU gettext.
85931         * lib/wait-process.c: New file, from GNU gettext.
85932
85933 2003-10-19  Jim Meyering  <jim@meyering.net>
85934
85935         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85936         HPUX 10.20.
85937
85938 2003-10-18  Karl Berry  <karl@gnu.org>
85939
85940         * config/config.guess: update from config.
85941
85942 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85943
85944         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85945         (getgroups): First arg is int, not size_t.
85946         Don't let 'free' mangle errno.
85947
85948 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85949
85950         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85951
85952 2003-10-16  Karl Berry  <karl@gnu.org>
85953
85954         * config/config.{guess,sub}: update from config.
85955
85956 2003-10-16  Jim Meyering  <jim@meyering.net>
85957
85958         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85959         memcpy.
85960
85961 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85962
85963         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85964         (SIZE_MAX): Remove.
85965         (new_exclude, add_exclude_file): Initial size no longer needs to
85966         be a power of 2.
85967         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85968         our own address arithmetic overflow checking.
85969
85970         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85971         (fnmatch): Do not alloca more than 2000 wide characters;
85972         instead, use malloc for large buffers.
85973         Check for address arithmetic overflow, and return -1
85974         with errno set to ENOMEM in that case.
85975         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85976         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85977         instead, return -1.  Check for address arithmetic overflow.
85978
85979 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85980
85981         Handle invalid suffixes and overflow independently, so that
85982         callers can treat them independently as needed.  Fix some bugs in
85983         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85984         suffix for a human-readable blocksize.  The major caller-visible
85985         change is the addition of a new
85986         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85987         that both overflow and suffix chars were found.
85988
85989         * lib/human.c (humblock): Don't check separately for invalid suffix
85990         char; that is xstrtoumax's job (now that its bug is fixed).
85991         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85992         INTMAX_MAX]: New macros.
85993         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85994         TYPE_MAXIMUM): New macros.
85995         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85996         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85997         if overflow occurs, as it's what __strtol does and it's more useful
85998         in practice.
85999         (__xstrtol): If __strtol reports some error other than ERANGE,
86000         reflect it to the caller as LONGINT_INVALID.  If it reports
86001         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
86002         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
86003         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
86004         value.
86005         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
86006         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
86007         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
86008         [defined UINTMAX_MAX]: New macros.
86009
86010 2003-10-14  Bruno Haible  <bruno@clisp.org>
86011
86012         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
86013
86014 2003-10-14  Bruno Haible  <bruno@clisp.org>
86015
86016         * m4/sig_atomic_t: New file, from GNU gettext.
86017         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
86018
86019 2003-10-14  Bruno Haible  <bruno@clisp.org>
86020
86021         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
86022         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
86023         Also use volatile where needed.
86024
86025 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86026
86027         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
86028         Change maintainer from Bruno Haible to 'all'.
86029
86030 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86031
86032         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
86033
86034 2003-10-12  Paul Eggert  <eggert@twinsun.com>
86035
86036         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
86037         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
86038         and define in terms of the other primitives.
86039         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
86040         (SIZE_MAX): Define if not already defined.
86041         (array_size_overflow): New function.
86042         (xalloc_die): Abort instead of exiting if 'error' returns.
86043         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
86044         (xmalloc, xrealloc): Use them.
86045         (xcalloc): Check for address arithmetic overflow.
86046         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
86047         a bit faster than strcpy.
86048
86049 2003-10-10  Simon Josefsson  <jas@extundo.com>
86050
86051         * modules/argp (Depends-on): Add restrict and strcase.
86052
86053 2003-10-10  Simon Josefsson  <jas@extundo.com>
86054
86055         * m4/argp.m4: Add AC_C_INLINE.
86056
86057 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86058
86059         Merge getpass from libc, plus a few fixes.
86060
86061         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
86062         Include <stdbool.h>.
86063         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
86064         __fsetlocking to empty.
86065         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
86066         do include <bits/libc-lock.h>.
86067         Do not include <fcntl.h>; not needed.
86068         [_LIBC]: Include <wchar.h>.
86069         (NOTCANCEL_MODE): New macro.
86070         (flockfile, funlockfile) [_LIBC]: New macros.
86071         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
86072         [!_LIBC]: New macros.
86073         (call_fclose): New function.
86074         (getpass): Use it.  Save tty stream separately; this simplifies the
86075         code and makes it more reliable if stdin happens to equal stdout.
86076         Invoke __fsetlocking on tty.
86077         Handle thread cancellation if needed.
86078         Namespace cleanup (use __tcgetattr, __getline).
86079         Use bool for Booleans.
86080         [USE_IN_LIBIO]: Handle wide streams.
86081         [!_LIBC]: Unconditionally do the fseek, since we don't know what
86082         stream might go where.
86083
86084         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
86085         doesn't have to include <stdio.h> before us.
86086         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
86087         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
86088         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
86089         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
86090         if not declared, so that we can use getpass.c code from libc without
86091         rewriting it.
86092         (flockfile, ftrylockfile, funlockfile): New macros.
86093
86094 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86095
86096         * modules/getpass: Depend on stdbool.
86097
86098 2003-10-08  Paul Eggert  <eggert@twinsun.com>
86099
86100         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
86101
86102 2003-10-07  Karl Berry  <karl@gnu.org>
86103
86104         * config/config.{guess,sub}: update from config.
86105
86106 2003-10-06  Jim Meyering  <jim@meyering.net>
86107             Bruno Haible  <bruno@clisp.org>
86108
86109         This lets translators provide better translations for the
86110         "Written by ..." part of --version output.
86111         * lib/version-etc.h: Include stdarg.h.
86112         (version_etc_copyright): Declare as readonly.
86113         (version_etc): Make this function variadic with a NULL-terminated list
86114         of author name strings.
86115         (version_etc_va): New declaration.
86116         * lib/version-etc.c: Include stdarg.h, stdlib.h.
86117         (version_etc_copyright): Declare as readonly.
86118         (version_etc_va): New function. Provide a different translatable string
86119         for each possible number of authors < 10. Abbreviate when there are 10
86120         authors or more.
86121         (version_etc): Make this function variadic. Call version_etc_va.
86122         Suggestion from Gary V. Vaughan.
86123
86124         * lib/long-options.h (parse_long_options): Change prototype: the
86125         authors string is moved to the end and becomes variadic.
86126         * lib/long-options.c: Include stdarg.h.
86127         (parse_long_options): Make this function variadic, too.
86128         Call version_etc_va, not version_etc.
86129
86130 2003-10-06  Bruno Haible  <bruno@clisp.org>
86131
86132         * modules/version-etc-2: Remove file.
86133         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
86134
86135 2003-10-06  Bruno Haible  <bruno@clisp.org>
86136
86137         * modules/fatal-signal: New file.
86138         * MODULES.html.sh (func_all_modules): Add fatal-signal.
86139
86140 2003-10-06  Bruno Haible  <bruno@clisp.org>
86141
86142         * m4/fatal-signal.m4: New file.
86143         * m4/signalblocking.m4: New file, from GNU gettext.
86144
86145 2003-10-06  Bruno Haible  <bruno@clisp.org>
86146
86147         * lib/version-etc-2.h: Remove file.
86148         * lib/version-etc-2.c: Remove file.
86149
86150 2003-10-06  Bruno Haible  <bruno@clisp.org>
86151
86152         * lib/fatal-signal.h: New file, from GNU gettext.
86153         * lib/fatal-signal.c: New file, from GNU gettext.
86154
86155 2003-10-05  Paul Eggert  <eggert@twinsun.com>
86156
86157         * README: Rework advice for preventing empty .o files.
86158         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
86159         not <sys/types.h>.
86160
86161 2003-10-04  Karl Berry  <karl@gnu.org>
86162
86163         * lib/argp*: update from libc.
86164
86165 2003-10-04  Karl Berry  <karl@gnu.org>
86166
86167         * config/config.{guess,sub}: update from config.
86168
86169 2003-10-02  Bruno Haible  <bruno@clisp.org>
86170
86171         * modules/lchown (Include): Add lchown.h.
86172         * modules/time_r (Include): Use "..." syntax.
86173         * modules/xgetdomainname (Include): Add xgetdomainname.h.
86174
86175 2003-10-01  Simon Josefsson  <jas@extundo.com>
86176
86177         * MODULES.html.sh (func_all_modules): Move gethostname from section
86178         'based on' to section 'lacking' POSIX:2001.
86179
86180 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
86181
86182         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
86183         to output mode on the same stream.
86184
86185 2003-09-29  Paul Eggert  <eggert@twinsun.com>
86186
86187         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
86188         Fix arg typo in previous patch.
86189
86190 2003-09-28  Jim Meyering  <jim@meyering.net>
86191
86192         * lib/error.c: Correct cpp indentation.
86193
86194 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86195
86196         * modules/free: New file.
86197
86198 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86199
86200         * m4/free.m4: New file.
86201
86202 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86203
86204         * lib/minmax.h (MIN, MAX)
86205         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
86206         Omit the special code that used __typeof__, since we worry that
86207         it could be more trouble than it's worth.  See:
86208         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
86209         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
86210
86211         * lib/free.c: New file.
86212
86213 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
86214
86215         Trivial fixes to Makefile.am parts of module listings.
86216         * modules/strstr: Append strstr.h to lib_SOURCES.
86217         * modules/strcase: Likewise, for strcase.h.
86218
86219 2003-09-27  Karl Berry  <karl@gnu.org>
86220
86221         * config/mkinstalldirs: update from automake.
86222
86223 2003-09-26  Paul Eggert  <eggert@twinsun.com>
86224
86225         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
86226         (error_tail): Do not loop, reallocating temporary buffer, since
86227         the output cannot contain more wide characters than the input
86228         contains bytes, the size must be big enough already.  This avoids
86229         one potential size overflow calculation.  Check for size overflow
86230         when calculating temporary buffer size.  Free temporary buffer
86231         when done, if it was allocated with malloc; this plugs a memory
86232         leak.  Remove casts from void * to pointers, that are no longer
86233         needed now that we're assuming C89 or better.
86234
86235         Merge error changes from glibc.
86236
86237         * lib/error.c, error.h: Update copyright notice header to match glibc.
86238         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86239         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86240         Disable cancellation while printing error.
86241         * lib/error.h: Prepend __ to parameter names.
86242
86243 2003-09-26  Jim Meyering  <jim@meyering.net>
86244
86245         * lib/error.c (error_tail): Move some declarations
86246         into inner scope where the local variables are used.
86247
86248 2003-09-26  Bruno Haible  <bruno@clisp.org>
86249
86250         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86251         stpncpy().
86252         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86253
86254 2003-09-26  Bruno Haible  <bruno@clisp.org>
86255
86256         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86257         (stpncpy): Define as alias for gnu_stpncpy.
86258         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86259
86260 2003-09-25  Simon Josefsson  <jas@extundo.com>
86261
86262         * lib/xgetdomainname.h: New file.
86263         * lib/xgetdomainname.c: New file.
86264
86265 2003-09-25  Simon Josefsson  <jas@extundo.com>
86266             Bruno Haible  <bruno@clisp.org>
86267
86268         * modules/getdomainname: New file.
86269         * modules/xgetdomainname: New file.
86270         * MODULES.html.sh (func_all_modules): Add getdomainname,
86271         xgetdomainname.
86272
86273 2003-09-25  Simon Josefsson  <jas@extundo.com>
86274             Bruno Haible  <bruno@clisp.org>
86275
86276         * m4/getdomainname.m4: New file.
86277
86278 2003-09-25  Simon Josefsson  <jas@extundo.com>
86279             Bruno Haible  <bruno@clisp.org>
86280
86281         * lib/getdomainname.h: New file.
86282         * lib/getdomainname.c: New file.
86283
86284 2003-09-25  Karl Berry  <karl@gnu.org>
86285
86286         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86287
86288 2003-09-25  Karl Berry  <karl@gnu.org>
86289
86290         * config/install-sh: update from automake.
86291
86292 2003-09-25  Bruno Haible  <bruno@clisp.org>
86293
86294         * modules/version-etc-2: New file, from modules/version-etc with
86295         modifications.
86296         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86297
86298 2003-09-25  Bruno Haible  <bruno@clisp.org>
86299
86300         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86301         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86302
86303 2003-09-24  Simon Josefsson  <jas@extundo.com>
86304
86305         * modules/xgethostname: Add xgethostname.h.
86306
86307 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86308
86309         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86310         the buffer associated with the argument.  Bug reported by
86311         Simon Josefsson.
86312
86313 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86314
86315         * README: Document assumptions that 'int' is at least 32 bits
86316         wide, that integer arithmetic is 2's complement without overflow,
86317         that there are no holes in integer values, that adding sizes of
86318         two nonoverlapping objects can't overflow, and that all-bits-zero
86319         yields scalar zero.  Fix spelling and capitalization typos.
86320
86321 2003-09-19  Karl Berry  <karl@gnu.org>
86322
86323         * lib/argp.h: update from libc.
86324
86325 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86326
86327         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86328         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86329         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86330
86331 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86332
86333         * gnulib-tool: Use "test -h", not "test -L", for portability
86334         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
86335         (tags_regexp): Remove, since \| doesn't conform to POSIX.
86336         (sed_extract_prog): Issue s commands one-by-one, rather than
86337         using \| in one s command.
86338
86339 2003-09-16  Paul Eggert  <eggert@twinsun.com>
86340
86341         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
86342         input error, instead of returning NULL the next time we are called
86343         (and therefore losing track of errno).
86344
86345 2003-09-16  Bruno Haible  <bruno@clisp.org>
86346
86347         * gnulib-tool (func_create_testdir): Warn about duplicated
86348         dependencies.
86349
86350 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86351
86352         * modules/argmatch, modules/fatal, modules/obstack,
86353         modules/xalloc, modules/xgethostname: Sort dependencies by
86354         importance, not alphabetically.
86355
86356 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86357
86358         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86359         fails, so that the caller gets the proper errno.
86360
86361         * lib/readutmp.c (read_utmp): Likewise.
86362         Check for fstat error.  Close stream and free storage
86363         when failing.
86364
86365 2003-09-14  Karl Berry  <karl@gnu.org>
86366
86367         * config/srclist.txt (strdup.c): disable for c89 changes.
86368
86369 2003-09-14  Jim Meyering  <jim@meyering.net>
86370
86371         * lib/getloadavg.c: Correct cpp indentation.
86372         * lib/strdup.c: Likewise.
86373         * lib/vasnprintf.c: Likewise.
86374
86375 2003-09-14  Bruno Haible  <bruno@clisp.org>
86376
86377         * modules/fwriteerror: New file.
86378         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86379
86380 2003-09-14  Bruno Haible  <bruno@clisp.org>
86381
86382         * lib/fwriteerror.h: New file.
86383         * lib/fwriteerror.c: New file.
86384
86385 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86386
86387         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86388         modules/xgethostname, modules/xalloc: Depend on exit.
86389
86390 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86391
86392         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86393
86394         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86395         and AC_MINIX, too, so that their extensions are available.
86396
86397         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86398         This macro has been superseded by gl_BACKUPFILE.
86399
86400         More patches to assume C89 or better.
86401
86402         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86403
86404         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86405         unconditionally.
86406         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86407         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86408         Include <string.h>, <stdlib.h> unconditionally.
86409         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86410         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86411         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86412         headers or for string.h.
86413         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86414         or strtoul.
86415
86416         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86417         headers.
86418         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86419         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86420         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86421         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86422         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86423         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86424         memcpy, memset.
86425         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86426         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86427         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86428         strtol.
86429         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86430         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86431         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86432         strtoul.
86433
86434 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86435
86436         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86437         * lib/obstack.c [!defined _LIBC]: Likewise.
86438         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86439         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86440         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86441
86442         More changes to assume C89 or better.
86443
86444         * lib/error.c (error_tail): Assume vprintf.
86445
86446         * lib/argmatch.c (getenv): Remove decl.
86447         * lib/progreloc.c (get_full_program_name): Define via prototype.
86448         * lib/setenv.c (clearenv): Likewise.
86449         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86450         needed.
86451         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86452         (malloc, memcpy): Remove decls.
86453         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86454         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86455         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86456         (memcpy): Remove macro.
86457         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86458         (__P): Remove.  All uses removed.
86459         (PTR): Remove.  All uses changed to void *.
86460         (CHAR_BIT, NULL): Remove.
86461         (spaces, zeros, memset_space, memset_zero)
86462         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86463         Remove.
86464         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86465         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86466         Define with prototype.
86467         Remove now-unnecessary prototype decl.
86468         (extra_args_spec): Assume ANSI C.  All uses changed.
86469         (extra_args_spec_iso): Remove.
86470         (my_strftime, emacs_strftimeu): Define via prototype.
86471         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86472         unconditionally.
86473         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86474         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86475         (strtoul, strtol): Remove decls.
86476         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86477         LONG_MAX): Remove.
86478         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86479         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86480         (LOCALE_PARAM_PROTO): New macro.
86481         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86482         (INTERNAL (strtol), strtol): Define with a prototype.
86483         (PARAMS): Remove.  All uses removed.
86484         * lib/tempname.c: Include <string.h> unconditionally.
86485         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86486         * lib/xgethostname.c (main): Define with a prototype.
86487         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86488         Include <stdlib.h> unconditionally.
86489         (calloc, malloc, realloc, free): Remove decls.
86490         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86491         Include <stdlib.h> unconditionally.  Sort include file names.
86492         (strtod): Remove.
86493         (xstrtod): Define with a prototype.
86494         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86495         (strtol, strtoul): Remove decls.
86496
86497 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86498
86499         More patches to assume C89 or better.
86500         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86501         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86502         string.h, memchr, STDC_HEADERS.
86503
86504 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86505
86506         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86507         Include <stdlib.h>, <string.h> unconditionally.
86508         Remove now-unnecessary cast to char *.
86509         * lib/strnlen.c: Include <string.h> unconditionally.
86510         * lib/yesno.c (yesno): Define with a prototype.
86511
86512 2003-09-11  Bruno Haible  <bruno@clisp.org>
86513
86514         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86515
86516 2003-09-10  Jim Meyering  <jim@meyering.net>
86517
86518         * lib/error.c: Correct indentation of cpp directives.
86519
86520 2003-09-10  Bruno Haible  <bruno@clisp.org>
86521
86522         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86523         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86524         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86525         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86526         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86527         <stdlib.h> and <string.h> checks.
86528         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86529         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86530
86531 2003-09-10  Bruno Haible  <bruno@clisp.org>
86532
86533         * lib/strcspn.c: Include <string.h> unconditionally.
86534         * lib/strpbrk.c: Include <string.h> unconditionally.
86535         * lib/strstr.c: Include <string.h> unconditionally.
86536         * lib/unicodeio.c: Include <string.h> unconditionally.
86537         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86538         * lib/unsetenv.c: Likewise.
86539         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86540         * lib/yesno.c: Include <stdlib.h> unconditionally.
86541         (rpmatch): Add prototype.
86542
86543 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86544
86545         More patches to assume C89 or better.
86546         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86547         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86548         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86549         or for string.h.
86550         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86551         stdlib.h.
86552         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86553         C headers.
86554         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86555         string.h.
86556         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86557         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86558         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86559         or for string.h.
86560         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86561         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86562         C headers.
86563         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86564         memcpy.
86565         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86566         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86567         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86568         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86569         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86570         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86571         string.h, free.
86572         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86573         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86574         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86575         C headers, or for string.h.
86576         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86577         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86578         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86579         headers, memory.h, stdlib.h, string.h, strings.h.
86580         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86581         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86582         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86583         strchr.
86584         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86585         headers, memory.h, string.h.
86586         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86587         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86588         free.
86589         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86590         headers.
86591         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86592         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86593         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86594         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86595         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86596
86597 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86598
86599         More K&R removal.
86600
86601         * lib/acosl.c (main): Use a prototype.
86602         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86603         tanl.c: Likewise.
86604
86605         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86606
86607         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86608         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86609         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86610         with a prototype.
86611         * lib/getopt.c (const): Remove macro.
86612         Include <string.h> unconditionally.
86613         (my_index): Remove; all uses changed to strchr.
86614         (strlen): Remove decl.
86615         (exchange): Remove forward decl; no longer needed.
86616         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86617         Define with prototype.
86618         * lib/getopt1.c (const): Remove macro.
86619         (getopt_long, getopt_long_only, main): Define with prototype.
86620
86621         * lib/getugroups.c: Include <string.h> unconditionally.
86622
86623         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86624         (getusershell, setusershell, endusershell, readname, main):
86625         Define with prototypes.
86626
86627         * lib/group-member.c: Include group-member.h first.
86628         Include <stdlib.h> unconditionally.
86629
86630         * lib/hard-locale.c: Include hard-locale.h first.
86631         Include <stdlib.h>, <string.h> unconditionally.
86632
86633         * lib/hash.c (free, malloc): Remove decls.
86634         Include <stdlib.h> unconditionally.
86635
86636         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86637         (getenv): Do not declare.
86638
86639         * lib/idcache.c: Include <string.h> unconditionally.
86640
86641         * lib/long-options.c: Include long-options.h first, to test interface.
86642         Include <stdlib.h> unconditionally.
86643
86644         * lib/makepath.c: Include makepath.h first, to test interface.
86645         Include <stdlib.h> and <string.h> unconditionally.
86646
86647         * lib/linebuffer.c: Include <stdlib.h>.
86648         (free): Remove decl.
86649
86650         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86651         stddef.h. rpl_malloc returns void *, not char *.
86652         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86653         prototype.
86654
86655         * lib/md5.h: Include <limits.h> unconditionally.
86656         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86657         (__P): Remove; all uses removed.
86658         * lib/md5.c: Include "md5.h" first.
86659         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86660         md5_buffer, md5_process_bytes, md5_process_block):
86661         Define with prototypes.
86662         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86663         * lib/sha.c: Include "sha.h" first.
86664         Include <stdlib.h>, <string.h> unconditionally.
86665
86666         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86667         * lib/memcmp.c (__ptr_t): Likewise.
86668         * lib/memrchr.c (__ptr_t): Likewise.
86669         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86670         Include <string.h> unconditionally.
86671         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86672         * lib/memchr.c: Include <stdlib.h> unconditionally.
86673         * lib/memchr.c (LONG_MAX): Remove.
86674         * lib/memrchr.c (LONG_MAX): Likewise.
86675         * lib/memchr.c (__memchr): Define via a prototype.
86676         * lib/memrchr.c (__memrchr): Likewise.
86677         * lib/memcmp.c (__P): Remove, and remove all uses.
86678         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86679         Remove forward decls; no longer needed.
86680         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86681         Use types required by C89 in prototype.
86682
86683         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86684         * lib/savedir.c: Likewise.
86685         * lib/mkdir.c (free): Remove decl.
86686         * lib/rmdir.c (rmdir): Define with a prototype.
86687         * lib/savedir.c: Include savedir.h first, to test interface.
86688
86689         * lib/mktime.c (STDC_HEADERS): Remove.
86690         Include <stdlib.h>, <string.h> unconditionally.
86691
86692         * lib/modechange.c: Include <stdlib.h> unconditionally.
86693         (malloc): Remove decl.
86694
86695         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86696         (free): Remove decl.
86697
86698         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86699         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86700         (This type really should be intptr_t, but that's a C99ism.)
86701         (_obstack_memcpy): Remove: all uses changed to memcpy.
86702         Include <string.h> unconditionally.
86703         (struct obstack): Assume __STDC__ for types of members
86704         chunkfun, freefun, extra_arg.
86705         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86706         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86707         obstack_begin, obstack_specify_allocation,
86708         obstack_specify_allocation_with_arg, obstack_chunkfun,
86709         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86710         Remove unprototyped decls and the macros that use them.
86711         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86712         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86713         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86714         (defined __STDC__ && __STDC__)]:
86715         Remove nonprototyped code.
86716         Include <stdlib.h> unconditionally.
86717         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86718         _obstack_allocated_p, _obstack_free, obstack_free,
86719         _obstack_memory_used, print_and_abort):
86720         Define using prototypes.
86721         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86722         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86723         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86724         obstack_next_free, obstack_object_size, obstack_room) [0]:
86725         Remove unused, unprototyped code.
86726
86727         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86728
86729         * lib/physmem.c (physmem_total, physmem_available, main): Define
86730         with prototypes.
86731
86732         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86733         (main): Define with a prototype.
86734
86735         * lib/posixver.c (getenv): Remove decl.
86736
86737         * lib/putenv.c (malloc): Returns void *, not char *.
86738         Include <string.h> unconditionally.
86739         (strchr, memcpy, NULL): Do not define.
86740
86741         * lib/readtokens.c: Include readtokens.h first, to test interface.
86742         Include <stdlib.h>, <string.h> unconditionally.
86743         (init_tokenbuffer): Define with a prototype.
86744
86745         * lib/regex.c (PARAMS): Remove.  All uses removed.
86746         All uses of _RE_ARGS removed, too.
86747         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86748         unconditionally.
86749         (bzero): Assume memset exists.
86750         (memcmp, memcpy, NULL): Remove.
86751         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86752         char, or assignments to local vars of type signed char.
86753         (init_syntax_once, PREFIX(extract_number_and_incr),
86754         PREFIX(print_partial_compiled_pattern),
86755         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86756         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86757         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86758         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86759         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86760         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86761         wcs_compile_range, byte_compile_range, truncate_wchar,
86762         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86763         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86764         count_mbs_length, wcs_re_match_2_internal,
86765         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86766         PREFIX(alt_match_null_string_p),
86767         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86768         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86769         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86770         now-unnecessary declaration, if any.
86771         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86772         regcomp, regexec):
86773         Remove now-unnecessary casts among pointer types.
86774         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86775
86776         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86777         (free): Remove decl.
86778
86779         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86780
86781         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86782         (free): Remove decl.
86783
86784         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86785         * lib/xgetcwd.c: Likewise.
86786
86787         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86788         (free): Remove decl.
86789
86790         * lib/strchrnul.c (strchrnul): Define with a prototype.
86791         Fix bug: c_in was not converted to char before searching.
86792
86793         The following changes are not K&R related:
86794
86795         * lib/group-member.h: Include <sys/types.h>, so that this file is
86796         self-contained.
86797         * lib/makepath.h: Likewise.
86798
86799         * lib/getusershell.c (readname, default_index, line_size, readname):
86800         Use size_t, not int, for sizes.
86801         (readname): If the size overflows, report an error instead of
86802         looping forever.
86803
86804 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86805
86806         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86807         libc.
86808
86809 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86810
86811         * README: New section: portability guidelines.
86812
86813 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86814
86815         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86816         C89 spec.
86817
86818 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86819
86820         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86821
86822 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86823
86824         Assume C89 or better; remove K&R cruft.
86825         A few of these changes were first proposed by Derek Robert Price
86826         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86827
86828         * lib/addext.c: Include <string.h> unconditionally.
86829         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86830         Don't declare getenv or malloc.
86831
86832         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86833         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86834         (NULL): Remove.
86835         (find_stack_direction, alloca): Use prototypes.
86836
86837         * lib/atexit.c (atexit): Define using a prototype.
86838
86839         * lib/basename.c, dirname.c, stripslash.c:
86840         Include <string.h> unconditionally.
86841
86842         * lib/bcopy.c: Include <stddef.h>.
86843         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86844
86845         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86846
86847         * lib/error.h (error, error_at_line, error_print_progname)
86848         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86849         * lib/error.c: Include error.h first, to check interface.
86850         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86851         (VA_START): Remove; all uses changeed to va_start.
86852         (exit, strerror): Remove decls.
86853         (error_print_progname): Prototype uncondionally.
86854         Don't include <errno.h>; no longer needed.
86855         (private_strerror): Remove.
86856         (error_tail): Always define.
86857         (error, error_at_line): Assume C89 or better; always use prototypes.
86858         * lib/fatal.c: Include "fatal.h" first, to test interface.
86859         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86860         (VA_START): Remove; all uses changed to va_start.
86861         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86862         this case.
86863         (exit): Remove decl.
86864         (fatal): Prototype unconditionally.  Assume va_start works.
86865         Abort at end, to pacify gcc.
86866
86867         * lib/euidaccess.c (main): Define with a prototype.
86868
86869         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86870
86871         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86872
86873         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86874         prototypes.
86875         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86876         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86877         (getenv): Remove decl.
86878         (fnmatch): Define using a prototype.
86879         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86880         (FCT): Define using a prototype.
86881
86882         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86883
86884         * lib/gethostname.c: Include <stddef.h>.
86885         (gethostname): Define with prototype.  Length is size_t, not int.
86886
86887 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86888
86889         Assume C89 or better; remove K&R cruft.
86890         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86891         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86892         string.h, getenv, malloc.
86893         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86894         headers.
86895         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86896         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86897         do not check for strerror.
86898         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86899         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86900         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86901         do not check for doprnt or vprintf.
86902         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86903         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86904
86905 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86906
86907         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86908         getversion.c should have been removed then, but was accidentally
86909         preserved.
86910
86911         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86912         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86913
86914 2003-09-08  Karl Berry  <karl@gnu.org>
86915
86916         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86917                 config, forget about prep.
86918
86919         * config/depcomp, missing: update from automake.
86920
86921 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86922
86923         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86924         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86925
86926 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86927
86928         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86929         copy_tm_result.  Bug reported by Simon Josefsson in
86930         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86931
86932 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86933
86934         * m4/time_r.m4: New file.
86935         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86936         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86937         is. Check for timegm declaration.
86938         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86939         Do not check for gmtime_r.
86940         Replace mktime if __mktime_internal does not exist and if mktime
86941         hasn't been replaced already.
86942
86943 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86944
86945         * lib/time_r.c, lib/time_r.h: New files.
86946
86947         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86948         __localtime_r.
86949         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86950         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86951
86952         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86953         __gmtime_r.
86954         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86955         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86956         Include <time_r.h>.
86957
86958         * lib/timegm.c: Switch to glibc implementation, with the following
86959         changes:
86960         [defined HAVE_CONFIG_H]: Include <config.h>.
86961         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86962         (__mktime_internal) [!defined _LIBC]: New decl.
86963         (__gmtime_r) [!defined _LIBC]: New macro and function.
86964         (timegm): Use a prototype, since gnulib assumes C89.
86965         Do not bother declaring tmp to be const, as it's not really usefu.
86966         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86967         (timegm): Declare only if HAVE_DECL_TIMEGM.
86968
86969 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86970
86971         * MODULES.html.sh (func_all_modules): Add time_r.
86972         * modules/time_r: New file.
86973         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86974         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86975
86976 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86977
86978         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86979         Bug reported by Lute Kamstra in
86980         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86981
86982         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86983         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86984         course with correspondingly smaller numbers for tomorrow and
86985         yesterday.  From Tadayoshi Funaba.  Originally installed into
86986         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86987         coreutils merge?).
86988
86989 2003-08-31  Simon Josefsson  <jas@extundo.com>
86990
86991         * modules/timegm: New file.
86992         * MODULES.html.sh (func_all_modules): Add timegm.
86993
86994 2003-08-31  Simon Josefsson  <jas@extundo.com>
86995
86996         * m4/timegm.m4: New file.
86997
86998 2003-08-31  Simon Josefsson  <jas@extundo.com>
86999
87000         * lib/timegm.h: New file.
87001         * lib/timegm.c: New file.  Based on
87002         wget-1.8.2/src/http.c:mktime_from_utc.
87003
87004 2003-08-31  Karl Berry  <karl@gnu.org>
87005
87006         * lib/argp.h: update from libc.
87007
87008 2003-08-28  Bruno Haible  <bruno@clisp.org>
87009
87010         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
87011         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
87012         followed by '#define fnmatch fnmatch_posix' gives an error.
87013
87014 2003-08-28  Bruno Haible  <bruno@clisp.org>
87015
87016         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
87017         warning on QNX, which defines O_BINARY to 000000.
87018
87019 2003-08-27  Jim Meyering  <jim@meyering.net>
87020
87021         * m4/mkstemp.m4: Require that the system mkstemp be able to create
87022         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
87023         would fail after 32.  Reported by Danny Levinson.  Details here:
87024         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
87025
87026 2003-08-24  Bruno Haible  <bruno@clisp.org>
87027
87028         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
87029         MSVC7 <stdio.h> is included later.
87030
87031 2003-08-22  Simon Josefsson  <jas@extundo.com>
87032
87033         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
87034
87035 2003-08-20  Karl Berry  <karl@gnu.org>
87036
87037         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
87038
87039 2003-08-20  Bruno Haible  <bruno@clisp.org>
87040
87041         * modules/progname: New file.
87042         * MODULES.html.sh (func_all_modules): Add progname.
87043
87044 2003-08-20  Bruno Haible  <bruno@clisp.org>
87045
87046         * lib/progname.h: New file, from GNU gettext.
87047         * lib/progname.c: New file, from GNU gettext.
87048         * lib/progreloc.c: New file, from GNU gettext.
87049
87050 2003-08-19  Jim Meyering  <jim@meyering.net>
87051
87052         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
87053         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
87054
87055 2003-08-19  Bruno Haible  <bruno@clisp.org>
87056
87057         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
87058         more.
87059
87060 2003-08-19  Bruno Haible  <bruno@clisp.org>
87061
87062         * lib/xstrdup.c: Assume <string.h> exists.
87063
87064 2003-08-18  Paul Eggert  <eggert@twinsun.com>
87065
87066         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
87067         in makefile rules.
87068
87069 2003-08-18  Jim Meyering  <jim@meyering.net>
87070
87071         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
87072         * m4/lib-ld.m4: Likewise.
87073
87074 2003-08-18  Jim Meyering  <jim@meyering.net>
87075
87076         * lib/setenv.h: Indent nested cpp directive.
87077         * lib/vasnprintf.c: Remove trailing blanks.
87078
87079 2003-08-17  Simon Josefsson  <jas@extundo.com>
87080
87081         * modules/xstrndup: New file.
87082         * MODULES.html.sh (func_all_modules): Add xstrndup.
87083
87084 2003-08-17  Simon Josefsson  <jas@extundo.com>
87085
87086         * modules/argp: Fix autoconf macro name. Add more dependencies.
87087
87088 2003-08-17  Simon Josefsson  <jas@extundo.com>
87089
87090         * m4/xstrndup.m4: New file.
87091
87092 2003-08-17  Simon Josefsson  <jas@extundo.com>
87093
87094         * m4/argp.m4: New file.
87095
87096 2003-08-17  Simon Josefsson  <jas@extundo.com>
87097             Bruno Haible  <bruno@clisp.org>
87098
87099         * lib/xstrndup.h: New file.
87100         * lib/xstrndup.c: New file.
87101
87102 2003-08-17  Bruno Haible  <bruno@clisp.org>
87103
87104         * modules/strndup (Files, Include): Add lib/strndup.h.
87105
87106 2003-08-17  Bruno Haible  <bruno@clisp.org>
87107
87108         * modules/euidaccess (Files): Add lib/euidaccess.h.
87109
87110 2003-08-17  Bruno Haible  <bruno@clisp.org>
87111
87112         * lib/strndup.h: New file.
87113
87114 2003-08-17  Bruno Haible  <bruno@clisp.org>
87115
87116         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
87117         like AC_GNU_SOURCE.
87118         * modules/extensions (configure.ac): Comment out the invocation of
87119         gl_USE_SYSTEM_EXTENSIONS.
87120
87121 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87122
87123         Merges from coreutils, etc.
87124         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
87125         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
87126         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
87127         fixing a typo.
87128         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
87129         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
87130
87131 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87132
87133         Document merge from coreutils.
87134         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
87135         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
87136         * modules/utime: Add m4/utimes-null.m4.
87137
87138 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87139
87140         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
87141         space, undoing this 2003-08-12 change:
87142         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87143
87144 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87145
87146         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
87147         strtoul.c from libc, undoing this 2003-08-12 change:
87148         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87149
87150 2003-08-16  Jim Meyering  <jim@meyering.net>
87151
87152         Merges from coreutils.
87153         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
87154         prefix.  Adjust cache variables similarly.  Create 500 rather than
87155         just 300 files, to exercise bug on Darwin6.5, too.
87156         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
87157         $missing_dir.
87158         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
87159         AM_SYS_POSIX_TERMIOS.
87160         Reported by mkc@mathdogs.com.
87161         Also change use of $am_cv_sys_posix_termios
87162         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
87163         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
87164         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
87165         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
87166         in /proc/mounts until it finds one with matching device number.  This
87167         is unnecessary when the FILE argument *is* a mount point.  No stat call
87168         is necessary in that case.  So, disable the statvfs-testing code on
87169         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
87170         as RedHat bug# 84846.
87171         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87172         to 1MB, so as not to render systems with no stack size limit (e.g.,
87173         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87174         Include <unistd.h>.  On some systems,
87175         it is required for the definition of _SC_PAGESIZE.
87176
87177 2003-08-16  Jim Meyering  <jim@meyering.net>
87178
87179         Merge from coreutils.
87180         * lib/xstrtoimax.c: #else #if -> #elif.
87181         * lib/xstrtoumax.c: Likewise.
87182
87183 2003-08-16  Jim Meyering  <jim@meyering.net>
87184
87185         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
87186         * m4/utimes.m4: Removed.
87187         * m4/utimes-null.m4: Renamed from utimes.m4.
87188
87189         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87190         to 1MB, so as not to render systems with no stack size limit (e.g.,
87191         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87192         Include <unistd.h>.  On some systems,
87193         it is required for the definition of _SC_PAGESIZE.
87194
87195 2003-08-16  Jim Meyering  <jim@meyering.net>
87196         and Paul Eggert  <eggert@cs.ucla.edu>
87197
87198         Merges from coreutils, etc.
87199
87200         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
87201         using the latest version from cvs.  This avoids problems with #line
87202         directives using a vendor (Sun) compiler.
87203         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
87204         Don't set GETGROUPS_LIB here; now it's
87205         done via getgroups.m4's wrapper function.
87206         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
87207         rather than just in sh-util/configure.in, so that the
87208         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
87209         same.
87210         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
87211         AC_FUNC_GETLOADAVG where to find getloadavg.c.
87212         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
87213         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
87214         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
87215         Remove code that is now done by the newly-required macros.
87216         Append $(EXEEXT) to DF_PROG.
87217         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
87218         Do not invoke or require the following here,
87219         since prereq.m4 or some gnulib .m4 now does this for us:
87220         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
87221         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
87222         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
87223         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
87224         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
87225         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
87226         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
87227         AC_FUNC_OBSTACK.
87228         Do not replace the following functions, as this is now the job
87229         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
87230         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
87231         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
87232         atexit getpass, strdup, getpagesize.
87233         Replace 'raise'.
87234         Do not check for the following functions, as this is now the job
87235         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87236         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87237         setregid.
87238         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87239         Check for sys/sysctl.h.
87240         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87241         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87242         of checking for ssize_t ourselves.
87243
87244         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87245         Require every macro that gnulib/modules/* suggests for us.
87246         (jm_PREREQ_ADDEXT): New macro.
87247         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87248         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87249
87250         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87251         (gl_PHYSMEM): Use it.
87252         Also check for `table' function.
87253         Check for new headers and functions.
87254         Add check for sys/sysmp.h.
87255         With suggestions from Kaveh Ghazi.
87256         Ignore headers that are present but cannot be compiled.  This
87257         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87258         C 5.4.
87259
87260 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87261
87262         Document merge from coreutils.
87263         * modules/userspec: Depend on posixver.
87264         * modules/strftime: Depend on tzset.
87265
87266 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87267
87268         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87269         rather than tab, after '#' in shell-script copyright notices.
87270         Suggested by Bruno Haible.
87271
87272 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87273
87274         * config/srclist-update: Use three spaces, rather than tab, after '#'
87275         in shell-script copyright notices.  Suggested by Bruno Haible.
87276         Remove unnecessary parenthesization in regular expression.
87277
87278 2003-08-15  Jim Meyering  <jim@meyering.net>
87279
87280         Merge from coreutils.
87281         * lib/xgethostname.c: Include <stdlib.h>.
87282         (xghostname): Don't exit for anything other than memory-related
87283         failure; just return NULL.
87284         * lib/userspec.c: Include "posixver.h".
87285         (parse_user_spec): Accept `.' as a separator only
87286         in pre-POSIX-200112 mode.
87287         * lib/strtoimax.c: Use #elif rather than #else #if.
87288         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87289         Remove function, now that we can rely on a working tzset function.
87290         [!_LIBC]: Ensure that the required autoconf test has been run.
87291         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87292         Use underlying_strftime for %r.
87293         * lib/sha.c: Merge in some clean-up and optimization changes from
87294         glibc.
87295         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87296         Ensure that it is a multiple of 64.
87297         Rearrange loop exit tests so as to avoid performing an
87298         additional fread after encountering an error or EOF.
87299         * lib/realloc.c: Update copyright date.
87300
87301 2003-08-15  Jim Meyering  <jim@meyering.net>
87302         and Paul Eggert  <eggert@twinsun.com>
87303
87304         Merge from coreutils.
87305         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87306         member but strut utmpx does not.  Needed for AIX 4.3.3.
87307         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87308
87309 2003-08-15  Jim Meyering  <jim@meyering.net>
87310         and Paul Eggert  <eggert@cs.ucla.edu>
87311
87312         Merges from coreutils, etc.
87313         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87314         Require gl_FUNC_TZSET_CLOBBER.
87315         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87316         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87317         members.
87318
87319 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87320
87321         Help the merge from coreutils.
87322         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87323         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87324         * m4/tzset.m4: Use it too.
87325
87326 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87327
87328         * modules/tzset: New file.
87329
87330 2003-08-14  Jim Meyering  <jim@meyering.net>
87331
87332         Merges from coreutils.
87333         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
87334         variable names, rather than @FNMATCH_H@.
87335         * modules/alloca: Likewise for $(ALLOCA_H).
87336
87337         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
87338         the three copies of the literal target, `fnmatch.h'.
87339         * modules/alloca (alloca.h): Likewise.
87340
87341 2003-08-14  Jim Meyering  <jim@meyering.net>
87342
87343         Merge from coreutils.
87344         * m4/tzset.m4: New file.
87345         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
87346         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
87347         otherwise, AIX 5.1 systems would end up using the latter.
87348         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
87349         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
87350         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
87351         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
87352
87353 2003-08-14  Jim Meyering  <jim@meyering.net>
87354
87355         Merge from coreutils.
87356         * lib/obstack.h: Whitespace changes.
87357         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87358         and xcalloc return values.
87359         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87360         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87361         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87362         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87363         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87364         error from mntctl.
87365         Use mntctl's return value to drive the entry-processing loop, since
87366         we can't rely on the value of the vmt_length member in the last
87367         entry.  On some systems doing so could result in exhausting
87368         virtual memory.  Based in part on a patch from Mike Jetzer.
87369
87370 2003-08-14  Jim Meyering  <jim@meyering.net>
87371         and Paul Eggert  <eggert@twinsun.com>
87372
87373         Merges from coreutils, plus other fixes.
87374         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87375         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87376         for credits and details.  Thanks to Kaveh Ghazi for helping
87377         to keep these files in sync.
87378         (ARRAY_SIZE): Define it.
87379         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87380         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87381         (memcasecmp): Don't assume size_t fits in unsigned int.
87382         Remove casts and duplicate code.
87383         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87384         (memcpy): Remove definition.
87385         Merge in some clean-up and optimization changes from glibc.
87386         [BLOCKSIZE]: Move definition to top of file.
87387         Ensure that it is a multiple of 64.
87388         Rearrange loop exit tests so as to avoid performing an
87389         additional fread after encountering an error or EOF.
87390         * lib/md5.h (md5_uintptr): Define.
87391         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87392         return to the initial working directory.  Preserve errno
87393         for caller.
87394         * lib/idcache.c: Include "xalloc.h".
87395         (xmalloc, xrealloc): Remove decls.
87396         (getuser): Remove casts no longer required in C89.
87397         * lib/human.c: Include stdio.h, for sprintf.
87398         * lib/group-member.c: Include "xalloc.h".
87399         (xmalloc, xrealloc): Remove decls.
87400         (get_group_info): Remove casts no longer required in C89.
87401         * lib/getusershell.c (readname): Remove casts no longer required in
87402         C89.
87403         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87404         * lib/getline.c: Whitespace fix, from coreutils.
87405
87406 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87407
87408         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87409         Check for isascii.
87410
87411         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87412         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87413         Undo previous (whitespace-only) change.
87414
87415 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87416
87417         * lib/exclude.c: Include <ctype.h>
87418         (IN_CTYPE_DOMAIN): New macro.
87419         (is_space): New fn.
87420         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87421         and empty lines.
87422
87423         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87424         Undo previous (whitespace-only) change.
87425
87426 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87427
87428         * config/srclist-update: Change update back to the old behavior,
87429         leaving whitespace alone.  Use one 'sed' command rather than a
87430         pipeline.
87431         (fixlicense): Now a variable, not a function.
87432         (remove_trailing_blanks): Remove.
87433         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87434         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87435         Undo previous (whitespace-only) change.
87436
87437 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87438
87439         Merge from coreutils.
87440         * modules/euidaccess: Add lib_SOURCES, include for new
87441         file euidaccess.h
87442
87443 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87444
87445         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87446         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87447         Normalize leading white space and remove trailing white space.
87448
87449         Merge from coreutils
87450         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87451
87452         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87453         0.12.1.  These files are now being upgraded automatically by
87454         ../config/srclist-update.
87455
87456 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87457
87458         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87459         Normalize leading white space and remove trailing white space.
87460         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87461         notice, as per ../config/srclist-update.
87462
87463         Merge from coreutils.
87464         * lib/euidaccess.h: New file.
87465         * lib/euidaccess.c: Include it.
87466         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87467         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87468         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87469
87470 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87471
87472         * config/srclist-update: Add copyright notice.
87473         (remove_id_lines, remove_trailing_blanks): New constants.
87474         (fixfile): Use them to normalize spacing a bit in copied files.
87475         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87476         Normalize leading white space and remove trailing white space.
87477
87478         * config/texinfo.tex: Sync with texinfo.
87479
87480         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87481         strtoul.c from libc, to merge coreutils whitespace changes.
87482
87483         * config/srclist.txt: Get the following m4 files from gettext:
87484         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87485         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87486         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87487         wint_t.m4.
87488
87489 2003-08-12  Karl Berry  <karl@gnu.org>
87490
87491         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87492         been made.
87493
87494 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87495
87496         * modules/gnu-source, m4/gnu-source.m4:
87497         Remove; we're assuming Autoconf 2.54 or later now.
87498         Suggested by Bruno Haible.
87499         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87500
87501 2003-08-11  Bruno Haible  <bruno@clisp.org>
87502
87503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87504
87505 2003-08-11  Bruno Haible  <bruno@clisp.org>
87506
87507         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87508         (vasnprintf): Use it instead of wcslen.
87509
87510 2003-08-11  Bruno Haible  <bruno@clisp.org>
87511
87512         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87513         value to ensure that _Bool promotes to int. Use #define for _Bool when
87514         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87515
87516 2003-08-10  Karl Berry  <karl@gnu.org>
87517
87518         * lib/regex.h: update from libc (whitespace fix).
87519
87520 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87521
87522         Merge some files from coreutils.  These changes were
87523         originally made by Jim Meyering.
87524         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87525         many older Unixes require this.
87526         * lib/alloca.c (alloca): Remove cast to argument of free;
87527         no longer needed in C89.
87528         * lib/alloca_.h, regex.h: Fix white space to match
87529         what GNU indent does.
87530
87531 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87532
87533         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87534         apparently Emacs's Unicode mode got confused before my 2003-08-05
87535         checkin.
87536
87537 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87538
87539         * m4/extensions.m4: New file.
87540         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87541         Require gl_USE_SYSTEM_EXTENSIONS.
87542         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87543         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87544
87545 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87546
87547         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87548         * modules/extensions, modules/gnu-source: New files.
87549         * modules/timespec, modules/unlocked-io: Depend on extensions.
87550
87551 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87552
87553         * modules/restrict: New file.
87554         * MODULES.html.sh (func_all_modules): Add restrict.
87555         * modules/regex: Depend on restrict.
87556
87557 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87558
87559         * m4/restrict.m4: New file.
87560         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87561
87562 2003-08-07  Bruno Haible  <bruno@clisp.org>
87563
87564         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87565         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87566
87567 2003-08-07  Bruno Haible  <bruno@clisp.org>
87568
87569         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87570         makes the module 'getndelim2' compatible with the module 'getline'.
87571
87572 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87573
87574         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87575         byte with "\201" to avoid glitches when editing that source file
87576         with multi-gnome-terminal.
87577
87578 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87579
87580         * lib/bumpalloc.h: Remove.
87581
87582 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87583
87584         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87585         * modules/bumpalloc: Remove.
87586
87587 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87588
87589         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87590         GNU coding style.
87591
87592         Merge from coreutils.
87593         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87594         1. From glibc.
87595         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87596         from Karl Berry, implemented by Jim Meyering.
87597         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87598         from Dmitry V. Levin.
87599         Remove anachronistic cast of xrealloc.
87600         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87601         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87602         type. Otherwise, it wouldn't compile with at least /bin/cc on
87603         ymp-cray-unicos9.0.2.X.
87604         Combine two mostly-identical uses of alloca into one.
87605         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87606
87607 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87608
87609         [From Emacs.]
87610
87611         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87612         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87613         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87614         obsolete NLIST_NAME_UNION.
87615         [__GNU__]: Undef BSD and FSCALE.
87616         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87617
87618 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87619
87620         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87621         an enum type, so that it's guaranteed to promote to int.  See:
87622         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87623
87624 2003-08-03  Karl Berry  <karl@gnu.org>
87625
87626         * config/depcomp: update from automake.
87627
87628 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87629
87630         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87631         (strerror): Don't assume that a printable int fits in 14 bytes.
87632
87633 2003-07-31  Bruno Haible  <bruno@clisp.org>
87634
87635         * modules/getpass-gnu: New file.
87636         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87637
87638 2003-07-31  Bruno Haible  <bruno@clisp.org>
87639
87640         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87641
87642 2003-07-24  Karl Berry  <karl@gnu.org>
87643
87644         * config/missing: update from automake.
87645
87646 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87647             Bruno Haible  <bruno@clisp.org>
87648
87649         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87650         * lib/getline.c (getline, getdelim): Likewise.
87651         Remove _GNU_SOURCE define; now it's defined in config.h through
87652         m4/getline.m4.
87653
87654 2003-07-23  Karl Berry  <karl@gnu.org>
87655
87656         * config/config.sub: update from prep.
87657
87658 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87659
87660         * modules/xalloc (Depends-on): Add exitfail.
87661         * modules/xmemcoll: Likewise.
87662
87663 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87664
87665         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87666         over-parenthesization in macros.
87667
87668         Sync with coreutils.
87669
87670         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87671         required by C99.
87672
87673         Use `exit_failure' for xalloc and xmemcoll instead of their own
87674         private exit-failure variables.
87675         * lib/xalloc.h (xalloc_exit_failure): Remove.
87676         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87677         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87678         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87679         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87680         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87681
87682 2003-07-20  Jim Meyering  <jim@meyering.net>
87683
87684         * modules/closeout (Depends-on): Add exitfail.
87685         Suggestion from Bruno Haible.
87686
87687 2003-07-19  Karl Berry  <karl@gnu.org>
87688
87689         * config/config.sub: update from prep.
87690
87691 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87692
87693         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87694         Remove.
87695         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87696         to test that it can stand by itself.  Include "exitfail.h".
87697         Clients should set exit_failure instead.
87698         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87699
87700 2003-07-18  Bruno Haible  <bruno@clisp.org>
87701
87702         * modules/getndelim2: New file.
87703         * modules/getline: Share files with module getndelim2.
87704         * modules/getnline: Depend on getndelim2 instead of sharing files with
87705         it. Add getnline.c to lib_SOURCES.
87706         * MODULES.html.sh (func_all_modules): Add getndelim2.
87707
87708 2003-07-18  Bruno Haible  <bruno@clisp.org>
87709
87710         * m4/getndelim2.m4: New file.
87711         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87712         invoke gl_PREREQ_GETNDELIM2.
87713         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87714         gl_PREREQ_GETNDELIM2.
87715         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87716         gl_GETNDELIM2.
87717
87718 2003-07-18  Bruno Haible  <bruno@clisp.org>
87719
87720         * lib/getndelim2.h: New file.
87721         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87722         getndelim2.h.
87723         (getndelim2): Make non-static. Change return type to ssize_t.
87724         * lib/getline.h: Change argument names.
87725         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87726         * lib/getnline.c: Include getndelim2.h.
87727
87728 2003-07-18  Andreas Schwab  <schwab@suse.de>
87729
87730         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87731
87732 2003-07-17  Karl Berry  <karl@gnu.org>
87733
87734         * config/config.sub: update from prep.
87735
87736 2003-07-17  Bruno Haible  <bruno@clisp.org>
87737
87738         * modules/getnline: New file.
87739         * modules/getline: Add lib/getndelim2.c to source file list.
87740         * MODULES.html.sh (func_all_modules): Add getnline.
87741
87742 2003-07-17  Bruno Haible  <bruno@clisp.org>
87743
87744         * m4/getnline.m4: New file.
87745
87746 2003-07-17  Bruno Haible  <bruno@clisp.org>
87747
87748         * m4/Makefile.am.in: Remove file.
87749         * m4/Makefile.am: Remove file.
87750         * m4/Makefile.in: Remove file.
87751
87752 2003-07-17  Bruno Haible  <bruno@clisp.org>
87753
87754         * lib/getnline.h: New file.
87755         * lib/getnline.c: New file.
87756         * lib/getndelim2.c: New file, extracted from getline.c.
87757         (getndelim2): Renamed from getdelim2, with added nmax argument.
87758         * lib/getline.c: Include getndelim2.c.
87759         (getdelim2): Moved out to getndelim2.c.
87760         (getline, getdelim): Update.
87761
87762 2003-07-17  Bruno Haible  <bruno@clisp.org>
87763
87764         * lib/Makefile.am: Remove file.
87765         * lib/Makefile.in: Remove file.
87766
87767 2003-07-17  Bruno Haible  <bruno@clisp.org>
87768
87769         * configure.in: Remove file.
87770         * Makefile.in: Remove file.
87771
87772 2003-07-17  Bruno Haible  <bruno@clisp.org>
87773
87774         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87775
87776 2003-07-16  Karl Berry  <karl@gnu.org>
87777
87778         * config/srclist-update: was running fixlicense twice, which caused
87779                 texinfo.tex to be nullified for some reason.  Simplify,
87780                 $gplsrc is no longer needed as far as I can see?
87781
87782 2003-07-16  Jim Meyering  <jim@meyering.net>
87783
87784         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87785
87786 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87787
87788         * config/srclist.txt: Get the following files from gettext-runtime/intl
87789         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87790         ref-del.sin.  From Bruno Haible.
87791         * config/srclist-update (fixfile): Change grep pattern again, since the
87792         previous fix didn't work (there was another trailing $).  Use
87793         '[$]' to escape the $s.
87794
87795 2003-07-15  Karl Berry  <karl@gnu.org>
87796
87797         * lib/vasnprintf.c: update from gettext.
87798
87799 2003-07-15  Karl Berry  <karl@gnu.org>
87800
87801         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87802         gets expanded when surrounded by '$'.
87803
87804 2003-07-15  Jim Meyering  <jim@meyering.net>
87805
87806         * modules/save-cwd: Don't depend on error.  From Derek Price.
87807
87808 2003-07-15  Jim Meyering  <jim@meyering.net>
87809
87810         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87811
87812 2003-07-14  Simon Josefsson  <jas@extundo.com>
87813
87814         * modules/mempcpy: New file.
87815         * MODULES.html.sh (func_all_modules): Add mempcpy.
87816
87817 2003-07-14  Simon Josefsson  <jas@extundo.com>
87818
87819         * m4/mempcpy.m4: New file.
87820
87821 2003-07-14  Simon Josefsson  <jas@extundo.com>
87822
87823         * lib/mempcpy.h: New file.
87824         * lib/mempcpy.c: New file.
87825
87826 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87827
87828         * modules/getdate, modules/posixtm: Depend on mktime.
87829
87830 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87831
87832         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87833         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87834         unicodeio.c, unicodeio.h, unlocked-io.h:
87835         Switch from LGPL to GPL.
87836
87837 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87838
87839         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87840         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87841         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87842         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87843         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87844         updated automatically by ../config/srclist-update.  This changes
87845         their license from LPGL to GPL.
87846
87847 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87848
87849         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87850         assumed to refer to the root of the most recent stable gettext version.
87851         * config/srclistvars.sh: Add defaults for eggert.
87852         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87853         Match "This program" as well as "The program".  This is needed
87854         for gettext.
87855
87856 2003-07-14  Jim Meyering  <jim@meyering.net>
87857
87858         Don't emit diagnostics.  Let callers do that.
87859         * lib/save-cwd.c: Don't include "error.h".
87860         (save_cwd): Don't call error.  Ensure that errno is valid
87861         when returning nonzero.
87862
87863         * lib/save-cwd.h (restore_cwd): Update prototype.
87864         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87865         Simplify.  Don't call error upon failure.  Let callers do that.
87866         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87867         when auditing is enabled.  But don't bother updating the #if.
87868
87869 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87870
87871         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87872         it breaks C++ compilation.
87873         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87874
87875 2003-07-10  Simon Josefsson  <jas@extundo.com>
87876
87877         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87878
87879 2003-07-10  Jim Meyering  <jim@meyering.net>
87880
87881         * m4/clock_time.m4: Remove trailing blank.
87882         * m4/intmax_t.m4: Likewise.
87883
87884 2003-07-10  Jim Meyering  <jim@meyering.net>
87885
87886         * lib/vasnprintf.c: Remove trailing blanks.
87887         Make cpp indentation consistent.
87888
87889 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87890
87891         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87892         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87893         Switch from LGPL to GPL.
87894
87895 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87896
87897         * config/srclist.txt: Sort sublists.  Add
87898         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87899         that differ from gnulib for one reason or another; we'd like this list
87900         to be smaller but for now let's document what we have.
87901
87902 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87903
87904         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87905         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87906         and sweeter "eval x=$x".
87907         * config/srclist.txt: Get lib/argp* from glibc.
87908
87909 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87910
87911         * lib/mktime.c: Fix some boundary cases and remove need for floating
87912         point.
87913
87914         Issue a compile-time diagnostic if time_t is floating point, or if
87915         two's complement arithmetic is not in effect, or if arithmetic
87916         right shift does not propagate the sign.  These assumptions were
87917         all in the original code but they weren't checked.
87918
87919         (TIME_T_MIDPOINT, verify): New macros.
87920         (__isleap): Remove; it has integer overflow problems.
87921         (leapyear): New function, without those problems.
87922         (ydhms_tm_diff): Remove; splitting into two parts.
87923         (ydhms_diff): New function, containing the arithmetic part of
87924         the old ydhms_tm_diff function.  Issue a compile-time
87925         diagnostic if we are not using C99 integer division.
87926         Avoid casts when possible.
87927         (guess_time_tm): New function, containing the checking part of
87928         the old ydhms_tm_diff function.  Return the new value, rather than
87929         the difference between it and the old.  Accept a new argument T
87930         so that *T specifies the old value.  Check for overflow in the result.
87931
87932         (__mktime_internal): Use a time_t offset, not a long int offset.
87933         This undoes the 2003-06-04 change, which is no longer needed now
87934         that we have better overflow checking.
87935         (localtime_offset): Likewise.
87936
87937         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87938         and long are 64-bit but int is only 32-bit.
87939         (ydhms_diff): Use long int to store year1 and yday1.
87940         Issue a compile-time diagnostic if long int is not wide enough.
87941
87942         (__mktime_internal): Use long int to store adjusted year and yday.
87943         Use plain C rather than preprocessor commands, if that doesn't
87944         affect efficiency.
87945         Check for overflow (and try to repair) after each probe
87946         rather than checking only at the very end.  This avoids some bugs
87947         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87948         does not equal GMT offset at maximum time).
87949         Use integer to check for overflow rather than floating point; this
87950         is more portable to non-IEEE hosts, and is a tad faster.
87951         When we detect that we are oscillating between two values,
87952         don't check whether tm_isdst has the requested value, since
87953         we already know the answer.  When tm_isdst has the wrong value,
87954         use a different heuristic to find the right one, based on the
87955         extreme values actually observed in practice in tz2003a,
87956         rather than the (overly optimistic) "previous 3 calendar quarters".
87957
87958         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87959         "T const" to accommodate glibc style.
87960         (check_result): Use less-confusing report format.  "long" -> "long int.
87961         (main): Likewise.
87962         Don't loop if the iteration overflows time_t.
87963         Allow a negative step in the iteration.
87964
87965 2003-07-06  Karl Berry  <karl@gnu.org>
87966
87967         * config/depcomp: update from automake.
87968         * config/config.sub: update from prep.
87969
87970 2003-07-03  Karl Berry  <karl@gnu.org>
87971
87972         * config/config.guess: update from prep.
87973
87974 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87975
87976         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87977         xreadlink.c now includes it unconditionally.
87978
87979 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87980
87981         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87982         having it depend on HAVE_SYS_TYPES_H.
87983
87984 2003-07-01  Bruno Haible  <bruno@clisp.org>
87985
87986         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87987         <sys/types.h> should be sufficient.
87988         Reported by Paul Eggert.
87989
87990 2003-06-26  Karl Berry  <karl@gnu.org>
87991
87992         * config/depcomp: update from automake.
87993
87994 2003-06-26  Bruno Haible  <bruno@clisp.org>
87995
87996         * modules/human: Depend on module stdbool.
87997
87998 2003-06-25  Bruno Haible  <bruno@clisp.org>
87999
88000         * modules/readlink: New file.
88001         * modules/xreadlink: Depend on it.
88002         * MODULES.html.sh (func_all_modules): Add readlink.
88003
88004 2003-06-25  Bruno Haible  <bruno@clisp.org>
88005
88006         * m4/readlink.m4: New file.
88007
88008 2003-06-25  Bruno Haible  <bruno@clisp.org>
88009
88010         * lib/readlink.c: New file.
88011
88012 2003-06-22  Karl Berry  <karl@gnu.org>
88013
88014         * config/srclist.txt: update mkinstalldirs from automake.
88015         * config/mkinstalldirs: update.
88016
88017 2003-06-22  Bruno Haible  <bruno@clisp.org>
88018
88019         Portability to mingw32.
88020         * m4/ssize_t.m4: New file, from GNU gettext.
88021         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
88022         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
88023
88024 2003-06-22  Bruno Haible  <bruno@clisp.org>
88025
88026         * modules/safe-read: Add m4/ssize_t.m4.
88027         * modules/xreadlink: Add m4/ssize_t.m4.
88028
88029 2003-06-20  Bruno Haible  <bruno@clisp.org>
88030
88031         Assume C89, so PARAMS isn't needed.
88032         * lib/unicodeio.h (PARAMS): Remove.
88033         * lib/unicodeio.c: Don't use PARAMS.
88034
88035 2003-06-18  Karl Berry  <karl@gnu.org>
88036
88037         * config/config.{guess,sub}: update from prep.
88038
88039 2003-06-18  Jim Meyering  <jim@meyering.net>
88040
88041         Merge changes from coreutils.
88042         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
88043         Remove explicit declarations of xmalloc and realloc.
88044         Include xalloc.h.
88045         (read_utmp): Remove anachronistic cast of xmalloc.
88046
88047 2003-06-17  Paul Eggert  <eggert@twinsun.com>
88048
88049         Assume C89, so PARAMS isn't needed.
88050         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
88051         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
88052         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
88053         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
88054         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
88055         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
88056         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
88057         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
88058         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
88059         lib/xstrtod.h, lib/xstrtol.h: Likewise.
88060         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
88061         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
88062         no longer needed. Anyway, config.h should always be included before any
88063         other file.
88064
88065 2003-06-11  Simon Josefsson  <jas@extundo.com>
88066
88067         * modules/sysexits: New file.
88068         * MODULES.html.sh (func_all_modules): Add sysexits.
88069
88070 2003-06-11  Simon Josefsson  <jas@extundo.com>
88071
88072         * lib/sysexit_.h: New file.
88073
88074 2003-06-11  Derek Price  <derek@ximbiot.com>
88075
88076         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
88077         necessary.
88078
88079 2003-06-11  Bruno Haible  <bruno@clisp.org>
88080
88081         * m4/sysexits.m4: New file.
88082
88083 2003-06-10  Simon Josefsson  <jas@extundo.com>
88084
88085         * lib/argp.h: New file, from glibc.
88086         * lib/argp-ba.c: New file, from glibc.
88087         * lib/argp-eexst.c: New file, from glibc.
88088         * lib/argp-fmtstream.c: New file, from glibc.
88089         * lib/argp-fmtstream.h: New file, from glibc.
88090         * lib/argp-fs-xinl.c: New file, from glibc.
88091         * lib/argp-help.c: New file, from glibc.
88092         * lib/argp-namefrob.h: New file, from glibc.
88093         * lib/argp-parse.c: New file, from glibc.
88094         * lib/argp-pv.c: New file, from glibc.
88095         * lib/argp-pvh.c: New file, from glibc.
88096         * lib/argp-xinl.c: New file, from glibc.
88097
88098 2003-06-10  Simon Josefsson  <jas@extundo.com>
88099
88100         * modules/strchrnul: New file.
88101
88102 2003-06-10  Simon Josefsson  <jas@extundo.com>
88103
88104         * modules/argp: New file.
88105
88106 2003-06-10  Simon Josefsson  <jas@extundo.com>
88107
88108         * m4/strchrnul.m4: New file.
88109
88110 2003-06-10  Simon Josefsson  <jas@extundo.com>
88111
88112         * lib/strchrnul.h: New file.
88113         * lib/strchrnul.c: New file.
88114
88115 2003-06-10  Bruno Haible  <bruno@clisp.org>
88116
88117         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
88118
88119 2003-06-07  Karl Berry  <karl@gnu.org>
88120
88121         * config/config.{guess,sub}: update from prep.
88122
88123 2003-06-07  Jim Meyering  <jim@meyering.net>
88124
88125         * modules/strtod: Use $(...) notation, not @...@ for
88126         AC_REPLACE'd variables.
88127         * modules/localcharset: Likewise.
88128
88129 2003-06-07  Jim Meyering  <jim@meyering.net>
88130
88131         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
88132         in place of my name in the copyright comment.
88133         Remove definition and uses of __P.
88134
88135         From coreutils.
88136         * lib/stat.c: Don't declare xmalloc explicitly.
88137         Instead, include "xalloc.h".
88138         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
88139         xrealloc, and xcalloc return values.
88140         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
88141         Improve comment.
88142         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
88143
88144 2003-06-07  Bruno Haible  <bruno@clisp.org>
88145
88146         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
88147         avoid AC_CONFIG_LINKS.
88148         * modules/fnmatch (Makefile.am): Use explicit creation rule for
88149         fnmatch.h, to avoid AC_CONFIG_LINKS.
88150         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
88151
88152 2003-06-07  Bruno Haible  <bruno@clisp.org>
88153
88154         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
88155         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
88156         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88157         directory.
88158         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
88159         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88160         directory.
88161
88162 2003-06-06  Jim Meyering  <jim@meyering.net>
88163
88164         Merge from coreutils.
88165         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
88166         Consolidate declarations and initializations of *_base* locals.
88167
88168         Merge from coreutils.
88169         This avoids a core dump on systems without GNU putenv,
88170         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
88171         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
88172         (unsetenv): New static function, from GNU libc.
88173         (rpl_putenv): Use it.
88174
88175         * lib/modechange.c: Remove trailing blanks.
88176
88177         Merge from coreutils.
88178         * lib/fsusage.c: Remove declaration of statfs.
88179         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
88180
88181         * lib/posixtm.c: Include <stdbool.h> unconditionally.
88182
88183 2003-06-06  Jim Meyering  <jim@meyering.net>
88184
88185         * lib/stdbool_.h: Renamed from stdbool.h.in.
88186
88187 2003-06-06  Jim Meyering  <jim@meyering.net>
88188             Bruno Haible  <bruno@clisp.org>
88189
88190         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
88191         Adjust Makefile.am snippet not to redirect directly to target.
88192         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
88193
88194 2003-06-05  Paul Eggert  <eggert@twinsun.com>
88195
88196         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
88197         mismatch, look in future quarters as well as past.  This fixes a
88198         bug when processing fall-backwards gaps immediately after a long
88199         period of daylight-saving time.
88200
88201         * lib/mktime.c: Assume freestanding C89 or better.
88202         (HAVE_LIMITS_H): Remove.  Assume it's 1.
88203         (__P): Remove; not used.
88204         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
88205         (mktime, not_equal_tm, print_tm, check_result,
88206         main): Use prototypes.  Use const * where appropriate.
88207         (main): Fix typo in testing code that uncovered by above changes.
88208         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
88209
88210 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88211
88212         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
88213         locale.h, localeconv.  This merges changes from coreutils.
88214
88215         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
88216         It can be removed after the next Autoconf is released.
88217         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
88218         needed.
88219
88220 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88221
88222         * lib/mktime.c: Fix Debian bug 177940
88223         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
88224         (localtime_offset): Now long int, not time_t, because we want it
88225         to be guaranteed to be signed.  All uses changed.
88226         (__mktime_internal): If overflow would occur when adding offset,
88227         don't add it.
88228
88229         Merge 'human' changes from coreutils.  Rewrite to support
88230         locale-specific notations like thousands separators.
88231         * lib/human.c: Simplify authorship notice.
88232         Include human.h immediately after config.h.
88233         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
88234         <limits.h>: Do not include, since human.h does.
88235         (SIZE_MAX, UINTMAX_MAX): New macros.
88236         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88237         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88238         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88239         (power_letter): Renamed from suffixes.
88240         (generate_suffix_backwards): Remove.
88241         (adjust_value): Now takes int style (because of human.h changes)
88242         and long double value (for greater precision on some platforms).
88243         (group_number): New function.
88244         (human_readable): Use it.  Use integer options, not enum.
88245         Put the options before the sizes in the arg list.
88246         Support all the new options.
88247         The old human_readable function has been removed;
88248         use inttostr.h instead.
88249         (human_readable, default_block_size, humblock):
88250         Use uintmax_t, not int, for block sizes.
88251         (human_readable_inexact, block_size_types): Remove.
88252         (block_size_opts): New constant.
88253         (human_options): Renamed from human_block_size, with new signature
88254         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88255         * lib/human.h: Add copyright and authorship notice.
88256         Include <limits.h> and <stdbool.h> unconditionally.
88257         (PARAMS): Remove.  All uses removed.
88258         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88259         (enum human_inexact_style): Remove tag; now a nameless enum.
88260         (human_floor, human_ceiling, human_round_to_even): Now have
88261         values 2, 0, 1 rather than -1, 1, 0.
88262         (human_group_digits, human_suppress_point_zero, human_autoscale,
88263         human_base_1024, human_SI, human_B): New constants.
88264         (human_readable_inexact, human_block_size): Remove.
88265         (human_readable): Size args are now uintmax_t, not int.
88266         (human_options): New decl.
88267
88268         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88269         unnecessary now that we assume C89 or better.  This change
88270         imported from coreutils.
88271
88272         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88273         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88274         in the 2003-05-30 sync from glibc.
88275
88276         .h files should stand alone, but we shouldn't include <sys/types.h>
88277         if we can get away with just <stddef.h>.
88278
88279         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88280         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88281         rather than <sys/types.h>, as we merely need size_t.
88282         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88283         to get size_t.
88284         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88285         Include <stdio.h>, to get FILE.
88286         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88287         memcasecmp.h has included <stddef.h> and all we need is size_t.
88288         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88289         our interface, instead of including <sys/types.h>
88290
88291 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88292
88293         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88294         now, as glibc mktime is buggy on non-glibc systems.
88295
88296 2003-06-03  Karl Berry  <karl@gnu.org>
88297
88298         * config/config.sub: update from prep.
88299
88300 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88301
88302         [from coreutils]
88303         Fix some minor time-related bugs with POSIX time arguments.
88304         Some valid time stamps were being rejected (notably -1, and
88305         time stamps before 1900 on 64-bit hosts).  And some invalid
88306         time stamps were being accepted, e.g. September 31.
88307
88308         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88309         that we can return (time_t) -1 successfully.
88310         * lib/posixtm.c: Likewise.
88311         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88312         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88313         (t): Remove static var.
88314         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88315         of static var.  All uses changed.
88316         (year): Do not reject years before 1900; they can occur with
88317         64-bit time_t.
88318         (posix_time_parse): Do not check for out-of-range components;
88319         that is now the caller's responsibility, since our checks were
88320         only approximations.
88321         (posixtime): Use mktime to check for out-of-range components,
88322         since it knows them exactly.
88323         If mktime returns (time_t) -1, check whether an error actually occurred
88324         by invoking localtime on -1.
88325         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88326         posixtime failures better.
88327         Improve the test data (in comments only).
88328
88329 2003-06-02  Karl Berry  <karl@gnu.org>
88330
88331         * config/mkinstalldirs (version): new variable.
88332         (--version): new option.
88333         (usage): improve message.
88334
88335 2003-05-30  Karl Berry  <karl@gnu.org>
88336
88337         * lib/mktime.c: update from libc.
88338
88339 2003-05-30  Bruno Haible  <bruno@clisp.org>
88340
88341         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
88342         * config/config.rpath: Upgrade to gettext-0.12.1.
88343
88344 2003-05-30  Bruno Haible  <bruno@clisp.org>
88345
88346         * m4/gettext.m4: Upgrade to gettext-0.12.1.
88347         * m4/nls.m4: New file, from gettext-0.12.1.
88348         * m4/po.m4: New file, from gettext-0.12.1.
88349         * m4/progtest.m4: Upgrade to gettext-0.12.1.
88350
88351 2003-05-30  Bruno Haible  <bruno@clisp.org>
88352
88353         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88354         * lib/localcharset.h: Likewise.
88355         * lib/localcharset.c: Likewise.
88356
88357 2003-05-29  Karl Berry  <karl@gnu.org>
88358
88359         * config/config.rpath: update from gettext.
88360
88361 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88362
88363         Assume the headers required for C89 freestanding compilers.
88364         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88365         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88366         * m4/human.m4 (gl_HUMAN): Likewise.
88367         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88368         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88369         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88370         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88371         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88372         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88373
88374 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88375
88376         Assume the headers required for C89 freestanding compilers.
88377         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88378         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88379         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88380         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88381         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88382         define, since <limits.h> is guaranteed to do that.
88383         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88384         * lib/exclude.c: Include <stdbool.h> unconditionally.
88385         * lib/tempname.c: Include <stddef.h> unconditionally.
88386         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88387         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88388         <stddef.h> does that.
88389         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88390         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88391         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88392         needed.
88393         * lib/xstrtol.c: Likewise.
88394         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88395         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88396
88397         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88398         warnings on some platforms.
88399
88400         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88401         arbitrarily.
88402
88403 2003-05-26  Jim Meyering  <jim@meyering.net>
88404
88405         Merge in a change from coreutils:
88406         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88407         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88408         that condition, rather than `-1' which is slightly misleading.
88409         Change the name of the cache variable to have the gl_ prefix.
88410         Prompted by a patch from Richard Dawe for DJGPP.
88411
88412 2003-05-24  Karl Berry  <karl@gnu.org>
88413
88414         * config/config.guess: update from prep.
88415
88416 2003-05-22  Karl Berry  <karl@gnu.org>
88417
88418         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88419
88420 2003-05-20  Karl Berry  <karl@gnu.org>
88421
88422         * config/config.guess: update from prep.
88423
88424 2003-05-18  Karl Berry  <karl@gnu.org>
88425
88426         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88427         might actually be set by the user.
88428
88429         * config/depcomp, install-sh, mdate-sh: update from automake.
88430
88431 2003-05-17  Bruno Haible  <bruno@clisp.org>
88432
88433         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88434         invalid expansion for AC_EGREP_CPP.
88435         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88436         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88437         Suggested by Akim Demaille <akim@epita.fr> in
88438         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88439
88440 2003-05-12  Jim Meyering  <jim@meyering.net>
88441
88442         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88443         the space-padded-by-default conversion specifiers, %e, %k, %l.
88444
88445 2003-05-12  Bruno Haible  <bruno@clisp.org>
88446
88447         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88448         the string is longer than 4 KB.
88449
88450 2003-05-11  Karl Berry  <karl@gnu.org>
88451
88452         * config/config.{guess,sub}: update from prep.
88453
88454 2003-05-09  Bruno Haible  <bruno@clisp.org>
88455
88456         * modules/error: Add m4/strerror_r.m4 to file list.
88457
88458 2003-05-03  Bruno Haible  <bruno@clisp.org>
88459
88460         Upgrade to Unicode-4.0.
88461         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88462         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88463         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88464         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88465         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88466         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88467         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88468         Change width of U+E0100..U+E01EF from 1 to 0.
88469
88470 2003-04-25  Jim Meyering  <jim@meyering.net>
88471
88472         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88473         of type size_t, not int.
88474
88475 2003-04-25  Bruno Haible  <bruno@clisp.org>
88476
88477         * lib/copy-file.c: Include <stddef.h>, for size_t.
88478
88479 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88480
88481         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88482         code which expansion is under static control.  Patch imported from
88483         Akim Demaille's patch to Bison; see
88484         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88485
88486 2003-04-14  Bruno Haible  <bruno@clisp.org>
88487
88488         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88489
88490 2003-04-11  Jim Meyering  <jim@meyering.net>
88491
88492         Merge changes from Coreutils.
88493
88494         2003-03-22  Jim Meyering  <jim@meyering.net>
88495
88496         * lib/strftime.c (widen): Cast alloca return value to proper type.
88497
88498         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88499
88500         From GNU libc.
88501         * lib/strftime.c (my_strftime): Handle very large width
88502         specifications for numeric values correctly.  Improve checks for
88503         overflow.
88504
88505         2003-01-19  Jim Meyering  <jim@meyering.net>
88506
88507         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88508         definitions.
88509         (nl_get_alt_digit) [! defined my_strftime]: Define.
88510         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88511         _nl_get_alt_digit and _nl_get_walt_digit.
88512
88513         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88514         libc. These changes have no effect outside of _LIBC.
88515
88516 2003-04-10  Bruno Haible  <bruno@clisp.org>
88517
88518         * modules/findprog: New file.
88519         * MODULES.html.sh (func_all_modules): Add it.
88520
88521 2003-04-10  Bruno Haible  <bruno@clisp.org>
88522
88523         * m4/findprog.m4: New file.
88524         * m4/eaccess.m4: New file.
88525
88526 2003-04-10  Bruno Haible  <bruno@clisp.org>
88527
88528         * lib/findprog.h: New file, from GNU gettext.
88529         * lib/findprog.c: New file, from GNU gettext.
88530
88531 2003-04-05  Jim Meyering  <jim@meyering.net>
88532
88533         Merge changes from Coreutils.
88534
88535         * lib/exclude.h (PARAMS): Remove definition and uses.
88536         * lib/exclude.c: Remove uses of `PARAMS'.
88537
88538         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88539         Add test-cases for DOS filenames. Declare program_name.
88540         (main): Set up program_name.  Patch by Rich Dawe.
88541
88542         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88543         error from mntctl.
88544         Use mntctl's return value to drive the entry-processing loop, since
88545         we can't rely on the value of the vmt_length member in the last
88546         entry.  On some systems doing so could result in exhausting
88547         virtual memory.  Based in part on a patch from Mike Jetzer.
88548
88549 2003-04-04  Bruno Haible  <bruno@clisp.org>
88550
88551         * modules/linebreak: New file.
88552         * MODULES.html.sh (func_all_modules): Add it.
88553
88554 2003-04-04  Bruno Haible  <bruno@clisp.org>
88555
88556         * m4/linebreak.m4: New file.
88557
88558 2003-04-04  Bruno Haible  <bruno@clisp.org>
88559
88560         * lib/linebreak.h: New file, from GNU gettext.
88561         * lib/linebreak.c: New file, from GNU gettext with slight
88562         modifications.
88563         * lib/lbrkprop.h: New file, from GNU gettext.
88564
88565 2003-04-03  Bruno Haible  <bruno@clisp.org>
88566
88567         * modules/utf8-ucs4: New file.
88568         * modules/utf16-ucs4: New file.
88569         * modules/ucs4-utf8: New file.
88570         * modules/ucs4-utf16: New file.
88571         * MODULES.html.sh (func_all_modules): Add them.
88572
88573 2003-04-03  Bruno Haible  <bruno@clisp.org>
88574
88575         * m4/utf-ucs4.m4: New file.
88576         * m4/ucs4-utf.m4: New file.
88577
88578 2003-04-03  Bruno Haible  <bruno@clisp.org>
88579
88580         * lib/utf8-ucs4.h: New file, from GNU gettext.
88581         * lib/utf16-ucs4.h: New file, from GNU gettext.
88582         * lib/ucs4-utf8.h: New file, from GNU gettext.
88583         * lib/ucs4-utf16.h: New file, from GNU gettext.
88584
88585 2003-04-02  Bruno Haible  <bruno@clisp.org>
88586
88587         * modules/binary-io: New file.
88588         * MODULES.html.sh (func_all_modules): Add it.
88589
88590 2003-04-02  Bruno Haible  <bruno@clisp.org>
88591
88592         * lib/binary-io.h: New file, from GNU gettext.
88593
88594 2003-04-01  Bruno Haible  <bruno@clisp.org>
88595
88596         * modules/pathname: New file.
88597         * MODULES.html.sh (func_all_modules): Add it.
88598
88599 2003-04-01  Bruno Haible  <bruno@clisp.org>
88600
88601         * lib/pathname.h: New file, from GNU gettext.
88602         * lib/concatpath.c: New file, from GNU gettext.
88603
88604 2003-03-30  Bruno Haible  <bruno@clisp.org>
88605
88606         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88607
88608 2003-03-30  Bruno Haible  <bruno@clisp.org>
88609
88610         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88611         function chown() doesn't exist.
88612
88613 2003-03-28  Bruno Haible  <bruno@clisp.org>
88614
88615         * modules/copy-file: New file.
88616         * MODULES.html.sh (func_all_modules): Add it.
88617
88618 2003-03-28  Bruno Haible  <bruno@clisp.org>
88619
88620         * m4/copy-file.m4: New file.
88621
88622 2003-03-28  Bruno Haible  <bruno@clisp.org>
88623
88624         * lib/copy-file.h: New file, from GNU gettext.
88625         * lib/copy-file.c: New file, from GNU gettext.
88626
88627 2003-03-18  Jim Meyering  <jim@meyering.net>
88628
88629         * lib/quote.c (quote_n): Fix typo in comment.
88630
88631 2003-03-18  Bruno Haible  <bruno@clisp.org>
88632
88633         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88634         checking.
88635         * m4/onceonly_2_57.m4: Likewise.
88636
88637 2003-03-17  Bruno Haible  <bruno@clisp.org>
88638
88639         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88640         (m4_quote): Remove macro.
88641         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88642
88643 2003-03-14  Jim Meyering  <jim@meyering.net>
88644
88645         Merge changes from Coreutils.
88646         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88647         to be const, in order to avoid warnings.
88648         (obstack_room): Likewise.
88649         (obstack_empty_p): Likewise.
88650
88651 2003-03-14  Bruno Haible  <bruno@clisp.org>
88652
88653         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88654         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88655
88656 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88657
88658         Merge changes from Bison.
88659         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88660         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88661         when compiling Bison 1.875's `bitset bset = obstack_alloc
88662         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88663         * lib/hash.c: Include <stdbool.h> unconditionally.
88664
88665 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88666
88667         * m4/onceonly.m4 (m4_quote): New macro.
88668         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88669         Quote AC_FOREACH variable-expansions properly.
88670
88671 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88672
88673         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88674
88675 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88676
88677         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88678         Reported by Bruce Becker; see:
88679         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88680
88681 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88682             Bruno Haible  <bruno@clisp.org>
88683
88684         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88685         Reported by John Hughes, see
88686         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88687
88688 2003-02-20  Bruno Haible  <bruno@clisp.org>
88689
88690         * MODULES.html.sh (func_all_modules): Add poll.
88691
88692 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88693
88694         * modules/poll: New file.
88695
88696 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88697
88698         * lib/poll_.h: New file.
88699         * lib/poll.c: New file.
88700
88701 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88702
88703         * m4/poll.m4: New file.
88704
88705 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88706
88707         * modules/mathl: New file.
88708
88709 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88710
88711         * lib/mathl.h: New file.
88712         * lib/acosl.c: New file.
88713         * lib/asinl.c: New file.
88714         * lib/atanl.c: New file.
88715         * lib/ceill.c: New file.
88716         * lib/cosl.c: New file.
88717         * lib/expl.c: New file.
88718         * lib/floorl.c: New file.
88719         * lib/frexpl.c: New file.
88720         * lib/ldexpl.c: New file.
88721         * lib/logl.c: New file.
88722         * lib/sincosl.c: New file.
88723         * lib/sinl.c: New file.
88724         * lib/sqrtl.c: New file.
88725         * lib/tanl.c: New file.
88726         * lib/trigl.c: New file.
88727         * lib/trigl.h: New file.
88728
88729 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88730
88731         * m4/mathl.m4: New file.
88732
88733 2003-02-18  Bruno Haible  <bruno@clisp.org>
88734
88735         * MODULES.html.sh (func_all_modules): Add mathl.
88736
88737 2003-02-17  Bruno Haible  <bruno@clisp.org>
88738
88739         * modules/mkdtemp: New module.
88740         * MODULES.html.sh (func_all_modules): Add it.
88741
88742 2003-02-17  Bruno Haible  <bruno@clisp.org>
88743
88744         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88745
88746 2003-02-17  Bruno Haible  <bruno@clisp.org>
88747
88748         * lib/mkdtemp.h: New file, from GNU gettext.
88749         * lib/mkdtemp.c: New file, from GNU gettext.
88750
88751 2003-02-02  Jim Meyering  <jim@meyering.net>
88752
88753         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88754         e.g. glibc-2.2.93.
88755
88756 2003-01-31  Bruno Haible  <bruno@clisp.org>
88757
88758         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88759         'rpl_rename'.
88760         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88761         'rpl_strnlen'.
88762         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88763         'rpl_strtod'.
88764         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88765         'rpl_utime'.
88766
88767 2003-01-31  Bruno Haible  <bruno@clisp.org>
88768
88769         * lib/rename.c: #undef rename before defining rpl_rename.
88770         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88771
88772 2003-01-30  Bruno Haible  <bruno@clisp.org>
88773
88774         * modules/vasnprintf, modules/vasprintf: New modules.
88775         * MODULES.html.sh (func_all_modules): Add them.
88776
88777 2003-01-30  Bruno Haible  <bruno@clisp.org>
88778
88779         * m4/signed.m4: New file, from GNU gettext.
88780         * m4/longdouble.m4: New file, from GNU gettext.
88781         * m4/wchar_t.m4: New file, from GNU gettext.
88782         * m4/wint_t.m4: New file, from GNU gettext.
88783         * m4/vasnprintf.m4: New file.
88784         * m4/vasprintf.m4: New file.
88785
88786 2003-01-30  Bruno Haible  <bruno@clisp.org>
88787
88788         * lib/printf-args.h: New file, from GNU gettext.
88789         * lib/printf-args.c: New file, from GNU gettext.
88790         * lib/printf-parse.h: New file, from GNU gettext.
88791         * lib/printf-parse.c: New file, from GNU gettext.
88792         * lib/vasnprintf.h: New file, from GNU gettext.
88793         * lib/vasnprintf.c: New file, from GNU gettext.
88794         * lib/asnprintf.c: New file, from GNU gettext.
88795         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88796         * lib/vasprintf.c: New file, from GNU gettext.
88797         * lib/asprintf.c: New file, from GNU gettext.
88798
88799 2003-01-29  Bruno Haible  <bruno@clisp.org>
88800
88801         * modules/stpncpy: New module.
88802         * MODULES.html.sh (func_all_modules): Add it.
88803
88804 2003-01-29  Bruno Haible  <bruno@clisp.org>
88805
88806         * m4/stpncpy.m4: New file.
88807
88808 2003-01-29  Bruno Haible  <bruno@clisp.org>
88809
88810         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88811         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88812
88813 2003-01-28  Bruno Haible  <bruno@clisp.org>
88814
88815         * modules/c-ctype: New module.
88816         * MODULES.html.sh (func_all_modules): Add it.
88817
88818 2003-01-28  Bruno Haible  <bruno@clisp.org>
88819
88820         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88821         Paul Eggert.
88822         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88823         Paul Eggert.
88824
88825 2003-01-27  Bruno Haible  <bruno@clisp.org>
88826
88827         * modules/xsetenv: New module.
88828         * MODULES.html.sh (func_all_modules): Add it.
88829
88830 2003-01-27  Bruno Haible  <bruno@clisp.org>
88831
88832         * lib/xsetenv.h: New file, from GNU gettext.
88833         * lib/xsetenv.c: New file, from GNU gettext.
88834
88835 2003-01-23  Jim Meyering  <jim@meyering.net>
88836
88837         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88838         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88839
88840 2003-01-23  Bruno Haible  <bruno@clisp.org>
88841
88842         * modules/minmax: New module.
88843         * MODULES.html.sh (func_all_modules): Add it.
88844
88845 2003-01-23  Bruno Haible  <bruno@clisp.org>
88846
88847         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88848         Eggert.
88849
88850 2003-01-22  Bruno Haible  <bruno@clisp.org>
88851
88852         * modules/exit: New module.
88853         * MODULES.html.sh (func_all_modules): Add it.
88854
88855 2003-01-22  Bruno Haible  <bruno@clisp.org>
88856
88857         * lib/exit.h: New file, from GNU gettext.
88858
88859 2003-01-19  Bruno Haible  <bruno@clisp.org>
88860
88861         * gnulib-tool: Recognize option --extract-maintainer.
88862         (func_get_maintainer): New function.
88863         * modules/*: Add Maintainer entry.
88864
88865 2003-01-16  Jim Meyering  <jim@meyering.net>
88866
88867         * m4/regex.m4: The `regex' struct is both input and output.
88868         Initialize it before each use.  Patch by Tim Waugh.
88869
88870 2003-01-16  Bruno Haible  <bruno@clisp.org>
88871
88872         * MODULES.html.sh: Add a table of contents. Add the module name as
88873         leftmost column. Add hyperlinks.
88874
88875 2003-01-15  Bruno Haible  <bruno@clisp.org>
88876
88877         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88878
88879 2003-01-15  Bruno Haible  <bruno@clisp.org>
88880
88881         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88882         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88883         suffix.
88884
88885 2003-01-15  Bruno Haible  <bruno@clisp.org>
88886
88887         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88888
88889 2003-01-15  Bruno Haible  <bruno@clisp.org>
88890
88891         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88892         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88893
88894 2003-01-14  Jim Meyering  <jim@meyering.net>
88895
88896         * lib/same.c (same_name): Tweak a comment.
88897
88898 2003-01-14  Bruno Haible  <bruno@clisp.org>
88899
88900         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88901         when a string comparison is sufficient.
88902
88903 2003-01-14  Bruno Haible  <bruno@clisp.org>
88904
88905         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88906         'unsigned int'.
88907
88908 2003-01-14  Bruno Haible  <bruno@clisp.org>
88909
88910         * lib/hash-pjw.c: Add comment about low quality of this function.
88911
88912 2003-01-13  Bruno Haible  <bruno@clisp.org>
88913
88914         * modules/stpcpy: Distribute lib/stpcpy.h.
88915         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88916
88917 2003-01-13  Bruno Haible  <bruno@clisp.org>
88918
88919         * modules/*: Add a description.
88920         * modules/strpbrk: Fix Makefile.am snippet.
88921         * modules/strtoimax: Fix dependencies.
88922         * modules/strtoumax: Likewise.
88923
88924 2003-01-13  Bruno Haible  <bruno@clisp.org>
88925
88926         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88927         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88928         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88929
88930 2003-01-13  Bruno Haible  <bruno@clisp.org>
88931
88932         * gnulib-tool (func_create_testdir): Store config/* files in the main
88933         directory.
88934         * config.rpath: Move to ...
88935         * config/config.rpath: ... here.
88936         * modules/gettext: Contains config/config.rpath, not config.rpath.
88937         * modules/iconv: Likewise.
88938
88939 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88940
88941         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88942         to avoid collisions with libcurses and libreadline.
88943
88944         * m4/getstr.m4: Remove.
88945         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88946
88947 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88948
88949         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88950         to avoid collisions with libcurses and libreadline.
88951
88952         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88953         * lib/getstr.h, getstr.c: Remove.
88954         * lib/getline.c: Include "getline.h", to check interface.
88955         Move body of old getstr.c here: this defines MIN_CHUNK and
88956         declares getdelim2, which is renamed from getstr.
88957         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88958
88959         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88960         All uses changed.
88961         * lib/linebuffer.h: Likewise.
88962         (readline): Remove backward-compatibility macro.
88963
88964 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88965
88966         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88967         to avoid collisions with libcurses and libreadline.
88968         * getstr: Remove.
88969         * MODULES.html.sh: Remove getstr.
88970         * modules/getline: Depend on unlocked-io, not getstr.
88971
88972 2003-01-12  Jim Meyering  <jim@meyering.net>
88973
88974         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88975
88976 2003-01-10  Bruno Haible  <bruno@clisp.org>
88977
88978         * modules/alloca: Change Makefile.am requirements. Simplify Include
88979         requirements. Add lib/alloca_.h to file list.
88980
88981 2003-01-10  Bruno Haible  <bruno@clisp.org>
88982
88983         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88984
88985 2003-01-10  Bruno Haible  <bruno@clisp.org>
88986
88987         * lib/alloca_.h: New file.
88988         * lib/getdate.y: Unconditionally include alloca.h.
88989         * lib/makepath.c: Likewise.
88990         * lib/setenv.c: Likewise.
88991         * lib/userspec.c: Likewise.
88992
88993 2003-01-09  Karl Berry  <karl@gnu.org>
88994
88995         * MODULES.html.sh: include `dirname $0` in PATH, to find
88996         gnulib-tool.
88997
88998 2003-01-09  Bruno Haible  <bruno@clisp.org>
88999
89000         * modules/stdbool: Change configure.ac, Makefile.am requirements.
89001         Simplify Include requirements. Add lib/stdbool.h.in to file list.
89002
89003 2003-01-09  Bruno Haible  <bruno@clisp.org>
89004
89005         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
89006
89007 2003-01-09  Bruno Haible  <bruno@clisp.org>
89008
89009         * lib/stdbool.h.in: New file.
89010
89011 2003-01-09  Bruno Haible  <bruno@clisp.org>
89012
89013         * gnulib-tool (func_all_modules): Ignore files ending in ~.
89014         * MODULES.html.sh: Likewise.
89015
89016 2003-01-08  Jim Meyering  <jim@meyering.net>
89017
89018         * lib/full-write.c: Undefine and define-away `const' after inclusion
89019         of errno.h, not before.  Suggestion from Bruno Haible.
89020
89021 2003-01-08  Bruno Haible  <bruno@clisp.org>
89022
89023         * modules/full-read: Depend on full-write.
89024
89025 2003-01-08  Bruno Haible  <bruno@clisp.org>
89026
89027         * lib/safe-read.c: Include specification header first, to ensure its
89028         selfcontainedness.
89029         * lib/full-write.c: Likewise.
89030
89031 2003-01-07  Jim Meyering  <jim@meyering.net>
89032
89033         * lib/full-write.c: Rework so that it may serve to define full_read,
89034         too.
89035         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
89036
89037 2003-01-07  Bruno Haible  <bruno@clisp.org>
89038
89039         * lib/strtoimax.c: Include <stdint.h> as an alternative to
89040         <inttypes.h>.
89041         * lib/xstrtol.h: Likewise.
89042         * lib/xstrtoimax.c: Likewise.
89043         * lib/xstrtoumax.c: Likewise.
89044         * lib/human.h: Likewise.
89045
89046         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
89047         on systems that have <inttypes.h> but not <stdint.h>.
89048
89049 2003-01-07  Bruno Haible  <bruno@clisp.org>
89050
89051         * MODULES.html.sh: Add copyright notice.
89052         (missed_files): Omit CVS directory entries.
89053         (func_module): Make it work with sed-3.02.
89054         * MODULES.txt: Remove file.
89055
89056 2003-01-06  Jim Meyering  <jim@meyering.net>
89057
89058         * lib/version-etc.c: Update year in translatable copyright string.
89059
89060 2003-01-03  Karl Berry  <karl@gnu.org>
89061
89062         * config/config.{guess,sub}: update from prep.
89063
89064 2003-01-02  Karl Berry  <karl@gnu.org>
89065
89066         * doc/COPYING.DOC: belatedly updated to 1.2.
89067
89068 2003-01-01  Karl Berry  <karl@gnu.org>
89069
89070         * gnulib-tool (func_verify_module): report module name $module in
89071         error message, not $1.
89072         * gnulib-tool (create-testdir): don't complain if destdir couldn't
89073         be created, only if it doesn't exist.
89074         * gnulib-tool (last_checkin_date): don't expand the $Date here.
89075
89076 2002-12-31  Paul Eggert  <eggert@twinsun.com>
89077
89078         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
89079
89080 2002-12-31  Paul Eggert  <eggert@twinsun.com>
89081
89082         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
89083         memcmp if strcoll doesn't work.
89084
89085 2002-12-31  Bruno Haible  <bruno@clisp.org>
89086
89087         * lib/utime.c (utime_null): No need to call ftruncate if the file was
89088         nonempty.
89089
89090 2002-12-31  Bruno Haible  <bruno@clisp.org>
89091
89092         * lib/memcoll.c (STRCOLL): New macro.
89093         (memcoll): Use it.
89094
89095 2002-12-31  Bruno Haible  <bruno@clisp.org>
89096
89097         * lib/localcharset.h: New file.
89098         * lib/localcharset.c: Include it.
89099         * lib/unicodeio.c: Likewise.
89100
89101 2002-12-31  Bruno Haible  <bruno@clisp.org>
89102
89103         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
89104         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
89105
89106 2002-12-31  Bruno Haible  <bruno@clisp.org>
89107
89108         * lib/getline.h: Include <stddef.h>, for size_t.
89109
89110         * lib/unicodeio.h: Include <stddef.h>, for size_t.
89111         * lib/unicodeio.c: Don't include <stddef.h>.
89112
89113 2002-12-31  Bruno Haible  <bruno@clisp.org>
89114
89115         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
89116         HAVE_TM_ZONE.
89117
89118 2002-12-24  Karl Berry  <karl@gnu.org>
89119
89120         * config/config.guess: update from prep.
89121
89122 2002-12-24  Bruno Haible  <bruno@clisp.org>
89123
89124         General infrasructure.
89125         * m4/README: Rewritten.
89126         * m4/onceonly.m4: New file.
89127         * m4/onceonly_2_57.m4: New file.
89128
89129         Module atexit.
89130         * m4/atexit.m4: New file.
89131
89132         Module strtod.
89133         * m4/strtod.m4: New file.
89134
89135         Module strtol.
89136         * m4/strtol.m4: New file.
89137
89138         Module strtoul.
89139         * m4/strtoul.m4: New file.
89140
89141         Module memchr.
89142         * m4/memchr.m4: New file.
89143
89144         Module memcmp.
89145         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
89146         (jm_FUNC_MEMCMP): Invoke it.
89147
89148         Module memcpy.
89149         * m4/memcpy.m4: New file.
89150
89151         Module memmove.
89152         * m4/memmove.m4: New file.
89153
89154         Module memset.
89155         * m4/memset.m4: New file.
89156
89157         Module strcspn.
89158         * m4/strcspn.m4: New file.
89159
89160         Module strpbrk.
89161         * m4/strpbrk.m4: New file.
89162
89163         Module strstr.
89164         * m4/strstr.m4: New file.
89165
89166         Module strerror.
89167         * m4/strerror.m4: New file.
89168
89169         Module mktime.
89170         * m4/mktime.m4: Renamed from jm-mktime.m4.
89171         (gl_PREREQ_MKTIME): New macro.
89172         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
89173
89174         Module malloc.
89175         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
89176         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
89177         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
89178
89179         Module realloc.
89180         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
89181         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
89182         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
89183
89184         Module strftime.
89185         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
89186         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
89187         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
89188         gl_TM_GMTOFF.
89189         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
89190
89191         Module xalloc.
89192         * m4/xalloc.m4: New file.
89193
89194         Module alloca.
89195         * m4/alloca.m4: New file.
89196
89197         Module putenv.
89198         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
89199         (jm_FUNC_PUTENV): Invoke it.
89200
89201         Module setenv.
89202         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
89203         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
89204         when invoked twice.
89205         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
89206         gt_FUNC_SETENV.
89207
89208         Module memrchr.
89209         * m4/memrchr.m4: New file.
89210
89211         Module stpcpy.
89212         * m4/stpcpy.m4: New file.
89213
89214         Module strcase.
89215         * m4/strcase.m4: New file.
89216
89217         Module strdup.
89218         * m4/strdup.m4: New file.
89219
89220         Module strnlen.
89221         * m4/strnlen.m4: New file.
89222
89223         Module strndup.
89224         * m4/strndup.m4: New file.
89225
89226         Module xstrtod.
89227         * m4/xstrtod.m4: New file.
89228
89229         Module xstrtol.
89230         * m4/xstrtol.m4: New file.
89231
89232         Module getdate.
89233         * m4/getdate.m4: New file.
89234
89235         Module unlocked-io.
89236         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89237         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89238         * m4/jm-glibc-io.m4n: Remove file.
89239
89240         Module long-options.
89241         * m4/long-options.m4: New file.
89242
89243         Module md5.
89244         * m4/md5.m4: New file.
89245
89246         Module sha.
89247         * m4/sha.m4: New file.
89248
89249         Module getstr.
89250         * m4/getstr.m4: New file.
89251
89252         Module getline.
89253         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89254         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89255         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89256         simply getline. Infoke gl_PREREQ_GETLINE.
89257
89258         Module obstack.
89259         * m4/obstack.m4: New file.
89260
89261         Module hash.
89262         * m4/hash.m4: New file.
89263
89264         Module readtokens.
89265         * m4/readtokens.m4: New file.
89266
89267         Module strverscmp.
89268         * m4/strverscmp.m4: New file.
89269
89270         Module stdbool.
89271         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89272         OSF/1.
89273
89274         Module strtoll.
89275         * m4/strtoll.m4: New file.
89276
89277         Module strtoull.
89278         * m4/strtoull.m4: New file.
89279
89280         Module strtoimax.
89281         * m4/strtoimax.m4: New file.
89282
89283         Module strtoumax.
89284         * m4/strtoumax.m4: New file.
89285
89286         Module xstrtoimax.
89287         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89288         jm_AC_PREREQ_XSTRTOIMAX.
89289         Moved the strtol prerequisites to strtol.m4.
89290         Moved the strtoll prerequisites to strtoll.m4.
89291         Moved the strtoimax prerequisites to strtoimax.m4.
89292
89293         Module xstrtoumax.
89294         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89295         jm_AC_PREREQ_XSTRTOUMAX.
89296         Moved the strtoul prerequisites to strtoul.m4.
89297         Moved the strtoull prerequisites to strtoull.m4.
89298         Moved the strtoumax prerequisites to strtoumax.m4.
89299
89300         Module chown.
89301         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89302         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89303
89304         Module dup2.
89305         * m4/dup2.m4: New file.
89306
89307         Module ftruncate.
89308         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89309         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89310
89311         Module getgroups.
89312         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89313         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89314
89315         Module gettimeofday.
89316         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89317         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89318         gl_PREREQ_GETTIMEOFDAY.
89319
89320         Module mkdir.
89321         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89322         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89323
89324         Module mkstemp.
89325         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89326         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89327         jm_AC_TYPE_UINTMAX_T.
89328         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89329
89330         Module stat.
89331         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
89332         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
89333
89334         Module lstat.
89335         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
89336         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
89337
89338         Module timespec.
89339         * m4/timespec.m4 (gl_TIMESPEC): New macro.
89340         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
89341         * m4/st_mtim.m4: Indentation.
89342
89343         Module nanosleep.
89344         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
89345         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
89346         gl_PREREQ_NANOSLEEP.
89347
89348         Module regex.
89349         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
89350         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
89351         (gl_REGEX): New macro.
89352
89353         Module rename.
89354         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89355         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89356
89357         Module rmdir.
89358         * m4/rmdir.m4: New file.
89359
89360         Module utime.
89361         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89362         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89363         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89364
89365         Module dirname.
89366         * m4/dirname.m4: New file.
89367
89368         Module getopt.
89369         * m4/getopt.m4: New file.
89370
89371         Module unistd-safer.
89372         * m4/unistd-safer.m4: New file.
89373
89374         Module fnmatch.
89375         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89376         declaration.
89377         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89378         (gl_FUNC_FNMATCH_POSIX): New macro.
89379         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89380         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89381         simply fnmatch.
89382
89383         Module exclude.
89384         * m4/exclude.m4: New file.
89385
89386         Module human.
89387         * m4/human.m4: New file.
89388
89389         Module acl.
89390         * m4/acl.m4: Nop.
89391
89392         Module backupfile.
89393         * m4/backupfile.m4: New file.
89394         * m4/d-ino.m4: Indentation.
89395
89396         Module fsusage.
89397         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89398         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89399         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89400
89401         Module dirfd.
89402         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89403         requirements.
89404
89405         Module euidaccess.
89406         * m4/euidaccess.m4: New file.
89407
89408         Module file-type.
89409         * m4/file-type.m4: New file.
89410
89411         Module fileblocks.
89412         * m4/fileblocks.m4: New file.
89413
89414         Module filemode.
89415         * m4/filemode.m4: New file.
89416
89417         Module isdir.
89418         * m4/isdir.m4: New file.
89419
89420         Module lchown.
89421         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89422         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89423
89424         Module makepath.
89425         * m4/makepath.m4: New file.
89426
89427         Module modechange.
89428         * m4/modechange.m4: New file.
89429
89430         Module mountlist.
89431         * m4/mountlist.m4: New file.
89432         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89433         Indentation.
89434
89435         Module path-concat.
89436         * m4/path-concat.m4: New file.
89437
89438         Module pathmax.
89439         * m4/pathmax.m4: New file.
89440
89441         Module same.
89442         * m4/same.m4: New file.
89443
89444         Module save-cwd.
89445         * m4/save-cwd.m4: New file.
89446
89447         Module savedir.
89448         * m4/savedir.m4: New file.
89449
89450         Module xgetcwd.
89451         * m4/xgetcwd.m4: New file.
89452         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89453
89454         Module xreadlink.
89455         * m4/xreadlink.m4: New file.
89456
89457         Module safe-read.
89458         * m4/safe-read.m4: New file.
89459
89460         Module safe-write.
89461         * m4/safe-write.m4: New file.
89462
89463         Module closeout.
89464         * m4/closeout.m4: New file.
89465
89466         Module stdio-safer.
89467         * m4/stdio-safer.m4: New file.
89468
89469         Module getpass.
89470         * m4/getpass.m4: New file.
89471
89472         Module getugroups.
89473         * m4/getugroups.m4: New file.
89474
89475         Module group-member.
89476         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89477         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89478
89479         Module idcache.
89480         * m4/idcache.m4: New file.
89481
89482         Module userspec.
89483         * m4/userspec.m4: New file.
89484
89485         Module gettime.
89486         * m4/clock_time.m4: New file.
89487         * m4/gettime.m4: New file.
89488
89489         Module settime.
89490         * m4/settime.m4: New file.
89491
89492         Module posixtm.
89493         * m4/posixtm.m4: New file.
89494
89495         Module gethostname.
89496         * m4/gethostname.m4: New file.
89497
89498         Module canon-host.
89499         * m4/canon-host.m4: New file.
89500
89501         Module gettext.
89502         * m4/codeset.m4: New file, from gettext-0.11.5.
89503         * m4/gettext.m4: New file, from gettext-0.11.5.
89504         * m4/glibc21.m4: New file, from gettext-0.11.5.
89505         * m4/iconv.m4: New file, from gettext-0.11.5.
89506         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89507         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89508         * m4/inttypes.m4: New file, from gettext-0.11.5.
89509         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89510         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89511         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89512         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89513         * m4/lib-link.m4: New file, from gettext-0.11.5.
89514         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89515         * m4/progtest.m4: New file, from gettext-0.11.5.
89516         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89517         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89518         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89519
89520         Module localcharset.
89521         * m4/localcharset.m4: New file.
89522
89523         Module hard-locale.
89524         * m4/hard-locale.m4: New file.
89525
89526         Module mbswidth.
89527         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89528         onceonly macros.
89529         * m4/mbrtowc.m4: Add comment.
89530
89531         Module memcasecmp.
89532         * m4/memcasecmp.m4: New file.
89533
89534         Module memcoll.
89535         * m4/memcoll.m4: New file.
89536
89537         Module unicodeio.
89538         * m4/unicodeio.m4: New file.
89539
89540         Module rpmatch.
89541         * m4/rpmatch.m4: New file.
89542
89543         Module yesno.
89544         * m4/yesno.m4: New file.
89545
89546         Module exitfail.
89547         * m4/exitfail.m4: New file.
89548
89549         Module c-stack.
89550         * m4/c-stack.m4 (gl_C_STACK): New macro.
89551         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89552
89553         Module error.
89554         * m4/error.m4 (gl_ERROR): New macro.
89555         (jm_PREREQ_ERROR): Use onceonly macros.
89556
89557         Module fatal.
89558         * m4/fatal.m4: New file.
89559
89560         Module getloadavg.
89561         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89562         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89563
89564         Module getpagesize.
89565         * m4/getpagesize.m4: New file.
89566
89567         Module getusershell.
89568         * m4/getusershell.m4: New file.
89569
89570         Module physmem.
89571         * m4/physmem.m4: New file.
89572
89573         Module posixver.
89574         * m4/posixver.m4: New file.
89575
89576         Module quotearg.
89577         * m4/quotearg.m4: New file.
89578
89579         Module quote.
89580         * m4/quote.m4: New file.
89581
89582         Module readutmp.
89583         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89584
89585         Module sig2str.
89586         * m4/sig2str.m4: New file.
89587
89588         Other.
89589         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89590         ulonglong.m4.
89591         * m4/intmax_t.m4: New file.
89592         * m4/d-type.m4: Indentation.
89593         * m4/jm-macros.m4: Update.
89594         * m4/prereq.m4 (jm_PREREQ): Update.
89595         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89596         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89597         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89598         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89599         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89600         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89601         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89602         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89603         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89604         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89605         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89606         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89607         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89608         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89609         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89610         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89611         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89612         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89613         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89614
89615 2002-12-24  Bruno Haible  <bruno@clisp.org>
89616
89617         * MODULES.txt: Update according to m4/ changes.
89618
89619         Module gettext.
89620         * config.rpath: New file, from gettext-0.11.5.
89621
89622         * modules/*: New module descriptions.
89623         * gnulib-tool: New file.
89624         * MODULES.html.sh: New file.
89625
89626 2002-12-21  Karl Berry  <karl@gnu.org>
89627
89628         * doc/fdl.texi: update to version 1.2.
89629
89630 2002-12-19  Karl Berry  <karl@gnu.org>
89631
89632         * config/config.guess: update from prep.
89633
89634 2002-12-18  Bruno Haible  <bruno@clisp.org>
89635
89636         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89637         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89638
89639 2002-12-17  Bruno Haible  <bruno@clisp.org>
89640
89641         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89642         stdlib.h, string.h.
89643
89644 2002-12-17  Bruno Haible  <bruno@clisp.org>
89645
89646         * lib/canon-host.c (strdup): Remove unused declaration.
89647
89648         * lib/fsusage.c: Include full_read.h.
89649         (get_fs_usage): Use full_read instead of safe_read.
89650
89651         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89652
89653 2002-12-12  Karl Berry  <karl@gnu.org>
89654
89655         * config/config.guess: update from prep.
89656
89657 2002-12-11  Bruno Haible  <bruno@clisp.org>
89658
89659         * m4/setenv.m4: New file, from gettext-0.11.5.
89660
89661 2002-12-11  Bruno Haible  <bruno@clisp.org>
89662
89663         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89664         not unsetenv().
89665         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89666         modifications:
89667
89668         2002-12-11  Bruno Haible  <bruno@clisp.org>
89669
89670                 * setenv.c (alloca): Fall back to malloc.
89671                 (freea): New macro.
89672                 (setenv): Use freea() to free memory allocated with alloca().
89673
89674         2002-11-13  Bruno Haible  <bruno@clisp.org>
89675
89676                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89677                 function declarations.
89678                 * unsetenv.c (unsetenv): Likewise.
89679
89680         2002-03-04  Bruno Haible  <bruno@clisp.org>
89681
89682                 Portability to AIX 4.3.3.
89683                 * unsetenv.c: New file, extracted from setenv.c.
89684                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89685
89686         2001-12-20  Bruno Haible  <bruno@clisp.org>
89687
89688                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89689                 use malloc instead. For SunOS 4.
89690
89691         2001-12-11  Bruno Haible  <bruno@clisp.org>
89692
89693                 * setenv.c: Declare alloca.
89694                 (compar_fn_t): New typedef.
89695                 (KNOWN_VALUE, STORE_VALUE): Use it.
89696
89697         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89698         setenv.h.
89699
89700 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89701
89702         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89703         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89704         Choose values that are less likely to collide with system fnmatch
89705         options.
89706         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89707         defined (e.g., a pure POSIX system).
89708         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89709         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89710
89711 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89712
89713         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89714         a pain in practice to deal with generated m4 files.  This change
89715         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89716
89717         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89718         and jm-glibc-io.m4, as they are no longer a special case.
89719         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89720         kludge and the auto-generation stuff.  Check only whether the
89721         functions are declared, not whether they exist, since older hosts
89722         that don't declare the functions can't use the optimization anyway.
89723
89724 2002-12-06  Jim Meyering  <jim@meyering.net>
89725
89726         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89727
89728         Merge in changes from libc's misc/error.c, in preparation
89729         for the merge of gnulib's changes back into libc.
89730
89731         * lib/error.c (_): Define only if not already defined.
89732         Move definition to follow all #include directives.
89733         Include unlocked-io.h only if !_LIBC.
89734         [_LIBC]: Include <libio/libioP.h>.
89735         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89736         (fflush): Tweak definition to use INTUSE.
89737         (putc): Define.
89738
89739 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89740
89741         * lib/alloca.c [defined emacs]: Include "lisp.h".
89742         (xalloc_die) [defined emacs]: New macro.
89743         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89744         [! defined emacs]: Include <xalloc.h>.
89745         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89746         (pointer): Typedef to POINTER_TYPE *.
89747         (malloc): Remove decl; we now always use xmalloc.
89748         (alloca): Use old-style definition, since Emacs needs this.
89749         Check for arithmetic overflow when computing combined size.
89750
89751 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89752
89753         Do not generate unlocked-io.h automatically, since it's easier to
89754         maintain it by hand.
89755
89756         * lib/unlocked-io.h: New file, from GNU diffutils,
89757         but with proper copyright notice and attribution.
89758         * lib/gen-uio: Remove.
89759         * lib/Makefile.am: Add copyright notice.
89760         (libfetish_a_SOURCES): Add unlocked-io.h.
89761         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89762         (DISTCLEANFILES, io_functions): Remove macros.
89763         (EXTRA_DIST): Remove gen_uio.
89764         (unlocked-io.h): Remove rule.
89765
89766 2002-12-04  Jim Meyering  <jim@meyering.net>
89767
89768         Reflect the fact that stat.c and lstat.c are no longer generated.
89769         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89770         (DISTCLEANFILES): Likewise.
89771         (EXTRA_DIST): Likewise.
89772         (all_local): Don't depend on stat.c or lstat.c.
89773         (stat.c, lstat.c): Remove rules.
89774         (EXTRA_DIST): Remove xstat.in.
89775
89776         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89777         * lib/stat.c: New file.  Contents mostly from xstat.in.
89778         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89779         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89780
89781         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89782         too.
89783         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89784
89785 2002-12-03  Jim Meyering  <jim@meyering.net>
89786
89787         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89788         but not semantics, to minimize the differences between these two files.
89789         (safe_read): Change comment to mention SAFE_READ_ERROR.
89790
89791         * lib/safe-read.c (IS_EINTR): Define.
89792         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89793
89794 2002-12-02  Jim Meyering  <jim@meyering.net>
89795
89796         * lib/safe-read.c (EINTR): Define.
89797         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89798         (INT_MAX): Provide fallback.
89799         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89800
89801         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89802
89803 2002-12-02  Bruno Haible  <bruno@clisp.org>
89804
89805         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89806         Define, taken from safe-read.c.
89807         (INT_MAX): Provide fallback.
89808         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89809         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89810
89811         * lib/safe-read.c (EINTR): Remove definition.
89812         (safe_read): Don't use EINTR if it is absent.
89813
89814 2002-12-01  Jim Meyering  <jim@meyering.net>
89815
89816         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89817         zero.
89818         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89819
89820 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89821
89822         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89823         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89824         with `if (! (value < limit)) abort ();', for readability.
89825
89826 2002-11-26  Karl Berry  <karl@gnu.org>
89827
89828         * lib/strdup.c: copy from libc again, with jim's ok.
89829         * lib/.cppi-disable: re-add strdup.c
89830
89831 2002-11-25  Karl Berry  <karl@gnu.org>
89832
89833         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89834         instead of "strtol.c".
89835
89836 2002-11-25  Karl Berry  <karl@gnu.org>
89837
89838         * config/install-sh: update from automake for variable quoting, $0 in
89839         error msgs, etc.
89840
89841         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89842         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89843         entry.
89844
89845 2002-11-25  Jim Meyering  <jim@meyering.net>
89846
89847         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89848
89849 2002-11-24  Karl Berry  <karl@gnu.org>
89850
89851         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89852         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89853
89854 2002-11-24  Jim Meyering  <jim@meyering.net>
89855
89856         Update from coreutils:
89857
89858         * lib/mktime.c: Merge in changes from libc.
89859
89860         Avoid a link-time failure on some Linux systems.
89861         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89862         (otherwise).
89863         (__mon_yday): Declare with the STATIC attribute.
89864         (__mktime_internal): Likewise.
89865         Based on a report from Greg Schafer.
89866
89867 2002-11-23  Jim Meyering  <jim@meyering.net>
89868
89869         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89870         Use `unsigned', not `int', as type of index.
89871
89872         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89873
89874         * lib/fsusage.c: Remove unneeded parentheses around operands of
89875         `defined'.
89876
89877 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89878
89879         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89880         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89881         so that we can be included first.
89882         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89883         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89884         No need to include stddef.h or sys/types.h any more.
89885         Surround local include files with "", not "<>".
89886         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89887         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89888         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89889         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89890         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89891         (ISPRINT): Remove; no longer needed now that we assume C89.
89892
89893         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89894         Preserve errno.
89895
89896         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89897         quotearg_char): Use SIZE_MAX rather than
89898         (size_t) -1 when we are talking about "infinity".
89899
89900         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89901
89902 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89903
89904         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89905         hint that one should use `if (! x) abort ();' rather than `assert
89906         (x);', and anyway it's one less thing to worry about configuring.
89907         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89908         hash_rehash, hash_insert): Use abort rather than assert.
89909
89910 2002-11-22  Bruno Haible  <bruno@clisp.org>
89911
89912         * lib/safe-read.h: Assume C89. Add comments.
89913         (safe_read): Change return type to size_t.
89914         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89915         byte counts > SSIZE_MAX correctly.
89916         * lib/safe-write.h: New file.
89917         * lib/safe-write.c: New file.
89918         * lib/full-read.h: New file.
89919         * lib/full-read.c: New file.
89920         * lib/full-write.h: Assume C89. Add comments.
89921         * lib/full-write.c: Include safe-write.h.
89922         (full_write): Rewritten to use safe_write.
89923         Suggested by Jim Meyering and Paul Eggert.
89924
89925 2002-11-21  Jim Meyering  <jim@meyering.net>
89926
89927         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89928
89929         Merge in changes from the coreutils.
89930
89931         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89932         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89933         <stdint.h>.
89934         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89935         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89936         int.  Work more efficiently if X is the same width as uintmax_t.
89937         Do not compare X to -1, to avoid bogus compiler warning.
89938         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89939         Don't assume that f_frsize and f_bsize are the same type.
89940
89941         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89942         warning on FreeBSD.
89943
89944         * lib/makepath.c (make_path): Restore umask *before* creating the final
89945         component.
89946         (make_path): Minor reformatting.
89947
89948         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89949         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89950         HAVE_MALLOC/HAVE_REALLOC.
89951
89952         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89953         dummy ones.  At least on GNU/Linux systems, `auto' means something
89954         else.
89955         From Michael Stone.
89956
89957 2002-11-21  Bruno Haible  <bruno@clisp.org>
89958
89959         Remove case insensitive option matching.
89960         * lib/argmatch.h (argcasematch): Remove declaration.
89961         (ARGCASEMATCH): Remove macro.
89962         (__xargmatch_internal): Remove case_sensitive argument.
89963         (XARGMATCH): Update.
89964         (XARGCASEMATCH): Remove macro.
89965         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89966         case_sensitive argument.
89967         (argcasematch): Remove function.
89968         (__xargmatch_internal): Remove case_sensitive argument.
89969         (main): Use XARGMATCH instead of XARGCASEMATCH.
89970
89971         * lib/xmalloc.c: Change compile-time error message. Add comment about
89972         required autoconf version.
89973
89974 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89975
89976         Merge argmatch cleanups from Bison.  Assume C89.
89977
89978         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89979         Include stdlib.h, for EXIT_FAILURE.
89980         Always include <string.h>, since we assume C89.
89981         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89982         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89983         Include <stddef.h> instead, since it's all we need for size_t.
89984         (PARAMS): Remove.  All uses removed.
89985         (ARRAY_CARDINALITY): Do not bother to #undef.
89986         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89987         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89988         Remove unnecessary parentheses.
89989         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89990         Insert necessary parentheses.
89991         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89992         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89993
89994 2002-11-19  Bruno Haible  <bruno@clisp.org>
89995
89996         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89997         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89998
89999         * lib/mbswidth.h (PARAMS): Remove macro.
90000         (mbswidth, mbsnwidth): Use ANSI C function declarations.
90001         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
90002
90003         * lib/gcd.h (PARAMS): Remove macro.
90004         (gcd): Use ANSI C function declarations.
90005         * lib/gcd.c (gcd): Likewise.
90006
90007 2002-11-15  Bruno Haible  <bruno@clisp.org>
90008
90009         * lib/strcspn.c: Include <stddef.h>.
90010         (strcspn): Use ANSI C function declaration. Change return type to
90011         size_t. Use NULL.
90012         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
90013         (strpbrk): Use NULL.
90014         * lib/strpbrk.h (PARAMS): Remove macro.
90015         (strpbrk): Use ANSI C function declaration.
90016         * lib/strstr.c: Don't include <sys/types.h>.
90017         * lib/strstr.h (PARAMS): Remove macro.
90018         (strstr): Use ANSI C function declarations.
90019
90020 2002-11-14  Karl Berry  <karl@gnu.org>
90021
90022         * config/mkinstalldirs: `do' on separate line, instead of
90023         `for var; do'.
90024
90025 2002-11-06  Bruno Haible  <bruno@clisp.org>
90026
90027         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
90028         * lib/gcd.c (gcd): Likewise.
90029
90030 2002-11-05  Bruno Haible  <bruno@clisp.org>
90031
90032         * lib/gcd.h: New file, from gettext-0.11.5.
90033         * lib/gcd.c: New file, from gettext-0.11.5.
90034
90035 2002-11-05  Bruno Haible  <bruno@clisp.org>
90036
90037         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90038         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90039         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90040         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
90041
90042         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
90043         <libintl.h>.
90044         * lib/makepath.c: Include gettext.h instead of <locale.h> and
90045         <libintl.h>.
90046
90047         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
90048         * lib/human.c: Include gettext.h instead of <libintl.h>.
90049         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
90050         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
90051         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
90052         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
90053         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
90054         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
90055         (textdomain): Remove definition.
90056         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
90057
90058         * lib/long-options.c: Remove include of <libintl.h> and definition of
90059         _.
90060         * lib/same.c: Remove include of <libintl.h> and definition of _.
90061
90062 2002-11-04  Owen Taylor  <otaylor@redhat.com>
90063
90064         * lib/config.charset: A few additions for Solaris.
90065
90066 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
90067
90068         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
90069         * lib/localcharset.c (locale_charset): Declare as extern "C".
90070
90071 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
90072
90073         * lib/config.charset: msdos in uk_UA uses CP1125.
90074
90075 2002-11-04  Bruno Haible  <bruno@clisp.org>
90076
90077         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
90078         * lib/strcase.h: New file, from GNU gettext-0.11.5.
90079         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
90080         * lib/strstr.h: New file, from GNU gettext-0.11.5.
90081         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
90082
90083 2002-11-04  Bruno Haible  <bruno@clisp.org>
90084
90085         * lib/localcharset.c (locale_charset): Don't return an empty string.
90086
90087 2002-11-04  Bruno Haible  <bruno@clisp.org>
90088
90089         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
90090         aliases.
90091
90092 2002-11-04  Bruno Haible  <bruno@clisp.org>
90093
90094         * lib/config.charset: Update for newest glibc. Add canonical names
90095         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
90096
90097 2002-11-04  Bruno Haible  <bruno@clisp.org>
90098
90099         * lib/config.charset: Add support for NetBSD.
90100
90101 2002-11-04  Bruno Haible  <bruno@clisp.org>
90102
90103         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
90104
90105 2002-11-01  Bruno Haible  <bruno@clisp.org>
90106
90107         * configure.in: Add AC_CONFIG_AUX_DIR call.
90108         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
90109         test/Makefile.
90110         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
90111
90112 2002-09-28  Karl Berry  <karl@gnu.org>
90113
90114         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
90115         installed automake until the next release, since changes have been
90116         made.
90117
90118 2002-09-25  Karl Berry  <karl@gnu.org>
90119
90120         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
90121         * lib/getopt*: copy from libc/posix.
90122         * lib/gettext.h: copy from gettext.
90123         * lib/.cppi-disable: add strdup.c, gettext.h.
90124
90125 2002-09-25  Karl Berry  <karl@gnu.org>
90126
90127         * config/srclist.txt: enable gettext.h check.
90128         * config/config.{guess,sub}: update from prep.
90129         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
90130                 from automake 1.6.3.
90131         See srclist*.
90132
90133 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
90134
90135         * regex.c (PATFETCH): Remove the translating fetch.
90136         (PATFETCH_RAW): Rename to PATFETCH.
90137         (set_image_of_range): New fun.
90138         (SET_RANGE_TABLE_WORK_AREA): Use it.
90139         (regex_compile): Don't translate the pattern chars so eagerly.
90140         Only do it when inserting an `exactn' bytecode or when handling
90141         a char-range.
90142         (mutually_exclusive_p): Avoid empty statement.
90143
90144 2002-07-06  Jim Meyering  <meyering@lucent.com>
90145
90146         * m4/README: Don't mention Makefile.am.in.
90147         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
90148
90149 2002-07-01  Jim Meyering  <meyering@lucent.com>
90150
90151         * lib/c-stack.c: Include sys/time.h.
90152         From Volker Borchert.
90153
90154 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90155
90156         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
90157
90158 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90159
90160         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
90161         New macro.  Use it uniformly instead of
90162         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
90163         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
90164         reported by Vin Shelton.
90165
90166 2002-06-22  Paul Eggert  <eggert@twinsun.com>
90167
90168         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
90169         Do not assume SA_SIGINFO behavior.
90170         Bug reported by Jim Meyering on NetBSD 1.5.2.
90171
90172 2002-06-22  Jim Meyering  <meyering@lucent.com>
90173
90174         * m4/c-stack.m4: New file, from diffutils-2.8.2.
90175         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
90176
90177         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
90178         now that configure.ac uses AC_GNU_SOURCE.
90179         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
90180         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
90181
90182         Update to latest tools.  Suggestions from Paul Eggert.
90183         * m4/stdbool.m4: New file, from diffutils-2.8.2.
90184         * m4/gnu-source.m4: Update from diffutils-2.8.2.
90185         * m4/fnmatch.m4: Likewise.
90186         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
90187         to AC_HEADER_STDBOOL
90188
90189 2002-06-22  Jim Meyering  <meyering@lucent.com>
90190
90191         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
90192         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
90193
90194 2002-06-22  Jim Meyering  <meyering@lucent.com>
90195
90196         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
90197
90198         * lib/exitfail.c, exitfail.h: Likewise.
90199         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
90200
90201         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
90202         of fnmatch.h.
90203         (EXTRA_DIST): Add fnmatch_loop.c.
90204         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
90205
90206         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
90207         * lib/fnmatch.c: Update from diffutils-2.8.2.
90208         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
90209         * lib/fnmatch.h: Remove file.
90210
90211 2002-06-21  Jim Meyering  <meyering@lucent.com>
90212
90213         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
90214         * m4/mbrtowc.m4: Likewise.
90215
90216         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
90217         * m4/mbswidth.m4: Reflect name change:
90218         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
90219         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90220
90221         * m4/lib-link.m4: Update from gettext-0.11.2.
90222         * m4/gettext.m4: Likewise.
90223
90224         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
90225         From Alfred M. Szmidt.
90226
90227 2002-06-18  Paul Eggert  <eggert@twinsun.com>
90228
90229         * lib/file-type.h: Report an error if neither S_ISREG nor
90230         S_IFREG is defined, instead of using a test specific to glibc
90231         2.2.  This should be safe, since POSIX requires S_ISREG and
90232         Unix Version 7 had S_IFREG.  We don't need to check for
90233         <sys/types.h> since we don't use any symbols that it defines.
90234
90235 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90236
90237         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90238         $@-t, so that each temporary file name is unique and valid in the first
90239         8 characters, for operation under DOS.
90240
90241 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90242
90243         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90244
90245 2002-06-15  Jim Meyering  <meyering@lucent.com>
90246
90247         Work even with DJGPP 2.03, which lacks support for symlinks.
90248         From Richard Dawe.
90249         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90250         is defined.
90251         * lib/lchown.c (S_ISLNK): Likewise.
90252
90253 2002-06-15  Jim Meyering  <meyering@lucent.com>
90254
90255         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90256         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90257         have been included before this file.
90258
90259 2002-06-14  Jim Meyering  <meyering@lucent.com>
90260
90261         * lib/file-type.h: Use the version from diffutils-2.8.2.
90262         * lib/file-type.c: Likewise.
90263
90264 2002-06-07  Jim Meyering  <meyering@lucent.com>
90265
90266         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90267         They're needed at least for NetBSD 1.5.2.
90268         ($statxfs_includes): Include those same headers.
90269         ($statxfs_includes): Include sys/vfs.h if available.
90270         ($statxfs_includes): Likewise for sys/statvfs.h.
90271         Check for the following members in both structs statfs and statvfs:
90272         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90273
90274 2002-06-01  Jim Meyering  <meyering@lucent.com>
90275
90276         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90277         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90278
90279 2002-05-28  Jim Meyering  <meyering@lucent.com>
90280
90281         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90282         Reported by Volker Borchert.
90283
90284 2002-05-27  Jim Meyering  <meyering@lucent.com>
90285
90286         Fix a problem seen only on nonconforming systems whereby ls.c's
90287         use of localtime, and then of gettimeofday would cause trouble:
90288         the localtime call used to initialize rpl_gettimeofday's save
90289         mechanism would clobber ls's current local time information so
90290         that in any long listing the first file would always be listed
90291         with date 1970-01-01.  Analysis by Volker Borchert.
90292
90293         * lib/gettimeofday.c (localtime): Undefine.
90294         (rpl_localtime): New function.
90295
90296 2002-05-27  Jim Meyering  <meyering@lucent.com>
90297
90298         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90299         localtime.
90300
90301         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90302         use the replacement function; it wouldn't resolve at link time.
90303         Reported by Volker Borchert.
90304
90305 2002-05-22  Jim Meyering  <meyering@lucent.com>
90306
90307         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90308         file-type.h.
90309         * lib/file-type.h: New file.
90310         * lib/file-type.c (file_type): New file/function.  Extracted from
90311         diffutils.
90312
90313 2002-04-30  Jim Meyering  <meyering@lucent.com>
90314
90315         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90316
90317 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90318
90319         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90320
90321 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90322
90323         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90324         Do not check for alloca.h (no longer used) or stdbool.h (was never
90325         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90326
90327 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90328
90329         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90330
90331 2002-04-29  Jim Meyering  <meyering@lucent.com>
90332
90333         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
90334         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
90335         Use AC_FUNC_STRNLEN here instead.
90336
90337         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
90338         With autoconf-2.53a, it's part of AC_PROG_CC.
90339
90340 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90341
90342         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
90343         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
90344
90345 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90346
90347         * lib/sig2str.h, lib/sig2str.c: New files.
90348         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
90349
90350 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90351
90352         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90353         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90354         of 127, since 64 is the largest conceivable number for ancient
90355         nonstandard hosts.
90356         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90357
90358 2002-04-28  Jim Meyering  <meyering@lucent.com>
90359
90360         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90361
90362 2002-04-24  Jim Meyering  <meyering@lucent.com>
90363
90364         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90365         (jm_PREREQ): Use it.
90366
90367         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90368         mach/mach.h fcntl.h.
90369         Check for this function: setlocale.
90370
90371 2002-04-24  Jim Meyering  <meyering@lucent.com>
90372
90373         * lib/gettext.h: New file, from Gettext.
90374         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90375         (libfetish_a_SOURCES): Add gettext.h.
90376
90377 2002-04-16  Jim Meyering  <meyering@lucent.com>
90378
90379         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90380         ut_pid, ut_id, ut_exit.
90381
90382 2002-04-16  Jim Meyering  <meyering@lucent.com>
90383
90384         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90385         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90386         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90387
90388 2002-04-12  Jim Meyering  <meyering@lucent.com>
90389
90390         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90391         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90392         existence of the getmntinfo function.  Needed for Darwin 5.3.
90393
90394         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90395         This is necessary at least on Darwin 5.3.
90396
90397         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90398         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90399         strnlen.o in the library, and that makes some versions of ranlib
90400         object.
90401
90402 2002-04-12  Jim Meyering  <meyering@lucent.com>
90403
90404         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90405
90406 2002-04-09  Jim Meyering  <meyering@lucent.com>
90407
90408         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90409         to be more precise.  Rather than saying we're checking whether the
90410         function `works', say what we're testing.
90411         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90412         Reported by Bruno Haible.
90413
90414 2002-03-10  Jim Meyering  <meyering@lucent.com>
90415
90416         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90417         Suggestion from Santiago Vila.
90418
90419 2002-03-08  Jim Meyering  <meyering@lucent.com>
90420
90421         * lib/rename.c: Mention that this wrapper is needed also on
90422         mips-dec-ultrix4.4 systems.
90423
90424 2002-03-02  Jim Meyering  <meyering@lucent.com>
90425
90426         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90427         not HAVE_CLOCK_SETTIME.
90428
90429 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90430
90431         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90432         Check for clock_settime.
90433
90434 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90435
90436         * lib/nanosleep.h: Rename to....
90437         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90438
90439         * lib/gettime.c: New file.
90440         * lib/settime.c: New file.
90441         * lib/stime.c: Remove.
90442
90443         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90444         timespec.h.  Remove nanosleep.h.
90445
90446 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90447
90448         * m4/acl.m4: New file.
90449         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90450         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90451
90452 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90453
90454         * lib/acl.c, lib/acl.h: New files.
90455         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90456
90457 2002-02-24  Jim Meyering  <meyering@lucent.com>
90458
90459         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90460         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90461         cause trouble.  Reported by Nelson Beebe.
90462
90463 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90464
90465         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90466         compilers that don't know that xalloc_die never returns.
90467
90468 2002-02-20  Jim Meyering  <meyering@lucent.com>
90469
90470         * lib/getdate.c: Regenerate using bison-1.33.
90471
90472 2002-02-17  Jim Meyering  <meyering@lucent.com>
90473
90474         * config/config.guess (main): Don't use `head -1'; it's no longer
90475         portable. Use `sed 1q' instead.
90476
90477 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90478
90479         * m4/codeset.m4: Upgrade to gettext-0.11.
90480         * m4/gettext.m4: Upgrade to gettext-0.11.
90481         * m4/glibc21.m4: Upgrade to gettext-0.11.
90482         * m4/iconv.m4: Upgrade to gettext-0.11.
90483         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90484         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90485         * m4/lib-ld.m4: New file, from gettext-0.11.
90486         * m4/lib-link.m4: New file, from gettext-0.11.
90487         * m4/lib-prefix.m4: New file, from gettext-0.11.
90488         * m4/progtest.m4: Upgrade to gettext-0.11.
90489
90490 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90491
90492         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90493         (jm_PREREQ): Use it.
90494
90495 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90496
90497         * lib/posixver.c, lib/posixver.h: New files.
90498         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90499
90500 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90501             Bruno Haible  <bruno@clisp.org>
90502
90503         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90504         (fwrite_success_callback): New declaration.
90505         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90506         print_unicode_char. Call failure callback instead of error.
90507         (fwrite_success_callback): New function.
90508         (exit_failure_callback): New function.
90509         (fallback_failure_callback): New function.
90510         (print_unicode_char): Call unicode_to_mb.
90511
90512 2002-01-26  Jim Meyering  <meyering@lucent.com>
90513
90514         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90515         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90516
90517 2002-01-26  Jim Meyering  <meyering@lucent.com>
90518
90519         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90520
90521 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90522
90523         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90524
90525 2002-01-22  Jim Meyering  <meyering@lucent.com>
90526
90527         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90528         Otherwise, some versions of automake would omit the rule that makes
90529         Makefile from Makefile.in.
90530
90531 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90532
90533         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90534         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90535         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90536         (memcoll): Set errno to zero if there is no error.
90537
90538         * lib/quotearg.c (quotearg_buffer_restyled):
90539         Fix bug with quoting buffers containing NUL when backslashing escapes.
90540         This bug was exposed by the other changes in this patch.
90541         (quotearg_n_options): New arg ARGSIZE.
90542         All callers changed.
90543         (quoting_options_from_style): New function.
90544         (quotearg_n_style): Use it.
90545         (quotearg_n_style_mem): New function.
90546
90547         * lib/quotearg.h (quotearg_n_style_mem): New function.
90548
90549 2002-01-19  Jim Meyering  <meyering@lucent.com>
90550
90551         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90552         Remove useless quotes: DF_PROG="df".
90553         * m4/strnlen.m4: New file.
90554
90555 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90556
90557         * lib/backupfile.c (ISDIGIT): Comment fix.
90558         * lib/getdate.y (ISDIGIT): Likewise.
90559         * lib/posixtm.c (ISDIGIT, year): Likewise.
90560         * lib/strverscmp.c (ISDIGIT): Likewise.
90561         * lib/userspec.c (ISDIGIT): Likewise.
90562
90563 2002-01-16  Jim Meyering  <meyering@lucent.com>
90564
90565         * lib/getdate.y: Add three semicolons, each just before a closing
90566         brace. Bison (as of version 1.31) no longer papers over that mistake.
90567
90568 2002-01-05  Jim Meyering  <meyering@lucent.com>
90569
90570         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90571
90572 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90573
90574         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90575         not silently exit merely because the output buffer happens to
90576         have nothing pending.
90577
90578 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90579
90580         See the big note in ../ChangeLog.
90581         * lib/human.c (suffixes): Prefer K to k for 1024.
90582         (generate_suffix_backwards): New function.
90583         (human_readable_inexact): Use it.
90584         * lib/xstrtol.c (__xstrtol): If there is no number but there
90585         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90586         Accept 'K' as well as 'k'.
90587
90588 2001-12-15  Jim Meyering  <meyering@lucent.com>
90589
90590         * lib/regex.h (__restrict_arr): Update from libc.
90591
90592         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90593         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90594         (STREQ): Define.
90595
90596 2001-12-14  Jim Meyering  <meyering@lucent.com>
90597
90598         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90599         Suggestion from Bruno Haible.
90600
90601 2001-12-10  Jim Meyering  <meyering@lucent.com>
90602
90603         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90604         xrealloc, Instead, include "xalloc.h".
90605         (initbuffer): Don't cast xmalloc return value to char*.
90606         (readline): Reword comment.
90607         Don't cast xrealloc return value to char*
90608         Return NULL, not 0.
90609
90610 2001-12-09  Jim Meyering  <meyering@lucent.com>
90611
90612         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90613         about `signed and unsigned type in conditional expression'.
90614         * lib/posixtm.c (posix_time_parse): Likewise.
90615
90616         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90617
90618         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90619         to avoid a pedantic warning.
90620
90621         * lib/getstr.c: Don't include assert.h.
90622         (getstr): Remove warning-evoking assertions.
90623         Return -1 if offset parameter is out of bounds.
90624         Change the type of a local from int to size_t.
90625
90626         * lib/strftime.c (my_strftime_localtime_r): Include this function
90627         definition in the `#if ! HAVE_TM_GMTOFF' block.
90628
90629         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90630         Include xalloc.h instead.
90631
90632 2001-12-02  Jim Meyering  <meyering@lucent.com>
90633
90634         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90635         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90636         included.
90637
90638         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90639         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90640
90641 2001-11-30  Akim Demaille  <akim@epita.fr>
90642
90643         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90644         before being defined.
90645
90646 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90647
90648         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90649         First arg is int, not unsigned.
90650         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90651         (SIZE_MAX, UINT_MAX): New macros.
90652         (quotearg_n_options): Abort if N is negative.
90653         Avoid overflow check on hosts where size_t is 64 bits and int
90654         is 32 bits, as overflow is impossible there.
90655         Fix off-by-one typo that caused unnecessary reallocation.
90656
90657 2001-11-27  Jim Meyering  <meyering@lucent.com>
90658
90659         * lib/tempname.c: Merge with version from libc.
90660         * lib/regex.c: Likewise.
90661
90662         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90663         systems for which STDC_HEADERS is 0, it was not included, resulting in
90664         a warning about an integer-to-pointer conversion problem with getenv.
90665         Reported by Volker Borchert.
90666
90667 2001-11-26  Jim Meyering  <meyering@lucent.com>
90668
90669         * lib/gtod.h: Remove file.
90670         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90671         * lib/gettimeofday.c: Don't include gtod.h.
90672         (GTOD_init): Remove function.
90673         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90674         Suggestion from Volker Borchert.
90675
90676 2001-11-23  Jim Meyering  <meyering@lucent.com>
90677
90678         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90679         it.
90680         * lib/hash.c (struct hash_table): Define it here instead.
90681
90682 2001-11-22  Jim Meyering  <meyering@lucent.com>
90683
90684         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90685
90686 2001-11-20  Jim Meyering  <meyering@lucent.com>
90687
90688         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90689         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90690
90691 2001-11-19  Jim Meyering  <meyering@lucent.com>
90692
90693         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90694         directory.  Use "conftestXXXXXX" as the template.
90695         Suggestion from Paul Eggert.
90696
90697         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90698         immediately, so the test doesn't mistakenly hit the max-open-files
90699         limit.
90700
90701 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90702
90703         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90704         (TEMPORARIES): New macro.
90705         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90706         removes an artificial limitation (e.g. HP-UX 10.20, where
90707         TMP_MAX is 17576).
90708
90709 2001-11-18  Jim Meyering  <meyering@lucent.com>
90710
90711         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90712
90713 2001-11-18  Jim Meyering  <meyering@lucent.com>
90714
90715         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90716         on SunOS 4.
90717
90718         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90719         files will be created before anything else.
90720
90721 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90722
90723         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90724         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90725
90726 2001-11-17  Jim Meyering  <meyering@lucent.com>
90727
90728         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90729         Prompted by a report from Bob Proulx.
90730
90731         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90732         Instead, require UTILS_FUNC_MKSTEMP.
90733
90734 2001-11-17  Jim Meyering  <meyering@lucent.com>
90735
90736         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90737         Now, that's done as part of AC_FUNC_STRTOD.
90738
90739 2001-11-17  Jim Meyering  <meyering@lucent.com>
90740
90741         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90742         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90743         rather than group writable.  Patch by Juan F. Codagnone.
90744
90745         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90746         xrealloc, Instead, include "xalloc.h".
90747
90748         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90749         Remove explicit declarations of xmalloc, xrealloc,
90750         and xstrdup.  Instead, include "xalloc.h".
90751
90752         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90753         unlocked-io.h.
90754         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90755         Likewise.
90756         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90757
90758         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90759         Reported by Padraig Brady.
90760
90761         * lib/mkstemp.c: #undef mkstemp.
90762         Include config.h.
90763         (rpl_mkstemp): Rename from mkstemp.
90764         Protoize.
90765
90766 2001-11-16  Jim Meyering  <meyering@lucent.com>
90767
90768         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90769         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90770         determine the amount of total physical memory, use pstat_getstatic.
90771         HPUX-11 doesn't define _SC_PHYS_PAGES.
90772         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90773         If sysconf couldn't be used to determine the amount of available
90774         physical memory, use both pstat_getstatic and pstat_getdynamic.
90775         Based on a patch from Bob Proulx.
90776
90777 2001-11-10  Jim Meyering  <meyering@lucent.com>
90778
90779         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90780         (jm_PREREQ): Use it.
90781
90782 2001-11-09  Jim Meyering  <meyering@lucent.com>
90783
90784         * m4/jm-macros.m4: Require autoconf-2.52f.
90785         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90786         Use these AC_-prefixed names, not the AM_-prefixed ones.
90787
90788         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90789
90790 2001-11-05  Jim Meyering  <meyering@lucent.com>
90791
90792         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90793
90794 2001-11-04  Jim Meyering  <meyering@lucent.com>
90795
90796         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90797         $DEFS.
90798
90799 2001-11-03  Jim Meyering  <meyering@lucent.com>
90800
90801         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90802         of AC_DEFUN.
90803
90804         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90805         know the name of the variable in the macro definition.
90806
90807 2001-11-03  Jim Meyering  <meyering@lucent.com>
90808
90809         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90810         in argmatch_to_argument call.
90811
90812         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90813         argument.
90814
90815         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90816         e.g., a fault due to an attempt to free a NULL pointer.
90817
90818 2001-11-01  Jim Meyering  <meyering@lucent.com>
90819
90820         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90821         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90822
90823 2001-11-01  Jim Meyering  <meyering@lucent.com>
90824
90825         * lib/dirfd.c, lib/dirfd.h: New files.
90826         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90827
90828         * lib/hash.c (hash_print) [TESTING]: Clean up.
90829
90830 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90831
90832         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90833         to avoid a warning if -Wall.
90834
90835 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90836
90837         * README: New file
90838         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90839         (per RMS's instructions, this is now the canonical source)
90840         * lgpl/, gpl/: New directories.
90841
90842 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90843
90844         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90845
90846 2001-10-21  Jim Meyering  <meyering@lucent.com>
90847
90848         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90849         this code would end up calling gettext even in packages built
90850         with --disable-nls.
90851         * lib/getopt.c (_): Likewise.
90852         * lib/regex.c (_): Likewise.
90853
90854 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90855
90856         * m4/error.m4 (jm_PREREQ_ERROR):
90857         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90858         AC_FUNC_STRERROR_R does that.
90859         Check for strerror declaration.
90860
90861         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90862         are supposed to have them these days.
90863         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90864         Merge changes from latest Autoconf CVS.
90865         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90866         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90867         POSIX decided to standardize on the int flavor of strerror_r.
90868
90869 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90870
90871         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90872         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90873         Use strerror_r that is only a macro, even if it is not a function.
90874         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90875         (private_strerror): Use prototypes, not old-style function definition.
90876         (print_errno_message): New function.
90877         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90878         char*-flavored one.
90879         (error_tail, error, error_at_line): Use it.
90880
90881 2001-10-11  Jim Meyering  <meyering@lucent.com>
90882
90883         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90884         and quote_n (1, ... to avoid clobbering a buffer.
90885
90886 2001-10-05  Jim Meyering  <meyering@lucent.com>
90887
90888         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90889         hash-pjw.h.
90890         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90891         * lib/hash-pjw.h: New file.
90892
90893 2001-09-30  Jim Meyering  <meyering@lucent.com>
90894
90895         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90896         `struct fsstat' has the `f_fstypename' member.
90897         Use that to define FS_TYPE, which is now used to make
90898         the getfsstat link test tighter.
90899
90900 2001-09-30  Jim Meyering  <meyering@lucent.com>
90901
90902         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90903         Include <sys/ucred.h>, for Apple Darwin.
90904         Include sys/mount.h and sys/fs_types.h only if available.
90905         (FS_TYPE): Define.
90906         (read_filesystem_list): Use FS_TYPE.
90907
90908 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90909
90910         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90911         a boolean context.
90912
90913 2001-09-29  Jim Meyering  <meyering@lucent.com>
90914
90915         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90916         [one-argument getmntent function]): Include stdio.h before mntent.h.
90917         SunOS 4.1.x needs it for the declaration of `FILE'.
90918         Patch by Volker Borchert.
90919
90920         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90921         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90922         sys/fs_types.h, and make the link-test for getfsstat guard #include
90923         directives with appropriate #if HAVE_*_H tests so that we can
90924         detect getfsstat on Apple Darwin1.3.7 systems.
90925         Reported by Nelson Beebe.
90926         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90927
90928 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90929
90930         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90931         #defines strtoimax.  Also treat the other strto* functions
90932         like strtoimax.
90933
90934         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90935         Check for strtoul and strtoumax,
90936         as those declarations are made even in the signed case.
90937         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90938         Likewise, for strtol and strtoimax.
90939
90940 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90941
90942         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90943         #defines strtoimax.  Also treat the other strto* functions
90944         like strtoimax.
90945
90946         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90947         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90948         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90949
90950 2001-09-26  Jim Meyering  <meyering@lucent.com>
90951
90952         Most macros in unlocked-io.h had the wrong number of arguments.
90953         * lib/gen-uio: New script.
90954         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90955         * lib/unlocked-io.hin: Remove file.
90956         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90957         rather than trying to embed it here.
90958         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90959         Reported by Padraig Brady.
90960
90961 2001-09-25  Volker Borchert  <bt@teknon.de>
90962
90963         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90964         `result'.
90965
90966 2001-09-24  Jim Meyering  <meyering@lucent.com>
90967
90968         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90969
90970 2001-09-23  Jim Meyering  <meyering@lucent.com>
90971
90972         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90973         instead of the mere test for existence of mntent.h.  The latter
90974         would get a false-positive on AIX 3.4 systems.
90975         In the outer getmntent if-block, don't die if neither of the getmntent
90976         tests succeeds.  Instead, just fall through and continue with the
90977         remaining tests.
90978
90979 2001-09-23  Jim Meyering  <meyering@lucent.com>
90980
90981         * lib/mountlist.c: Remove useless parentheses in #if directives.
90982         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90983         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90984
90985 2001-09-22  Jim Meyering  <meyering@lucent.com>
90986
90987         * m4/gettext.m4: New file.  From gettext.
90988         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90989         * m4/progtest.m4: Likewise
90990         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90991         * m4/glibc21.m4: Likewise.
90992
90993         * m4/libintl.m4: Remove.  No longer used.
90994
90995 2001-09-22  Jim Meyering  <meyering@lucent.com>
90996
90997         * lib/localcharset.c: Update from latest gettext.
90998         * lib/config.charset: Likewise.
90999
91000 2001-09-20  Jim Meyering  <meyering@lucent.com>
91001
91002         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
91003         strtoimax.
91004         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
91005         strtoumax.
91006
91007 2001-09-20  Jim Meyering  <meyering@lucent.com>
91008
91009         * lib/xstrtol.c (strtoimax): Guard declaration with
91010         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
91011         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
91012         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
91013         (strtoumax): Likewise, for completeness (it wasn't necessary).
91014
91015 2001-09-17  Paul Eggert  <eggert@twinsun.com>
91016
91017         * lib/strtoimax.c (HAVE_LONG_LONG):
91018         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
91019         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
91020         to work around bug in IBM C compiler.
91021
91022 2001-09-17  Jim Meyering  <meyering@lucent.com>
91023
91024         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
91025         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
91026         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
91027         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
91028         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
91029         whenever the right hand side need not be expanded by the shell.
91030
91031 2001-09-16  Paul Eggert  <eggert@twinsun.com>
91032
91033         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
91034         library.  It's not correct, as some older glibcs are buggy.
91035         fnmatch wasn't fixed until glibc 2.2.
91036
91037         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
91038         special shell magic here.
91039
91040 2001-09-16  Jim Meyering  <meyering@lucent.com>
91041
91042         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
91043         * m4/jm-macros.m4: Require it.
91044
91045 2001-09-16  Jim Meyering  <meyering@lucent.com>
91046
91047         * lib/mkdir.c: New file.
91048
91049 2001-09-15  Jim Meyering  <meyering@lucent.com>
91050
91051         * m4/jm-macros.m4: Check for help2man.
91052
91053 2001-09-11  Jim Meyering  <meyering@lucent.com>
91054
91055         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
91056         The body, by Paul Eggert, was moved here from configure.in.
91057         * m4/jm-macros.m4: Require UTILS_HOST_OS.
91058
91059 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91060
91061         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
91062         (jm_PREREQ): Use it.
91063
91064 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91065
91066         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
91067         Use ssize_t, not int, to store result of readlink.
91068         Check for ssize_t overflow as well as size_t overflow,
91069         as POSIX says the result of readlink is implementation-defined
91070         when ssize_t overflows.
91071         Remove unnecessary cast to char*.
91072         Use free+malloc instead of realloc, as the storage doesn't need
91073         to be preserved and it's clearer and can be more efficient that way.
91074         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
91075         * lib/xreadlink.h (xreadlink): Update prototype.
91076
91077 2001-09-04  Paul Eggert  <eggert@twinsun.com>
91078
91079         * lib/xgetcwd.c: Revert some of the previous change; intead,
91080         fix the HAVE_GETCWD_NULL code to behave more like the
91081         !HAVE_GETCWD_NULL code used to.
91082
91083         Include "xalloc.h".
91084         (xgetcwd): Do not return NULL when memory is exhausted; instead,
91085         invoke xalloc_die.
91086
91087 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91088
91089         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
91090         sys/param.h, as pathmax.h includes them.
91091
91092 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91093
91094         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
91095         (jm_PREREQ_XGETCWD): New macro.
91096
91097         * m4/getcwd.m4: New file.
91098
91099 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91100
91101         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
91102         like the HAVE_GETCWD_NULL code.
91103         Include pathmax.h if not HAVE_GETCWD.
91104         Do not include xalloc.h.
91105         (INITIAL_BUFFER_SIZE): New symbol.
91106         Do not use xmalloc / xrealloc, since the caller is responsible for
91107         handling errors.  Preserve errno around `free' during failure.
91108         Do not overrun buffer when using getwd.
91109
91110 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91111
91112         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
91113         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
91114         getcwd (NULL, 0).
91115
91116 2001-09-03  Paul Eggert  <eggert@twinsun.com>
91117
91118         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
91119         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
91120         spotted by Jim Meyering.
91121
91122 2001-09-03  Jim Meyering  <meyering@lucent.com>
91123
91124         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
91125         failure.
91126
91127 2001-09-02  Jim Meyering  <meyering@lucent.com>
91128
91129         * lib/error.c: Update from GNU libc.
91130
91131 2001-09-01  Jim Meyering  <meyering@lucent.com>
91132
91133         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
91134         Used by df.
91135
91136 2001-09-01  Jim Meyering  <meyering@lucent.com>
91137
91138         * lib/xreadlink.c: New file.
91139         * lib/xreadlink.h: New file.
91140         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
91141         xreadlink.h.
91142
91143         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
91144         doesn't conflict with sparc Solaris 7's definition in
91145         /usr/include/sys/int_types.h.
91146
91147         * lib/exclude.c: Use `""', not `<>' to #include non-system header
91148         files.
91149         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
91150         and strncasecmp as r-values.  Unixware didn't have declarations.
91151
91152 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91153
91154         * lib/xstrtol.h: Add copyright notice.
91155         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
91156         LONGINT_INVALID_SUFFIX_CHAR.
91157
91158 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91159
91160         * lib/xstrtol.c (strtoimax): New decl.
91161
91162 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91163
91164         * lib/xgetcwd.c: Don't include pathmax.h.
91165         Include stdlib.h and unistd.h if available.
91166         Include xalloc.h.
91167         (xmalloc, xstrdup, free): Remove decls.
91168         (xgetcwd): Don't assume sizes fit in unsigned.
91169         Check for overflow when computing sizes.
91170         Simplify reallocation code.
91171
91172 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91173
91174         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
91175         a directory's st_size can have an arbitrary value, so the old
91176         usage could waste an arbitrary amount of memory.  All uses
91177         changed.
91178         * lib/savedir.h: Update prototype.
91179
91180 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91181
91182         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
91183
91184         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
91185         old strtoimax.c.
91186
91187         Also, make the following further changes to make this file's
91188         configuration more similar to that of strtol.c:
91189         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
91190         (strtoumax, uintmax_t, strtoull, strtol): Remove.
91191         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
91192         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
91193         changed to signed values.
91194
91195         And make the following changes as well:
91196         Fix copyright notice, as 1999 was missing.
91197         (verify): New macro.
91198         (strtoimax): Check sizes at compile-time, not run-time.
91199         Prefer strtol to strtoll if both work.
91200         (main): Remove; it was not that useful and was a pain to maintain.
91201
91202         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
91203
91204 2001-08-31  Jim Meyering  <meyering@lucent.com>
91205
91206         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
91207         Use an initial, malloc'd, buffer of length 128 rather than
91208         a statically allocated one of length 1024.
91209
91210 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91211
91212         Simplify code, partly by assuming autoconf 2.52 semantics.
91213
91214         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
91215
91216         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
91217         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
91218         All uses removed.
91219         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
91220         Move AC_REQUIRE to next-to-top level, to avoid confusion.
91221         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
91222         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
91223         jm_AC_HEADER_INTTYPES_H.
91224         * m4/jm-macros.m4 (jm_MACROS): Likewise.
91225
91226         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
91227
91228         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91229         Quote first arg of AC_DEFUN.
91230         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
91231         since they are needed to parse the include file even if we need
91232         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
91233         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
91234         but with opposite signedness.
91235
91236 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91237
91238         Merge 'exclude' changes from tar 1.13.22.
91239         This fixes one or two unlikely storage allocation overflow bugs,
91240         but doesn't change user-visible behavior otherwise.
91241
91242 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91243
91244         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91245         (jm_PREREQ_EXCLUDE): New macro.
91246
91247 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91248
91249         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91250         tm to be declared.
91251
91252 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91253
91254         * lib/hash.c: Remove '2001' from copyright notice.
91255
91256 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91257
91258         * lib/full-write.h: New file.
91259         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91260         * lib/full-write.c: Correct credits, as cccp.c no longer
91261         exists and anyway it was so heavily changed from the old cccp
91262         code as to be unrecognizable.  Include full-write.h.
91263         (full_write): Return size_t, with short writes meaning failure.
91264         All callers changed.  This fixes a bug with large buffers
91265         on 64-bit hosts.
91266         * lib/utime.c: Include full-write.h.
91267
91268 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91269
91270         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91271         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91272         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91273         Include if available.
91274         (<xalloc.h>): Include
91275         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91276         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91277         collide with FNM macros.
91278         (struct patopts): New struct.
91279         (struct exclude): Use it, as exclude patterns now come with options.
91280         (new_exclude): Support above changes.
91281         (new_exclude, add_exclude_file):
91282         Initial size must now be a power of two to simplify overflow checking.
91283         (free_exclude, fnmatch_no_wildcards): New function.
91284         (excluded_filename): No longer requires options arg, as the options
91285         are determined by add_exclude.  Now returns bool, not int.
91286         (excluded_filename, add_exclude):
91287         Add support for the fancy new exclusion options.
91288         (add_exclude, add_exclude_file): Now takes int options arg.
91289         Check for arithmetic overflow when computing sizes.
91290         (add_exclude_file): xrealloc might modify errno, so don't
91291         realloc until after errno might be used.
91292
91293         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91294         New macros.
91295         (free_exclude): New decl.
91296         (add_exclude, add_exclude_file): Now takes int options arg.
91297         (excluded_filename): No longer requires options arg, as the options
91298         are determined by add_exclude.  Now returns bool, not int.
91299
91300 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91301
91302         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91303
91304 2001-08-27  Jim Meyering  <meyering@lucent.com>
91305
91306         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91307
91308         * lib/version-etc.c (N_): Remove definition.
91309         Revert most of last change.
91310         Instead, simply don't mark the `Copyright...' string for translation.
91311         Based on advice from Paul Eggert.
91312
91313         * lib/strtoxmax.c: Tweak comment.
91314
91315 2001-08-26  Jim Meyering  <meyering@lucent.com>
91316
91317         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91318
91319         * m4/xstrtoimax.m4: New file.
91320         * m4/xstrtoumax.m4: Add comments explaining why we
91321         AC_REPLACE_FUNCS(strtol).
91322
91323 2001-08-26  Jim Meyering  <meyering@lucent.com>
91324
91325         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91326         of copyright with `%s' so translators don't get an untranslated
91327         message in 2002.
91328         (COPYRIGHT_YEAR): Define.
91329         (version_etc): Use fprintf rather than fputs.
91330         Suggestion from Ulrich Drepper.
91331
91332         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
91333
91334         * lib/strtoll.c: New file, from GNU libc.
91335         * lib/xstrtoimax.c: New file.
91336
91337         * lib/xstrtol.h: Add xstrtoimax.
91338         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
91339         * lib/strtoimax.c: New file.  Likewise, but first define
91340         STRTOUXMAX_SIGNED.
91341
91342         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
91343         ...
91344         * lib/strtoxmax.c: ... then renamed to this.
91345
91346 2001-08-18  Paul Eggert  <eggert@twinsun.com>
91347
91348         * m4/inttypes.m4: Add AC_PREREQ(2.13).
91349         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
91350         (jm_AC_TYPE_INTMAX_T): New macro.
91351         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
91352
91353         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91354
91355         * m4/longlong.m4: Renamed from ulonglong.m4.
91356         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91357         * m4/uintmax_t.m4: Removed.
91358
91359 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91360
91361         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91362         Port to Solaris 8, where 'sed' requires a space after the 'r'
91363         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91364         Redirect output to $tmp just once.
91365
91366 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91367
91368         * lib/addext.c (<errno.h>): Include.
91369         (errno): Declare if not defined.
91370         (addext): Work correctly when pathconf returns -1 and leaves
91371         errno alone because there is no limit.  Also, work even if
91372         pathconf returns a value greater than SIZE_MAX.
91373
91374 2001-08-12  Jim Meyering  <meyering@lucent.com>
91375
91376         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91377         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91378         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91379         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91380         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91381         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91382         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91383         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91384         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91385         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91386         utime.m4, utimes.m4, xstrtoumax.m4:
91387         Quote the first argument in each use of AC_DEFUN.
91388
91389 2001-08-12  Jim Meyering  <meyering@lucent.com>
91390
91391         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91392         Simply `return getcwd (NULL, 0);'.
91393         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91394         Use 1300 as initial value for length, not PATH_MAX.
91395
91396         * lib/pathmax.h: Clean up cpp syntax.
91397
91398 2001-08-12  Jim Meyering  <meyering@lucent.com>
91399
91400         * lib/gettimeofday.c: New file.
91401         * lib/gtod.h: New file.
91402         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91403
91404 2001-08-05  Jim Meyering  <meyering@lucent.com>
91405
91406         * m4/jm-macros.m4: Require autoconf-2.52.
91407
91408 2001-08-04  Jim Meyering  <meyering@lucent.com>
91409
91410         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91411         stmt, to get in sync with glibc.
91412
91413 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91414
91415         The following changes are from gettext 0.10.39 as maintained by
91416         Bruno Haible.
91417
91418         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91419         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91420         with inverted sense.  All uses changed.
91421
91422         * lib/mbswidth.c: Don't include <limits.h>.
91423         Include <stdlib.h> and <string.h> unconditionally.
91424         (iswcntrl, mbsinit, ISCNTRL): New macros.
91425         (mbsnwidth): Use K&R style function declarations.
91426         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91427         can optimize it when MB_CUR_MAX == 1.
91428         The width of control characters is zero, not 1.
91429
91430 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91431
91432         The following changes are from gettext 0.10.39 as maintained by
91433         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91434
91435         * m4/codeset.m4: Upgrade to serial AM1.
91436         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91437         all uses changed.  Quote first arg of AC_DEFUN.
91438         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91439
91440         * m4/iconv.m4: Upgrade to serial AM2.
91441         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91442         Add --with-libconv-prefix.
91443         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91444         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91445         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91446         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91447         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91448
91449         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91450         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91451         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91452         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91453         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91454         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91455         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91456         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91457         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91458
91459         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91460         string.h any more.
91461
91462         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91463         not the default value.
91464
91465         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91466         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91467         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91468         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91469         Also check for iswcntrl, used for wcwidth fallback.
91470         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91471         to Autoconf 2.13.
91472
91473 2001-08-03  Jim Meyering  <meyering@lucent.com>
91474
91475         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91476         as it was in the original.  Reported by Paul Eggert.
91477
91478 2001-07-16  Jim Meyering  <meyering@lucent.com>
91479
91480         * m4/gettimeofday.m4: New file.
91481         Prompted by a report from Bernhard Baehr.
91482
91483 2001-07-15  Jim Meyering  <meyering@lucent.com>
91484
91485         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91486         stuff. Now it's in ../Makefile.cfg.
91487
91488 2001-07-15  Jim Meyering  <meyering@lucent.com>
91489
91490         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91491         (BUILT_SOURCES): Add unlocked-io.h.
91492         (io_functions): Define.
91493         (unlocked-io.h): New rule.
91494         (DISTCLEANFILES): Add unlocked-io.h.
91495         (all-local): Depend on unlocked-io.h, to ensure it is created.
91496
91497         * lib/unlocked-io.hin: New file
91498
91499         * lib/regex.c: Update from glibc.
91500
91501 2001-07-05  Jim Meyering  <meyering@lucent.com>
91502
91503         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91504         recommendation.
91505         (libfetish_a_SOURCES): Put all .h files here instead.
91506         Remove a thus-exposed (better checks in automake) duplicate and
91507         two unnecessary .h files.
91508
91509 2001-07-04  Jim Meyering  <meyering@lucent.com>
91510
91511         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91512         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91513         distcheck failure.
91514
91515 2001-07-02  Jim Meyering  <meyering@lucent.com>
91516
91517         The following changes were prompted by suggestions from Bruno Haible.
91518
91519         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91520         is now generated.
91521         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91522         definition of EXTRA_DIST.
91523         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91524         ensure that the generated file is created/updated whenever the list
91525         of $(unlocked_functions) is changed.
91526         (jm-glibc-io.m4): New rule.
91527         (unlocked-io.h): New rule -- currently unused.
91528
91529 2001-06-24  Jim Meyering  <meyering@lucent.com>
91530
91531         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91532         unmatched right bracket, rather than kludging it with an extra,
91533         falsely-matching quote in a comment.  Patch by Akim Demaille.
91534
91535 2001-06-11  Jim Meyering  <meyering@lucent.com>
91536
91537         * lib/regex.c: Update from GNU libc.
91538
91539 2001-05-27  Jim Meyering  <meyering@lucent.com>
91540
91541         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91542         Check for ut_type in struct utmp.
91543
91544 2001-05-27  Jim Meyering  <meyering@lucent.com>
91545
91546         * lib/readutmp.h (UT_TYPE): Define.
91547
91548 2001-05-24  Jim Meyering  <meyering@lucent.com>
91549
91550         * lib/argmatch.c: Include "quote.h".
91551         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91552         quote function.  Reported by Göran Uddeborg.
91553
91554 2001-05-22  Jim Meyering  <meyering@lucent.com>
91555
91556         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91557         now that we use the package-supplied version unconditionally.
91558         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91559
91560 2001-05-21  Jim Meyering  <meyering@lucent.com>
91561
91562         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91563         shell syntax errors.
91564
91565 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91566
91567         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91568
91569 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91570
91571         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91572         Don't bother to check library strftime, since
91573         we'll be using our own my_strftime function anyway.
91574         Define my_strftime instead of strftime.
91575
91576 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91577
91578         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91579         which is not yet declared.
91580
91581 2001-05-15  Jim Meyering  <meyering@lucent.com>
91582
91583         * m4/regex.m4: Use proper quoting so brackets appear in the test
91584         program.
91585         Reported by, and with help from, Bruno Haible.
91586
91587 2001-05-13  Jim Meyering  <meyering@lucent.com>
91588
91589         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91590         undefined.
91591
91592 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91593
91594         dirname code cleanup.  base_name now behaves more compatibly
91595         with POSIX basename when given file names that have trailing
91596         slashes, and similarly for dir_name.  Add new primitives
91597         base_len and dir_len.  Put the directory-name-related decls
91598         into dirname.h.
91599
91600         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91601         * lib/backupfile.c (base_name): Likewise.
91602         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91603         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91604         * lib/makepath.c (strip_trailing_slashes): Likewise.
91605         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91606         ISSLASH): Likewise.
91607         * lib/rename.c (strip_trailing_slashes): Likewise.
91608         * lib/same.c (base_name): Likewise.
91609         * lib/stripslash.c (ISSLASH): Likewise.
91610
91611         * lib/addext.c: Include <dirname.h> after size_t is defined.
91612         * lib/backupfile.c: Likewise.
91613
91614         * lib/addext.c (addext): Use base_len to trim redundant
91615         trailing slashes instead of doing it ourselves.
91616         But do not trim the last slash if it is not redundant.
91617
91618         * lib/backupfile.c (find_backup_file_name,
91619         max_backup_version): Use base_len instead of rolling it ourselves.
91620         Handle the case of "" and (on DOS) "C:" correctly.
91621
91622         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91623         needed. Include <string.h>, <dirname.h>.
91624         (base_name): Allow file names ending in slashes, other than names
91625         that are all slashes.  In this case, return the basename followed
91626         by the slashes.  This is more general, and can be used in places
91627         where the original base_name purposely had an assertion failure.
91628         (base_len): New function.
91629
91630         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91631         Do not include <assert.h>; no longer needed.
91632         Include xalloc.h.
91633         (memrchr): Remove decl.
91634         (dir_name_r): Remove.
91635         (dir_len): Renamed from dirlen.  All callers changed.
91636         Rewrite in terms of base_name, for simplicity and consistency.
91637         (dir_name): Never return NULL.  All callers changed.
91638         Do not include <stdlib.h> in test program; no longer needed.
91639         return 0; is fine for test program.
91640
91641         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91642         New macros.
91643         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91644
91645         * lib/path-concat.c (path_concat): Use base_len to compute
91646         base length, not strlen; this means we cannot rely on memcpy
91647         to null-terminate.
91648
91649         * lib/same.c (STREQ): Remove.
91650         (same_name): Handle the case where the basename ends in trailing '/'.
91651
91652         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91653         a slash was stripped.  Do not strip the last slash after a
91654         file system prefix.
91655
91656 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91657
91658         * lib/Makefile.am (libfetish_a_SOURCES):
91659         Add strftime.c, since we now compile it on all hosts.
91660
91661         * lib/strftime.c (my_strftime):
91662         Define to nstrftime if emacs, but only if my_strftime is not defined.
91663         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91664         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91665         Add one more extra argument: a nanoseconds value.
91666         All uses changed.
91667         (ns): New macro.
91668         (my_strftime function): Add %N format.
91669         (emacs_strftimeu): Renamed from emacs_strftime,
91670         with extra ut argument.
91671
91672 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91673
91674         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91675
91676 2001-04-21  Jim Meyering  <meyering@lucent.com>
91677
91678         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91679         doesn't interfere.
91680
91681 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91682
91683         * m4/ftruncate.m4: Check for chsize.
91684         Link with ftruncate.o unconditionally if ftruncate is missing.
91685         This was required when cross-compiling to i586-mingw32msvc.
91686
91687 2001-04-08  Jim Meyering  <meyering@lucent.com>
91688
91689         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91690         recomputed; that's necessary when the offset spans a DST transition.
91691         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91692
91693 2001-04-02  Jim Meyering  <meyering@lucent.com>
91694
91695         * lib/regex.h, regex.c: Update from GNU libc.
91696
91697 2001-03-24  Jim Meyering  <meyering@lucent.com>
91698
91699         * m4/jm-macros.m4: Require autoconf-2.49d.
91700
91701 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91702
91703         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91704
91705 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91706
91707         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91708
91709 2001-03-17  Jim Meyering  <meyering@lucent.com>
91710
91711         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91712         now that the version in autoconf is equivalent.
91713         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91714
91715         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91716         Suggestion from Akim Demaille.
91717
91718         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91719         (jm_PREREQ_TEMPNAME): New function.
91720
91721 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91722
91723         * lib/tempname.c (uint64_t): Define to uintmax_t if
91724         not defined, and if UINT64_MAX is not defined.
91725         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91726         Reported by John David Anglin.
91727
91728 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91729
91730         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91731         resolve alias if codeset is empty.
91732         * lib/config.charset (BeOS): Use wildcard syntax.
91733
91734 2001-03-13  Jim Meyering  <meyering@lucent.com>
91735
91736         * lib/path-concat.c (path_concat)
91737         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91738         concatenating e.g., `C:' and `foo'.
91739         From Bruno Haible.
91740
91741 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91742
91743         * lib/localcharset.c (locale_charset): Don't use
91744         setlocale(LC_CTYPE,NULL). Don't return NULL.
91745         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91746
91747 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91748
91749         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91750         support for DOS/DJGPP.
91751
91752 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91753
91754         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91755         lacks mkstemp.  Compile our own tempname.c if we compile our own
91756         mkstemp.c, as mkstemp relies on tempname.
91757
91758 2001-03-01  Jim Meyering  <meyering@lucent.com>
91759
91760         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91761         AH_VERBATIM really does output its argument verbatim.
91762
91763 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91764
91765         * lib/Makefile.am (libfetish_a_SOURCES):
91766         Add dup-safer.c, fopen-safer.c.
91767         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91768
91769         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91770         * lib/unistd-safer.h: New files.
91771
91772 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91773
91774         The mkstemp replacement is taken from glibc 2.2.2, with some
91775         portability fixes for use outside glibc, as follows:
91776
91777         * lib/tempname.c (struct_stat64): New macro.
91778         (direxists, __gen_tempname): Use it.
91779         This avoids a portability problem with Solaris 8.
91780
91781         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91782         (<stddef.h>, <stdint.h>, <string.h>):
91783         Include only if STDC_HEADERS || _LIBC.
91784         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91785         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91786         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91787         (__set_errno): Define this macro if <errno.h> doesn't.
91788         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91789         Define these macros if <stdio.h> doesn't.
91790         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91791         Define these macros if <sys/stat.h>
91792         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91793         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91794         __xstat64): Define if not _LIBC.
91795         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91796         (__gen_tempname): Invoke gettimeofday only if
91797         HAVE_GETTIMEOFDAY || _LIBC;
91798         otherwise, fall back on plain "time".
91799         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91800
91801         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91802
91803         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91804
91805 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91806
91807         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91808
91809 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91810
91811         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91812         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91813         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91814         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91815
91816 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91817
91818         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91819         Remove workaround macros for hosts that have mbrtowc but not
91820         mbstate_t, as we now insist on proper declarations for both
91821         before using mbrtowc.
91822
91823 2001-02-17  Jim Meyering  <meyering@lucent.com>
91824
91825         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91826         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91827         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91828         UnixWare 7.1.1.
91829
91830         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91831         rather than AC_CACHE_VAL.
91832
91833 2001-02-17  Jim Meyering  <meyering@lucent.com>
91834
91835         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91836         around included file name.
91837
91838         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91839
91840         * lib/strftime.c: Update from GNU libc (the only changes were to
91841         comments).
91842
91843 2001-02-17  Jim Meyering  <meyering@lucent.com>
91844
91845         * lib/regex.c: Update from libc.
91846
91847 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91848
91849         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91850         clash.
91851
91852 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91853
91854         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91855         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91856         Reported by Mark Hounschell via Paul Eggert.
91857
91858 2001-02-07  Jim Meyering  <meyering@lucent.com>
91859
91860         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91861
91862 2001-02-05  Jim Meyering  <meyering@lucent.com>
91863
91864         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91865         it includes the patch required for `large file' support with at least
91866         HP-UX's 10.20 /bin/cc.
91867
91868 2001-02-03  Jim Meyering  <meyering@lucent.com>
91869
91870         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91871         AS_IF, now that it works once again (mysteriously).
91872         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91873
91874 2001-01-30  Jim Meyering  <meyering@lucent.com>
91875
91876         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91877         * m4/chown.m4: Rename conftestchown to conftest.chown.
91878         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91879         s/conftestdir2/conftest.d2/.
91880         * m4/utimes.m4: s/conftestdata/conftest.data/
91881         Inspired by Pavel Roskin's change in autoconf.
91882
91883 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91884
91885         * lib/config.charset: Update for FreeBSD 4.2.
91886
91887 2001-01-27  Jim Meyering  <meyering@lucent.com>
91888
91889         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91890         a use of AS_IF.
91891         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91892
91893 2001-01-26  Jim Meyering  <meyering@lucent.com>
91894
91895         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91896         quotearg.c includes it.
91897
91898 2001-01-26  Jim Meyering  <meyering@lucent.com>
91899
91900         * lib/quotearg.c: Include stddef.h.
91901         * lib/quote.c: Include stddef.h.
91902         Reported by Axel Kittenberger.
91903
91904         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91905         line in double quotes so that it evokes a better diagnostic.
91906         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91907         Reported by Axel Kittenberger.
91908
91909 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91910
91911         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91912         as if it was a `charset'.
91913
91914 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91915
91916         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91917         has const.
91918
91919 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91920
91921         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91922         to avoid a warning.  Add back 'const' to inptr.
91923
91924 2001-01-20  Jim Meyering  <meyering@lucent.com>
91925
91926         Be sure that headers are checked before used in code compiled
91927         for the type checks.
91928         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91929         In place of that, invoke jm_CHECK_ALL_TYPES.
91930         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91931         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91932         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91933         The check for ssize_t was mistakenly run before the test for unistd.h.
91934
91935         The configure-time check for stdbool.h was missing.
91936         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91937         (jm_PREREQ_HASH): New function.
91938
91939 2001-01-17  Jim Meyering  <meyering@lucent.com>
91940
91941         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91942         for autoconf-2.49c.
91943         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91944
91945 2001-01-16  Jim Meyering  <meyering@lucent.com>
91946
91947         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91948         From Bruno Haible.
91949
91950 2001-01-14  Jim Meyering  <meyering@lucent.com>
91951
91952         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91953         foo and bar.  Create conftestdir/ in the script, not in the C code.
91954         Remove directories in the script, not in the C code.
91955         Remove conftestdir{,2} before trying to create the directory.
91956         Make the entire configure script fail if the mkdir fails.
91957
91958 2001-01-14  Jim Meyering  <meyering@lucent.com>
91959
91960         * lib/rename.c: New file.  From Volker Borchert.
91961         Include stdlib.h, string.h or strings.h, and xalloc.h.
91962         Use strip_trailing_slashes rather than open-coding it.
91963
91964 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91965
91966         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91967
91968 2001-01-03  Jim Meyering  <meyering@lucent.com>
91969
91970         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91971         of local `inptr' to avoid warning with some system declarations of
91972         iconv.
91973
91974 2001-01-02  Volker Borchert  <bt@teknon.de>
91975
91976         * m4/rename.m4: New file.
91977         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91978
91979 2001-01-01  Jim Meyering  <meyering@lucent.com>
91980
91981         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91982         even on systems with utmpx.h.  It's necessary for the declaration of
91983         utmp's ut_user member.  Reported by Andreas Jaeger.
91984
91985         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91986         available. They are required for the declarations of getgrgid and
91987         getpwuid resp.
91988         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91989         Reported by Andreas Jaeger.
91990
91991 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91992
91993         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91994         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91995         so `make install' also works in VPATH builds.
91996
91997 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91998
91999         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
92000         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
92001         can be used in subdirectories.
92002
92003 2000-12-29  Paul Eggert  <eggert@twinsun.com>
92004
92005         * lib/modechange.c: Do not assume that mode_t uses the
92006         traditional octal encoding.  E.g. "chmod 1 FOO" should set
92007         the other-execute bit of FOO even if S_IXOTH != 1.
92008
92009         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
92010         WOTH, XOTH, ALLM): New macros.
92011         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
92012          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
92013         Use them.
92014         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
92015         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
92016         (mode_compile):
92017         No need to use uintmax_t; unsigned long is long enough.
92018         Don't bother to get suffix since we don't use it.
92019
92020 2000-12-26  Jim Meyering  <meyering@lucent.com>
92021
92022         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
92023         better with autoheader.
92024
92025 2000-12-24  Jim Meyering  <meyering@lucent.com>
92026
92027         * lib/hash.c (is_prime): Return explicit boolean values.
92028         (hash_get_first): Return NULL to appease Irix5.6's 89.
92029         Reported by Nelson Beebe.
92030
92031 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
92032
92033         * lib/localcharset.c (locale_charset): Add support for Win32.
92034
92035 2000-12-18  Paul Eggert  <eggert@twinsun.com>
92036
92037         * lib/physmem.h, lib/physmem.c: New files.
92038
92039         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
92040         (noinst_HEADERS): Add physmem.h.
92041
92042         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
92043         't' for compatibility with Solaris 8 sort.
92044
92045 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
92046
92047         * lib/config.charset: Add support for BeOS.
92048
92049 2000-12-17  Jim Meyering  <meyering@lucent.com>
92050
92051         * m4/dos.m4 (jm_AC_DOS): New file and macro.
92052         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
92053
92054 2000-12-16  Jim Meyering  <meyering@lucent.com>
92055
92056         This bug had a serious impact on chown: `chown N:M FILE' (for integer
92057         N and M) would have treated it like `chown N:N FILE'.
92058
92059         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
92060
92061 2000-12-16  Jim Meyering  <meyering@lucent.com>
92062
92063         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
92064         SHELLS_FILE to a file name that's useful on djgpp systems.
92065         Include stdlib.h.
92066         (ADDITIONAL_DEFAULT_SHELLS): Define.
92067         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
92068         Based mostly on a patch from Prashant TR.
92069
92070 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
92071
92072         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
92073         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
92074         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
92075
92076 2000-12-08  Andreas Schwab  <schwab@suse.de>
92077
92078         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
92079         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
92080
92081 2000-12-07  Jim Meyering  <meyering@lucent.com>
92082
92083         * lib/stripslash.c (ISSLASH): Define.
92084         (strip_trailing_slashes): Use ISSLASH rather than comparing against
92085         `/'.
92086         From Prashant TR.
92087
92088         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
92089         (dir_name_r): Declare this function as static.
92090         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
92091         manifest itself on a name containing a mix of slashes and
92092         backslashes.
92093         Make this function work with names starting with a DOS-style
92094         drive letter and colon prefix.
92095         (dir_name): Append `.' if necessary.
92096         Based mostly on patches from Prashant TR and Eli Zaretskii.
92097
92098         * lib/dirname.h (dir_name_r): Remove prototype.
92099
92100 2000-12-06  Paul Eggert  <eggert@twinsun.com>
92101
92102         * m4/off_t-format.m4: Remove this file.
92103         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
92104
92105 2000-12-06  Jim Meyering  <meyering@lucent.com>
92106
92107         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
92108         replacement strtoull, we may well need the replacement strtoul, too.
92109         Check for declarations of strtoul and strtoull.
92110         Check for strtol.  Mainly as a cue to cause automake to include
92111         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
92112         Check for limits.h -- strtol.c needs it.
92113
92114 2000-12-05  Jim Meyering  <meyering@lucent.com>
92115
92116         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
92117
92118 2000-12-04  Jim Meyering  <meyering@lucent.com>
92119
92120         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
92121         Also include memory.h, stdlib.h, unistd.h if appropriate.
92122         Reported by Andreas Jaeger (conflicting declaration of malloc).
92123
92124 2000-12-02  Jim Meyering  <meyering@lucent.com>
92125
92126         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
92127         * m4/jm-macros.m4 (jm_MACROS): require it.
92128
92129 2000-12-02  Jim Meyering  <meyering@lucent.com>
92130
92131         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
92132
92133 2000-12-01  Paul Eggert  <eggert@twinsun.com>
92134
92135         * lib/memrchr.c: Include <config.h> before any system include file.
92136
92137 2000-11-30  Jim Meyering  <meyering@lucent.com>
92138
92139         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
92140
92141 2000-11-30  Jim Meyering  <meyering@lucent.com>
92142
92143         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
92144
92145 2000-11-29  Paul Eggert  <eggert@twinsun.com>
92146
92147         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
92148
92149 2000-11-26  Jim Meyering  <meyering@lucent.com>
92150
92151         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
92152
92153 2000-11-22  Paul Eggert  <eggert@twinsun.com>
92154
92155         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
92156         size of (size_t) -1; it's not portable.
92157
92158 2000-11-17  Jim Meyering  <meyering@lucent.com>
92159
92160         * lib/strstr.c: Update from GNU libc.
92161
92162 2000-11-17  Akim Demaille  <akim@epita.fr>
92163
92164         * lib/obstack.h: Formatting changes.
92165         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
92166         prevent type checking.
92167         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
92168         cast the value to (void *): assigning a `foo *' to a `void *'
92169         variable is valid.
92170         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
92171
92172 2000-11-16  Jim Meyering  <meyering@lucent.com>
92173
92174         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
92175
92176 2000-11-11  Jim Meyering  <meyering@lucent.com>
92177
92178         * lib/error.c: Add a couple #includes, merging from GNU libc version.
92179
92180 2000-11-10  Jim Meyering  <meyering@lucent.com>
92181
92182         * lib/obstack.h: Update from GNU libc.
92183         * lib/obstack.c: Likewise.
92184
92185 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
92186
92187         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
92188
92189 2000-11-06  Paul Eggert  <eggert@twinsun.com>
92190
92191         * lib/getusershell.c (setusershell): Use rewind rather than
92192         fseek/fseeko, to avoid configuration hassles with fseeko.
92193         Don't bother opening SHELLS_FILE if shellstream is NULL;
92194         it's not necessary.
92195
92196 2000-11-05  Jim Meyering  <meyering@lucent.com>
92197
92198         * lib/makepath.h (make_dir): Declare.
92199         * lib/makepath.c (make_dir): Remove `static' attribute.
92200         Tweak a comment.
92201
92202 2000-11-04  Jim Meyering  <meyering@lucent.com>
92203
92204         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
92205
92206 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
92207
92208         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
92209         last one in a bucket, advance to the next bucket.
92210
92211 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
92212
92213         * lib/fnmatch.c: Do not comment out all the code if we are using
92214         the GNU C library, because in some cases we are replacing buggy
92215         code in the GNU C library itself.
92216
92217 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
92218
92219         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
92220         (regex_compile): Catch bogus \(\1\).
92221
92222 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92223
92224         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
92225         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
92226         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
92227
92228 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92229
92230         * lib/error.h, getline.h, modechange.h:
92231         Remove "2000" from Copyright line, as the file hasn't been
92232         changed this year other than in the copyright notice.
92233
92234         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92235         was changed this year.
92236
92237 2000-10-29  Jim Meyering  <meyering@lucent.com>
92238
92239         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92240         renaming.
92241         * m4/ls-mntd-fs.m4: Likewise
92242
92243 2000-10-29  Jim Meyering  <meyering@lucent.com>
92244
92245         * lib/xstat.in: Fix grammar in comment.
92246
92247 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92248
92249         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92250         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92251         doesn't define __restrict_arr.
92252
92253 2000-10-28  Jim Meyering  <meyering@lucent.com>
92254
92255         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92256         (jm_PREREQ_MEMCHR): New function.
92257
92258 2000-10-28  Jim Meyering  <meyering@lucent.com>
92259
92260         * lib/memchr.c: Update from libc.
92261         Adjust for portability:
92262         [HAVE_STDLIB_H]: Include stdlib.h.
92263         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92264         Undef __memchr, too.
92265         [!weak_alias]: Define __memchr to memchr.
92266
92267         * lib/regex.c: Update from libc.
92268         * lib/regex.h: Likewise.
92269         * lib/getopt1.c: Likewise.
92270         * lib/memcmp.c: Likewise.
92271
92272         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92273         Avoid using fseek, when possible -- it's broken by design.
92274         Patch by Ulrich Drepper.
92275
92276 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92277
92278         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92279         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92280         Giving in to popular pressure to shut up the compiler with casts.
92281
92282 2000-10-26  Jim Meyering  <meyering@lucent.com>
92283
92284         * lib/strftime.c: Update from libc.
92285
92286 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92287
92288         * regex.c: More `unsigned char' -> `re_char' changes.
92289         Also change several `int' into `re_wchar_t'.
92290         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92291         (PUSH_FAILURE_POINTER): Don't cast any more.
92292         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92293         We want GCC to complain, since this piece of code makes
92294         re_match non-reentrant, which *should* be fixed.
92295         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92296         (EXTEND_BUFFER): Use RETALLOC.
92297         (SET_LIST_BIT): Don't cast.
92298         (re_wchar_t): New type.
92299         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92300         that those two functions will always properly return.
92301         (IMMEDIATE_QUIT_CHECK): Cast to void.
92302         (analyse_first): Use recursion rather than an explicit stack.
92303         (re_compile_fastmap): Can't fail anymore.
92304         (re_search_2): Don't check re_compile_fastmap for failure.
92305         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92306         Now also sets the new value (passed in a new argument).
92307         (re_match_2_internal): Use it.
92308         Also, use a new var `reg' of type size_t when looping through regs
92309         rather than reuse the inappropriate `mcnt'.
92310
92311 2000-10-25  Jim Meyering  <meyering@lucent.com>
92312
92313         * lib/obstack.c: Update from libc.
92314
92315 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92316
92317         * regex.c (regex_compile): Change the way of handling a range from
92318         a char less than 256 to a char not less than 256.
92319
92320 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92321
92322         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92323         NT-Emacs only.
92324         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92325         so that re_search functions only quit when callers expect them to.
92326
92327 2000-10-23  Jim Meyering  <meyering@lucent.com>
92328
92329         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92330         wrong.  That set_locale call must not have any side effects.
92331         From Paul Eggert.
92332
92333 2000-10-22  Jim Meyering  <meyering@lucent.com>
92334
92335         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
92336         [CYCLIC]: Remove now-unused definition.
92337
92338         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
92339         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
92340         Suggestion from Ulrich Drepper.
92341
92342 2000-10-21  Jim Meyering  <meyering@lucent.com>
92343
92344         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
92345         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
92346         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
92347
92348 2000-10-21  Jim Meyering  <meyering@lucent.com>
92349
92350         * lib/dirname.c (memrchr): Declare if necessary.
92351         (dir_name): Remove the restriction that there be no
92352         trailing slashes.  Now, this code skips past them, effectively
92353         ignoring them.
92354         [TEST_DIRNAME] (main): New unit tests.
92355
92356         * lib/memrchr.c: New file from GNU libc.
92357         Undef __memrchr, too.
92358         [!weak_alias]: Define __memrchr to memrchr.
92359         Guard weak_alias use with `#ifdef weak_alias'.
92360
92361 2000-10-21  Jim Meyering  <meyering@lucent.com>
92362
92363         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92364         (dir_name): Use dir_name_r.
92365         * lib/dirname.h (dir_name_r): Declare it.
92366
92367 2000-10-17  Jim Meyering  <meyering@lucent.com>
92368
92369         * lib/quote.h (PARAMS): Define and use.
92370         Reported by Akim Demaille.
92371
92372         * lib/getopt.c: Update from libc.
92373
92374 2000-10-16  Jim Meyering  <meyering@lucent.com>
92375
92376         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92377         setlocale.
92378         From Jan Fedak.
92379
92380 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92381
92382         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92383
92384 2000-09-25  Jim Meyering  <meyering@lucent.com>
92385
92386         * lib/md5.h (rol): Define (from GnuPG).
92387
92388         * lib/sha.c: Give credit (GnuPG) where due.
92389         (M): Use rol rather than open-coding it.
92390         Add a FIXME comment.
92391
92392 2000-09-21  Jim Meyering  <meyering@lucent.com>
92393
92394         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92395         Reported by Michael Stone.
92396
92397 2000-09-20  Jim Meyering  <meyering@lucent.com>
92398
92399         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92400         (noinst_HEADERS): Add sha.h.
92401         Based on code from Scott G. Miller and from GnuPG.
92402
92403 2000-09-18  Jim Meyering  <meyering@lucent.com>
92404
92405         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92406         LIBS. Otherwise, everyone ends up linking with -lelf for some
92407         configurations.
92408         Reported by Mike Stone.
92409
92410 2000-09-15  Jim Meyering  <meyering@lucent.com>
92411
92412         * lib/regex.c: Update from libc.
92413
92414 2000-09-10  Jim Meyering  <meyering@lucent.com>
92415
92416         * lib/getopt.c (_getopt_internal): Update from glibc.
92417
92418 2000-09-09  Jim Meyering  <meyering@lucent.com>
92419
92420         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92421         think it should be used as a general replacement for isascii.
92422         * lib/fnmatch.c: Likewise.
92423         * lib/mbswidth.c: Likewise
92424         * lib/regex.c: Likewise.
92425
92426         Don't use atoi.
92427         * lib/userspec.c: Include sys/param.h and limits.h.
92428         Include xstrtol.h.
92429         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92430         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92431         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92432         UID, GID.  Check range.
92433
92434 2000-09-06  Jim Meyering  <meyering@lucent.com>
92435
92436         * lib/getopt.c (_getopt_internal): Update from glibc.
92437
92438 2000-08-30  Jim Meyering  <meyering@lucent.com>
92439
92440         * lib/strftime.c: Merge in changes from GNU libc.
92441
92442 2000-08-26  Jim Meyering  <meyering@lucent.com>
92443
92444         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92445         * m4/fpending.m4: New file.
92446
92447 2000-08-26  Jim Meyering  <meyering@lucent.com>
92448
92449         * lib/closeout.c: Include "__fpending.h".
92450         (close_stdout_status): Return right away if there's nothing to flush.
92451
92452         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92453         * lib/__fpending.c: New file.
92454         * lib/__fpending.h: New file.
92455
92456 2000-08-20  Jim Meyering  <meyering@lucent.com>
92457
92458         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92459         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92460         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92461
92462 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92463
92464         Improve fileutils installation on systems where running
92465         programs (like install) can't be unlinked.
92466         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92467         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92468
92469 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92470
92471         Standardize on "memory exhausted" instead of "Memory exhausted"
92472         or "virtual memory exhausted".
92473         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92474         "virtual memory exhausted".
92475         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92476         our own message.
92477         * lib/userspec.c (parse_user_spec): Likewise.
92478         * lib/bumpalloc.h: comment fix
92479         * lib/same.c, userspec.c: Include xalloc.h.
92480
92481         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92482         not char *const and pointing to a constant array.
92483         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92484         (xrealloc): Comment fix.
92485
92486         * lib/userspec.c (parse_user_spec):
92487         Don't translate a message until just before returning,
92488         to avoid unnecessary translation.
92489
92490 2000-08-07  Jim Meyering  <meyering@lucent.com>
92491
92492         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92493         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92494         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92495         getgroups.c, gethostname.c, getopt.h, group-member.c,
92496         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92497         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92498         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92499         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92500         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92501         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92502         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92503         yesno.c: Back out Copyright date changes for each file with no change
92504         this year.  This eases coordination with other programs using the same
92505         source code modules.  From Paul Eggert.
92506
92507 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92508
92509         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92510         not char, for compatibility with glibc 2.1.3 strftime.c.
92511
92512 2000-08-03  Greg McGary  <greg@mcgary.org>
92513
92514         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92515         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92516         (EXTEND_BUFFER): Use them.
92517
92518 2000-08-01  Jim Meyering  <meyering@lucent.com>
92519
92520         * lib/dirname.c (ISSLASH): Define.
92521         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92522         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92523         both `\' and `/' may be use as path separators.
92524         Based on a patch from Prashant TR.
92525
92526 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92527
92528         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92529         slot vector a constant, since it might get modified.
92530
92531 2000-07-31  Jim Meyering  <meyering@lucent.com>
92532
92533         * lib/xmalloc.c: Use `virtual memory exhausted', not
92534         `Memory exhausted'.
92535         * lib/obstack.c (print_and_abort): Likewise.
92536
92537 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92538
92539         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92540         buffer, so that the caller can always quote one small
92541         component of a "memory exhausted" message in slot 0.
92542         From a suggestion by Jim Meyering.
92543
92544 2000-07-30  Jim Meyering  <meyering@lucent.com>
92545
92546         * lib/makepath.c (make_path): Quote the other instance, too.
92547
92548         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92549         (STATIC_BUF_SIZE): Define.
92550         (quotearg_n_options): Use only statically allocated storage when
92551         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92552         than STATIC_BUF_SIZE.
92553
92554 2000-07-29  Jim Meyering  <meyering@lucent.com>
92555
92556         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92557         * lib/dirname.c (dir_name): Likewise.
92558
92559         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92560         `/'.
92561
92562         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92563         (dir_name): Assert that there are no trailing slashes.
92564
92565 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92566
92567         * lib/mbswidth.h (mbswidth): Add a flags argument.
92568         (mbswidth): New declaration.
92569         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92570         * lib/mbswidth.c (mbswidth): Add a flags argument.
92571         (mbsnwidth): New function.
92572
92573 2000-07-24  Jim Meyering  <meyering@lucent.com>
92574
92575         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92576
92577 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92578
92579         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92580
92581 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92582
92583         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92584         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92585         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92586         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92587         invoke multibyte primitives.
92588
92589 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92590
92591         * lib/quotearg.c:
92592         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92593         so that mbstate_t is always defined.
92594
92595         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92596         be 1 in at least one GCC installation, and this configuration
92597         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92598         performance on hosts that have mbrtowc but have only unibyte
92599         locales, but I assume these hosts are rare.
92600
92601 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92602
92603         * lib/mbswidth.c (_XOPEN_SOURCE):
92604         Don't define; this causes problems on Solaris 7.
92605         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92606
92607 2000-07-23  Jim Meyering  <meyering@lucent.com>
92608
92609         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92610         too: getgrgid, getpwuid, getuid.
92611
92612 2000-07-23  Jim Meyering  <meyering@lucent.com>
92613
92614         * lib/basename.c (base_name): Add an assertion.
92615
92616 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92617
92618         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92619         shadow its mbsinit function.
92620
92621 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92622
92623         * lib/mbswidth.h: New file.
92624         * lib/mbswidth.c: New file.
92625         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92626         (noinst_HEADERS): Add mbswidth.h.
92627
92628 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92629
92630         * lib/config.charset: Add support for FreeBSD. Improve support for
92631         HP-UX and IRIX 6.
92632
92633 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92634
92635         * m4/mbswidth.m4: New file.
92636         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92637
92638 2000-07-15  Jim Meyering  <meyering@lucent.com>
92639
92640         * lib/makepath.c: Include quote.h.
92641         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92642         corresponding argument in a `quote (...)' call.
92643         Give better diagnostics.
92644
92645         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92646         (noinst_HEADERS): Add quote.h.
92647
92648         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92649         from tar's src/misc.c.
92650         * lib/quote.h: New file.  Prototypes for same.
92651
92652 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92653
92654         From a suggestion by Bruno Haible.
92655         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92656         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92657         to decide whether to define the BeOS workaround macro;
92658         this adjusts to the change to AC_MBSTATE_T.
92659
92660 2000-07-14  Jim Meyering  <meyering@lucent.com>
92661
92662         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92663         jm_AC_TYPE_UINTMAX_T.
92664
92665 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92666
92667         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92668
92669         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92670         quotearg_buffer_restyled): Add support for
92671         clocale_quoting_style.  Undo previous change to
92672         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92673         and "{RIGHT QUOTATION MARK}" msgids.
92674
92675 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92676
92677         From a suggestion by Bruno Haible.
92678         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92679         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92680         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92681         and mbstate_t, to a single-part test that simply defines mbstate_t.
92682         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92683         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92684
92685 2000-07-10  Jim Meyering  <meyering@lucent.com>
92686
92687         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92688
92689         * m4/gnu-source.m4: Output to confdefs.h directly.
92690         Suggestion from Akim Demaille.
92691
92692 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92693
92694         The old behavior of quoting `like this' doesn't look good with
92695         newer, ISO-style fonts.  See:
92696         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92697
92698         Instead, quote "like this" by default.  Let the translator
92699         tailor the locale-specific quoting behavior by providing
92700         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92701
92702         * lib/quotearg.c (N_): New macro.
92703         (gettext_default): New function.
92704         (quotearg_buffer_restyled): Use
92705         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92706         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92707
92708 2000-07-09  Jim Meyering  <meyering@lucent.com>
92709
92710         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92711         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92712
92713         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92714         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92715
92716 2000-07-09  Jim Meyering  <meyering@lucent.com>
92717
92718         * lib/Most files: Update copyright dates to include 2000.
92719
92720 2000-07-08  Jim Meyering  <meyering@lucent.com>
92721
92722         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92723         if not defined.
92724         (xgethostname): Remove now-unnecessary #ifdef.
92725         Move declaration of `err' into loop where it's used.
92726
92727 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92728         and Bruno Haible  <haible@clisp.cons.org>
92729
92730         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92731         only if the test for an object-type mbstate_t fails.  This
92732         prevents us from mistakenly reporting that mbstate_t is a
92733         system object type after we "#define mbstate_t int" to work
92734         around its lack.
92735
92736 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92737         and Bruno Haible  <haible@clisp.cons.org>
92738
92739         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92740
92741 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92742
92743         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92744         to strerror_r.
92745         Include <ctype.h> for use of isalpha.
92746
92747 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92748
92749         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92750         by allocating a larger buffer. Test the gethostname return value for
92751         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92752         returns an error and ENAMETOOLONG isn't defined.
92753
92754 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92755
92756         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92757         dimension.
92758
92759 2000-07-04  Jim Meyering  <meyering@lucent.com>
92760
92761         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92762         of the deprecated AC_CHECKING.
92763
92764 2000-07-04  Jim Meyering  <meyering@lucent.com>
92765
92766         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92767         Reported by Bruno Haible.
92768
92769 2000-07-04  Jim Meyering  <meyering@lucent.com>
92770
92771         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92772         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92773         lacks mbrtowc.
92774
92775 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92776
92777         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92778         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92779
92780 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92781         and Bruno Haible  <haible@clisp.cons.org>
92782
92783         * lib/quotearg.c (mbrtowc):
92784         Assign to *pwc, and return 1 only if result is nonzero.
92785         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92786
92787 2000-07-03  Jim Meyering  <meyering@lucent.com>
92788
92789         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92790
92791 2000-07-03  Jim Meyering  <meyering@lucent.com>
92792
92793         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92794         This is necessary to get a definition of e.g., UTMP_FILE on
92795         HP-UX 10.20.
92796         From Bob Proulx.
92797
92798 2000-07-02  Jim Meyering  <meyering@lucent.com>
92799
92800         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92801
92802         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92803         AC_LIBOBJ(function_name).
92804         * m4/chown.m4: Likewise.
92805         * m4/fnmatch.m4: Likewise.
92806         * m4/ftruncate.m4: Likewise.
92807         * m4/getgroups.m4: Likewise.
92808         * m4/getline.m4: Likewise.
92809         * m4/group-member.m4: Likewise.
92810         * m4/jm-macros.m4: Likewise.
92811         * m4/lstat.m4: Likewise.
92812         * m4/malloc.m4: Likewise.
92813         * m4/memcmp.m4: Likewise.
92814         * m4/nanosleep.m4: Likewise.
92815         * m4/putenv.m4: Likewise.
92816         * m4/realloc.m4: Likewise.
92817         * m4/regex.m4: Likewise.
92818         * m4/stat.m4: Likewise.
92819         * m4/strftime.m4: Likewise.
92820
92821 2000-07-02  Jim Meyering  <meyering@lucent.com>
92822
92823         * lib/quotearg.c (mbstate_t): Don't define here.
92824
92825 2000-07-02  Jim Meyering  <meyering@lucent.com>
92826
92827         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92828
92829 2000-07-01  Jim Meyering  <meyering@lucent.com>
92830
92831         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92832
92833 2000-07-01  Jim Meyering  <meyering@lucent.com>
92834
92835         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92836         problem.
92837
92838 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92839
92840         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92841         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92842
92843 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92844
92845         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92846         per change in ../m4/ls-mntd-fs.m4.
92847         (read_filesystem_list): Ignore symbolic links.
92848
92849 2000-06-29  Jim Meyering  <meyering@lucent.com>
92850
92851         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92852         for declaration of strcmp.
92853
92854         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92855
92856         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92857         Avoid warning by casting result to `char *' to remove `const'.
92858
92859 2000-06-28  Jim Meyering  <meyering@lucent.com>
92860
92861         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92862         included by quotearg.c, for which we perform this test.  From
92863         Bruno Haible.
92864
92865 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92866
92867         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92868         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92869         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92870
92871 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92872
92873         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92874
92875 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92876
92877         savedir now sets errno on failure and invokes xmalloc to get memory.
92878         Fix a couple of other minor bugs while we're at it.
92879
92880         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92881         (NAMLEN): Remove macro.
92882         (malloc, realloc): Remove decls.
92883         (stpcpy): Likewise.
92884         ("xalloc.h"): Include.
92885         (NAME_SIZE_DEFAULT): New macro.
92886         (savedir): Use xmalloc / xrealloc to allocate memory.
92887         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92888         Skip "" directory entries.
92889         Use strlen to calculate directory entry length, since the old method
92890         is rarely used these days and isn't worth supporting.
92891         Don't use a pointer after freeing it.
92892         Check for integer overflow when calculating allocation size.
92893         Use memcpy to copy entries, instead of stpcpy.
92894         Set errno properly when returning NULL.
92895         Check for readdir error.
92896
92897 2000-06-26  Jim Meyering  <meyering@lucent.com>
92898
92899         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92900
92901 2000-06-25  Jim Meyering  <meyering@lucent.com>
92902
92903         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92904         Linux header bug when _XOPEN_SOURCE is defined to 500.
92905
92906 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92907
92908         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92909         deficiency.
92910
92911 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92912
92913         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92914         Include xalloc.h.
92915         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92916
92917 2000-06-24  Jim Meyering  <meyering@lucent.com>
92918
92919         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92920         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92921         for which strerror does return char*, but which lacks a conveniently
92922         accessible declaration of the function.  If the compile-test says
92923         strerror_r doesn't work, then resort to a `run'-test that works on
92924         BeOS and segfaults on DEC Unix.
92925
92926 2000-06-24  Jim Meyering  <meyering@lucent.com>
92927
92928         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92929
92930 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92931
92932         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92933         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92934
92935 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92936
92937         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92938         (mbrtowc, mbstate_t): Define substitutes if
92939         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92940         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92941         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92942
92943 2000-06-23  Jim Meyering  <meyering@lucent.com>
92944
92945         * m4/afs.m4: Add missing AC_MSG_RESULT.
92946         Reported by Bruno Haible.
92947
92948         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92949         Suggestion from Bruno Haible.
92950
92951 2000-06-23  Jim Meyering  <meyering@lucent.com>
92952
92953         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92954
92955 2000-06-21  Jim Meyering  <meyering@lucent.com>
92956
92957         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92958
92959 2000-06-21  Jim Meyering  <meyering@lucent.com>
92960
92961         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92962         (noinst_HEADERS): Add getstr.h.
92963
92964         * lib/getline.c (getstr): Move into a separate file.
92965         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92966         the following changes: new parameter, delim2; both delim[12]
92967         parameters have type `int', not `char'.  The latter would lose
92968         with 8-bit delimiters.
92969         * lib/getstr.h: New file.
92970
92971 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92972
92973         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92974         than 1024, return a memory chunk of least possible size, instead
92975         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92976         Use free/xmalloc instead of xrealloc to avoid copying for very long
92977         paths.
92978
92979 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92980
92981         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92982         the empty string.
92983
92984 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92985
92986         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92987         address, not strdup.  Include <stdlib.h> and don't declare free().
92988
92989 2000-06-19  Jim Meyering  <meyering@lucent.com>
92990
92991         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92992
92993 2000-06-18  Jim Meyering  <meyering@lucent.com>
92994
92995         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92996
92997         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92998         `checking whether...' message to be consistent with that of the
92999         lstat test.
93000
93001 2000-06-18  Jim Meyering  <meyering@lucent.com>
93002
93003         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
93004         Besides, these days every porting target provides a mkdir function.
93005
93006         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
93007         needed. (this snippet comes from src/system.h).
93008
93009 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
93010
93011         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
93012
93013 2000-06-15  Paul Eggert  <eggert@twinsun.com>
93014
93015         * lib/human.c (adjust_value): New function.
93016         (human_readable_inexact): Apply rounding style even when
93017         printing approximate values.
93018
93019 2000-06-14  Paul Eggert  <eggert@twinsun.com>
93020
93021         * lib/human.c (human_readable_inexact): Allow an input block
93022         size that is not a multiple of the output block size, and vice versa.
93023         Reported by Piergiorgio Sartor.
93024
93025 2000-06-14  Paul Eggert  <eggert@twinsun.com>
93026
93027         * lib/getdate.y (get_date): Apply relative times after time
93028         zone indicator, not before.  Reported by Todd A. Jacobs.
93029
93030 2000-06-13  Jim Meyering  <meyering@lucent.com>
93031
93032         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
93033
93034         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
93035
93036 2000-06-12  Paul Eggert  <eggert@twinsun.com>
93037
93038         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
93039
93040 2000-06-12  Jim Meyering  <meyering@lucent.com>
93041
93042         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
93043         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
93044         optional argument.
93045         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
93046         the optional argument, `lib'.
93047
93048 2000-06-08  Jim Meyering  <meyering@lucent.com>
93049
93050         * m4/largefile.m4: Remove file (now that it's part of autoconf).
93051
93052 2000-06-04  Paul Eggert  <eggert@twinsun.com>
93053
93054         Rewrite largefile configuration so that we don't need to run
93055         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
93056         AC_CANONICAL_HOST in configure.in -- jmm]
93057
93058         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
93059         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
93060         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
93061         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
93062         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
93063         All uses changed.
93064         Instead of inspecting the output of getconf, try to compile the
93065         test program without and with the macro definition.
93066         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
93067         for getconf.  Instead, check for the needed flags by compiling
93068         test programs.
93069
93070 2000-06-04  Paul Eggert  <eggert@twinsun.com>
93071
93072         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
93073
93074 2000-06-04  Jim Meyering  <meyering@lucent.com>
93075
93076         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
93077         SunOS 4.1.4 for which gid_t is an unsigned type.
93078
93079 2000-06-03  Jim Meyering  <meyering@lucent.com>
93080
93081         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
93082         now that autoconf requires that.
93083
93084         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
93085         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
93086         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
93087
93088 2000-06-03  Jim Meyering  <meyering@lucent.com>
93089
93090         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
93091
93092 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
93093
93094         * m4/glibc21.m4: New file.
93095         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
93096
93097 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
93098
93099         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
93100         newer, don't install charset.alias.
93101         * lib/config.charset: Change the Linux/glibc rules so they become empty
93102         on glibc-2.1 or newer.
93103
93104 2000-06-02  Jim Meyering  <meyering@lucent.com>
93105
93106         * lib/mountlist.c: Back out last change.  Instead, do this...
93107         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
93108         me_dummy member using the same `ignore'-testing code.
93109         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
93110         fs_type strings.
93111         From Mark D. Roth.
93112
93113 2000-05-29  Jim Meyering  <meyering@lucent.com>
93114
93115         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
93116         mounts with the `ignore' attribute.  Based on a patch from
93117         Mark D. Roth.
93118
93119 2000-05-28  Jim Meyering  <meyering@lucent.com>
93120
93121         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
93122         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93123         * m4/stat.m4: Likewise.
93124         * m4/lstat.m4: Likewise.
93125         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
93126
93127         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
93128         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
93129
93130 2000-05-26  Jim Meyering  <meyering@lucent.com>
93131
93132         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
93133
93134 2000-05-24  Jim Meyering  <meyering@lucent.com>
93135
93136         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
93137         autoconf requires that.
93138         * m4/lib-check.m4: Likewise.
93139         * m4/jm-macros.m4: Likewise.
93140         * m4/strftime.m4: Likewise.
93141
93142         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
93143         AC_CHECK_DECLS, now that autoconf requires that.
93144
93145 2000-05-22  Jim Meyering  <meyering@lucent.com>
93146
93147         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93148         * m4/lstat.m4: Likewise.
93149
93150 2000-05-22  Jim Meyering  <meyering@lucent.com>
93151
93152         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
93153
93154 2000-05-20  Jim Meyering  <meyering@lucent.com>
93155
93156         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
93157         (jm_PREREQ): Use it.
93158
93159 2000-05-18  Jim Meyering  <meyering@lucent.com>
93160
93161         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
93162         back, too, since it may have been modified by allocate_entry.
93163         (hash_delete): Rewrite to use neither the assignment operator
93164         nor the comma operator in an if-expression.
93165
93166 2000-05-15  Paul Eggert  <eggert@twinsun.com>
93167
93168         * lib/closeout.c:
93169         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
93170         Remove; no longer needed.
93171         "quotearg.h": Add include.
93172         (file_name): Do not bother to explicitly initialize to NULL; it's less
93173         efficient on some hosts.
93174         (close_stdout_status): Remove test as to whether stdout was already
93175         closed; it breaks for the case "echo x | sort >&-".
93176         Quote file name colons.
93177         Do not assume that _("write error") lacks format strings.
93178
93179 2000-05-15  Jim Meyering  <meyering@lucent.com>
93180
93181         * lib/version-etc.c (version_etc_copyright): Update the copyright
93182         string used in all --version output.
93183
93184 2000-05-14  Jim Meyering  <meyering@lucent.com>
93185
93186         * lib/closeout.c (close_stdout_set_file_name): New function.
93187         (close_stdout_status): Use new file-scoped global.
93188         Return right away if fstat says the stdout file descriptor is invalid.
93189         * lib/closeout.h (close_stdout_set_file_name): Declare.
93190
93191 2000-05-10  Jim Meyering  <meyering@lucent.com>
93192
93193         * lib/closeout.c [default_exit_status]: New file-scoped variable.
93194         (close_stdout_set_status): New function.
93195         * lib/closeout.h (close_stdout_set_status): Declare.
93196
93197 2000-05-09  Jim Meyering  <meyering@lucent.com>
93198
93199         * m4/gettext.m4: Rename this...
93200         * m4/libintl.m4: ...to this.
93201
93202 2000-05-08  Jim Meyering  <meyering@lucent.com>
93203
93204         * lib/long-options.c: Don't include closeout.h.
93205         (parse_long_options): Don't call close_stdout for --version.
93206
93207 2000-05-06  Paul Eggert  <eggert@twinsun.com>
93208
93209         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
93210         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
93211         2.1.3 bug.  This avoids a clash when files like regex.c define
93212         _GNU_SOURCE.
93213
93214 2000-05-06  Jim Meyering  <meyering@lucent.com>
93215
93216         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
93217         (AC_REPLACE_FUNCS): Add strnlen.
93218
93219         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
93220         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
93221
93222         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
93223         AC_SEARCH_LIBS call for nanosleep.
93224         (LIB_NANOSLEEP): Set and AC_SUBST.
93225
93226 2000-05-06  Jim Meyering  <meyering@lucent.com>
93227
93228         * lib/strnlen.c: Undefine __strnlen and strnlen.
93229         [!weak_alias]: Define __strnlen to strnlen.
93230
93231         * lib/atexit.c: New file, from libiberty.
93232
93233 2000-05-06  Jim Meyering  <meyering@lucent.com>
93234
93235         * lib/closeout.c (close_stdout_status): Also check for errors on the
93236         stderr stream.
93237
93238 2000-05-05  Jim Meyering  <meyering@lucent.com>
93239
93240         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93241         AC_SEARCH_LIBS call for clock_gettime.
93242         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93243
93244         * m4/search-libs.m4: Update from autoconf.
93245
93246         su doesn't work on Solaris 2.6.
93247         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93248         <shadow.h>.  Reported by Dragos Harabor.
93249
93250 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93251
93252         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93253         memcpy instead of xmalloc, xrealloc, path_concat.
93254         (locale_charset): Treat empty environment variables as absent.
93255         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93256
93257 2000-05-04  Jim Meyering  <meyering@lucent.com>
93258
93259         * lib/getopt.c: Update from glibc.
93260         * lib/obstack.c: Likewise.
93261         * lib/obstack.h: Likewise.
93262         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93263         file
93264
93265         * lib/regex.h: Likewise.
93266         * lib/strndup.c: Likewise.
93267         * lib/strnlen.c: New file, from glibc.
93268
93269 2000-05-03  Jim Meyering  <meyering@lucent.com>
93270
93271         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93272
93273 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93274
93275         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93276         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93277         compile-time test, rather than inspecting host and OS, to
93278         decide whether to define _LARGEFILE_SOURCE.
93279
93280 2000-05-01  Jim Meyering  <meyering@lucent.com>
93281
93282         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93283
93284         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93285         Based on a patch from Bruno Haible.
93286
93287 2000-05-01  Jim Meyering  <meyering@lucent.com>
93288
93289         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93290
93291 2000-04-29  Jim Meyering  <meyering@lucent.com>
93292
93293         * lib/path-concat.c: Declare strdup only if it's not defined.
93294         * lib/canon-host.c: Likewise.
93295
93296 2000-04-28  Jim Meyering  <meyering@lucent.com>
93297
93298         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93299         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93300         is included first, then limits.h is included by locale.h by libintl.h.
93301         From John David Anglin.
93302
93303 2000-04-25  Jim Meyering  <meyering@lucent.com>
93304
93305         * lib/makepath.c (S_IRWXUGO): Define.
93306         (make_path): Always perform explicit chmod if MODE specifies any
93307         of the `special' permission bits.  Prompted by a bug report against
93308         install from Mate Wierdl and Joost van Baal.
93309
93310 2000-04-18  Jim Meyering  <meyering@lucent.com>
93311
93312         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93313         (jm_PREREQ): Use it.
93314
93315 2000-04-18  Jim Meyering  <meyering@lucent.com>
93316
93317         * lib/README: New file.
93318
93319         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93320         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93321
93322 2000-04-17  Jim Meyering  <meyering@lucent.com>
93323
93324         Get it right :-)
93325         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93326         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93327         Suggestion from Akim Demaille.
93328
93329 2000-04-17  Jim Meyering  <meyering@lucent.com>
93330
93331         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
93332         the definition of it to rpl_strftime also defined-away the system's
93333         declaration.
93334
93335 2000-04-15  Jim Meyering  <meyering@lucent.com>
93336
93337         Use `C' to denote so-called `contiguous' files, the same way
93338         that tar does.
93339         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
93340         (ftypelet): Use S_ISCTG.
93341         From Michael Deutschmann.
93342
93343 2000-04-14  Jim Meyering  <meyering@lucent.com>
93344
93345         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
93346         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
93347         clobbered.
93348
93349 2000-04-14  Jim Meyering  <meyering@lucent.com>
93350
93351         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
93352
93353 2000-04-13  Jim Meyering  <meyering@lucent.com>
93354
93355         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93356         AH_VERBATIM to insert required #ifndef into config.h.in.
93357         Suggestion from Akim Demaille.
93358
93359 2000-04-12  Jim Meyering  <meyering@lucent.com>
93360
93361         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93362         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93363         Christian Krackowizer.
93364
93365         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93366         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93367         (AC_SYS_LARGEFILE): Require.
93368         (AM_C_PROTOTYPES): Require.
93369
93370 2000-04-08  Jim Meyering  <meyering@lucent.com>
93371
93372         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93373         names don't conflict.  Reported by Eli Zaretskii.
93374
93375 2000-04-07  Jim Meyering  <meyering@lucent.com>
93376
93377         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93378         sys/types.h, to work around system header problems on AIX 3.2.5.
93379         From Bruno Haible.
93380
93381 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93382
93383         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93384         bug.  Deal with the different error behavior of Irix iconv.
93385
93386 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93387
93388         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93389         IRIX if the installer said otherwise.
93390
93391 2000-04-05  Jim Meyering  <meyering@lucent.com>
93392
93393         Portability tweaks required for ultrix4.3.
93394         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93395         (jm_CHECK_DECLS): Add getutent to the list of functions.
93396         (_jm_DECL_HEADERS): Add utmpx.h.
93397         From John David Anglin.
93398
93399         * m4/strftime.m4: Back out the 2000-04-02 change.
93400         Instead of that change, simply undefine putenv in the test program.
93401
93402 2000-04-05  Jim Meyering  <meyering@lucent.com>
93403
93404         Portability tweaks required for ultrix4.3.
93405         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93406         getutent.
93407         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93408         * lib/canon-host.c: Declare strdup.
93409         * lib/path-concat.c: Likewise.
93410         From John David Anglin.
93411
93412 2000-04-04  Jim Meyering  <meyering@lucent.com>
93413
93414         Be more DOS 8.3-friendly.
93415         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93416         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93417         * lib/Makefile.am: Reflect renaming.
93418         Reported by Eli Zaretskii.
93419
93420         Use a temporary file name that won't clash with `charset.alias'
93421         in the DOS 8.3 name space.
93422         * lib/Makefile.am (charset_tmp): Define.
93423         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93424         (uninstall-local): Likewise.
93425         Reported by Eli Zaretskii.
93426
93427 2000-04-03  Jim Meyering  <meyering@lucent.com>
93428
93429         * m4/gettext.m4: Fix typo in comment.
93430
93431         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93432         textutils/configure.in).  Suggestion from Paul Eggert.
93433         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93434
93435 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93436
93437         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93438         variable in the shell rather than using putenv, which isn't
93439         portable.  This avoids the configure-time inter-test dependency
93440         on the potentially-renamed putenv function.
93441
93442 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93443
93444         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93445         before checking struct stat.st_blksize, so that
93446         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93447
93448 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93449
93450         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93451         since strftime.c uses HAVE_STRFTIME to decide whether to use
93452         the underlying strftime.
93453
93454 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93455
93456         * lib/time/strftime.c (my_strftime): Make sure we call the system
93457         strftime, not ourselves, when invoking the underlying strftime.
93458
93459 2000-03-24  Jim Meyering  <meyering@lucent.com>
93460
93461         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93462         (charset_alias): Define.
93463         (install-exec-local): Factor out common code.
93464         (uninstall-local): Split lines longer than 80.
93465         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93466         (SUFFIXES): Define.
93467         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93468         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93469
93470 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93471
93472         * lib/config.charset: Output a line containing "Packages using this
93473         file".
93474         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93475         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93476         ref-del.sed): New rules.
93477
93478 2000-03-17  Jim Meyering  <meyering@lucent.com>
93479
93480         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93481         Otherwise, include <strings.h>
93482
93483 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93484
93485         * lib/unicodeio.c (utf8_wctomb): New function.
93486         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93487         format instead of in UCS-4 with platform dependent endianness.
93488
93489 2000-03-10  Jim Meyering  <meyering@lucent.com>
93490
93491         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93492         From Marco Franzen.
93493
93494 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93495
93496         * lib/savedir.c (savedir): Work even if directory size is
93497         negative; this can happen with some screwy NFS configurations.
93498
93499 2000-03-06  Jim Meyering  <meyering@lucent.com>
93500
93501         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93502         if it's NULL (because we ran out of memory).  From Bruno Haible.
93503
93504 2000-03-05  Jim Meyering  <meyering@lucent.com>
93505
93506         * lib/localcharset.c ("path-concat.h"): Include.
93507         (get_charset_aliases): Use path_concat instead of ANSI string
93508         concatenation.
93509
93510         * lib/unicodeio.h (PARAMS): Define.
93511         Use it to guard prototype.
93512
93513 2000-03-04  Jim Meyering  <meyering@lucent.com>
93514
93515         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93516         for lib/localcharset.c.
93517
93518 2000-03-04  Jim Meyering  <meyering@lucent.com>
93519
93520         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93521         installing into it.
93522         (uninstall-local): Uncomment this rule so `make distcheck' works
93523         once again.
93524
93525         * lib/unicodeio.c (<errno.h>): Include it.
93526         (errno): Declare if not defined.
93527
93528         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93529
93530         * lib/config.charset: New version, incorporating remarks from a linux
93531         i18n mailing list.  From Bruno Haible.
93532
93533 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93534
93535         * m4/codeset.m4: New file.
93536         * m4/iconv.m4: New file.
93537         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93538
93539 2000-03-03  Jim Meyering  <meyering@lucent.com>
93540
93541         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93542
93543 2000-03-02  Jim Meyering  <meyering@lucent.com>
93544
93545         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93546         the messages come out on separate lines.
93547
93548         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93549         rather than jm_CHECK_DECLARATIONS.
93550         * m4/decl.m4: Remove now-unused file.
93551
93552         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93553         geteuid.
93554
93555 2000-03-02  Jim Meyering  <meyering@lucent.com>
93556
93557         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93558
93559 2000-03-01  Jim Meyering  <meyering@lucent.com>
93560
93561         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93562         * lib/unicodeio.c: Likewise.
93563
93564 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93565
93566         * lib/config.charset: New file.
93567         * lib/localcharset.c: New file.
93568         * lib/unicodeio.h, lib/unicodeio.c: New files.
93569         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93570         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93571         (noinst_HEADERS): Add unicodeio.h.
93572         (all-local, install-exec-local, charset.alias): New targets.
93573
93574 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93575
93576         * lib/quotearg.c (ALERT_CHAR): New macro.
93577         (quotearg_buffer_restyled): Use it.
93578
93579 2000-02-27  Jim Meyering  <meyering@lucent.com>
93580
93581         * m4/check-decl.m4: Add getenv to the list.
93582
93583 2000-02-27  Jim Meyering  <meyering@lucent.com>
93584
93585         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93586         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93587
93588         * lib/backupfile.c: Guard inclusion of stdlib.h with
93589         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93590         Declare malloc if needed.
93591
93592         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93593         `#ifndef HAVE_DECL..'
93594         now that autoconf always defines the HAVE_DECL_ symbols.
93595         * lib/human.c: Likewise.
93596         * lib/same.c: Likewise.
93597         * lib/strtoumax.c: Likewise.
93598
93599         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93600         declaration check was not run.
93601         * lib/hash.c: Likewise.
93602         * lib/human.c: Likewise.
93603         * lib/same.c: Likewise.
93604         * lib/strtoumax.c: Likewise.
93605
93606         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93607         `.', then first look up the entire `.'-containing string as a login
93608         name.
93609
93610 2000-02-23  Jim Meyering  <meyering@lucent.com>
93611
93612         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93613         in place of my hack.
93614
93615 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93616
93617         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93618         (textint): New typedef.
93619         (parser_control): Member year changed from int to textint.
93620         All uses changed.
93621         (YYSTYPE): Removed; replaced by %union with int and textint members.
93622         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93623         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93624         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93625         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93626         (date, number, to_year): Use width of number in digits, not its value,
93627         to determine whether it's a 2-digit year, or a 2-digit time.
93628         (yylex): Store number of digits of numeric tokens.
93629         Reported by John Kendall.
93630
93631         (parser_control): Changed from struct parser_control to typedef (for
93632         consistency).  All uses changed.
93633
93634         (tID): Removed; not used.
93635         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93636
93637 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93638
93639         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93640         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93641
93642 2000-02-12  Jim Meyering  <meyering@lucent.com>
93643
93644         * lib/userspec.c (ISDIGIT): Define it.
93645         (isdigit): Remove definition.
93646         (is_number): Use ISDIGIT, not isdigit.
93647         <libintl.h>: Include.
93648         (_ and N_): Define.
93649         (parse_user_spec): Mark translatable strings.
93650
93651 2000-02-10  Jim Meyering  <meyering@lucent.com>
93652
93653         With these changes, nanosleep.[ch] are finally enough like the other
93654         lib/* replacement files to compile on a few more losing systems.
93655
93656         * lib/nanosleep.h: Don't include config.h.
93657         Remove prototype from declaration of nanosleep.
93658         (PARAMS): Remove now-unneeded definition.
93659         * lib/nanosleep.c: #undef nanosleep.
93660         (rpl_nanosleep): Rename from nanosleep.
93661
93662 2000-02-10  Jim Meyering  <meyering@lucent.com>
93663
93664         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93665         gnu_nanosleep to rpl_nanosleep.
93666
93667 2000-02-09  Jim Meyering  <meyering@lucent.com>
93668
93669         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93670         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93671
93672 2000-02-08  Akim Demaille  <akim@epita.fr>
93673
93674         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93675         `[' and `]' and remove uses of `changequote'.
93676         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93677         (AC_SYS_LARGEFILE): Likewise.
93678         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93679         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93680         of changequote.
93681         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93682         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93683         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93684         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93685
93686 2000-02-05  Jim Meyering  <meyering@lucent.com>
93687
93688         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93689         Remove explicit use of AC_HEADER_TIME.  It is required by
93690         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93691         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93692         in autoconf whereby the expansion of the latter ended up preceding
93693         the expansion of its prerequisite, AC_HEADER_TIME.
93694         Reported by Volker Borchert.
93695
93696 2000-02-03  Jim Meyering  <meyering@lucent.com>
93697
93698         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93699
93700 2000-02-03  Jim Meyering  <meyering@lucent.com>
93701
93702         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93703         rather than with `#if HAVE_UTMPNAME'.
93704
93705 2000-02-02  Jim Meyering  <meyering@lucent.com>
93706
93707         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93708         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93709         Reported by Eli Zaretskii.
93710
93711 2000-02-01  Jim Meyering  <meyering@lucent.com>
93712
93713         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93714
93715 2000-01-31  Jim Meyering  <meyering@lucent.com>
93716
93717         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93718         functions.  Add the time.h and sys/time.h headers along with the
93719         AC_REQUIRE'ment of AC_HEADER_TIME.
93720
93721 2000-01-31  Jim Meyering  <meyering@lucent.com>
93722
93723         * lib/nanosleep.h (nanosleep): Guard declaration with
93724         `#if ! HAVE_DECL_NANOSLEEP'.
93725         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93726         the declaration in that vendor's sys/timers.h.
93727         Reported by Christian Krackowizer.
93728
93729         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93730         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93731         (ISPRINT): Likewise.
93732         Reported by Tom Tromey.
93733
93734 2000-01-30  Jim Meyering  <meyering@lucent.com>
93735
93736         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93737
93738         * m4/prereq.m4 (utmp_includes): Define.
93739         Check for ut_user and ut_name members in both struct utmpx
93740         and struct utmp.
93741
93742 2000-01-30  Jim Meyering  <meyering@lucent.com>
93743
93744         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93745         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93746         header files where only utmpx.ut_user is declared.
93747
93748         * lib/readutmp.h (UT_USER): Define.
93749
93750 2000-01-29  Jim Meyering  <meyering@lucent.com>
93751
93752         * m4/lib-check.m4: New file containing library-related checks from
93753         fileutils and sh-utils (textutils had none).
93754
93755 2000-01-28  Jim Meyering  <meyering@lucent.com>
93756
93757         * m4/perl.m4: Change format of warning message to look more like that
93758         from the missing script.  Suggestion from François Pinard.
93759
93760 2000-01-25  Jim Meyering  <meyering@lucent.com>
93761
93762         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93763         well as time.h in the compile check.
93764         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93765         Fix typo in cross-compiling case: s/yes/no/.
93766
93767 2000-01-23  Jim Meyering  <meyering@lucent.com>
93768
93769         * m4/jm-macros.m4: Move df-related tests here from
93770         fileutils/configure.in
93771
93772         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93773         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93774
93775         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93776         s/space/ac_fsusage_space/.
93777         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93778
93779         * m4/ftruncate.m4: New file (derived from part of
93780         fileutils/configure.in).
93781         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93782         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93783
93784         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93785         AC_SUBST these here, rather than just in sh-util/configure.in, so
93786         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93787         all the same.
93788         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93789         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93790         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93791         (AC_SUBST(POW_LIBM)): Likewise.
93792         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93793
93794 2000-01-23  Jim Meyering  <meyering@lucent.com>
93795
93796         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93797         obstack.c.
93798
93799 2000-01-22  Jim Meyering  <meyering@lucent.com>
93800
93801         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93802
93803         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93804
93805         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93806         configure.in
93807         (AC_CHECK_HEADERS): Likewise for sh-utils.
93808         (AC_CHECK_HEADERS): Likewise for textutils.
93809         Merge the three lists of headers.
93810
93811         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93812         from fileutils' configure.in.
93813
93814         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93815         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93816         check-decl.m4.
93817
93818         * m4/check-decl.m4: Use #if rather than #ifdef.
93819         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93820         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93821         (_jm_DECL_HEADERS): Define new function.
93822         (jm_CHECK_DECLARATIONS): Require it.
93823
93824 2000-01-22  Jim Meyering  <meyering@lucent.com>
93825
93826         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93827         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93828         Required for some AIX systems.  Reported by Christian Krackowizer.
93829         [TESTING] (main): New function.
93830
93831         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93832         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93833         letters.
93834
93835         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93836         iswprint.
93837
93838         * lib/strverscmp.c (ISDIGIT): Define.
93839         (strverscmp): Use ISDIGIT, not isdigit.
93840
93841 2000-01-19  Jim Meyering  <meyering@lucent.com>
93842
93843         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93844         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93845         defines `struct timespec' in <sys/time.h>
93846
93847         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93848         Thanks to Akim for explaining.
93849
93850 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93851
93852         * lib/nanosleep.c (nanosleep):
93853         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93854         POSIX.1 doesn't require SA_INTERRUPT and some systems
93855         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93856         it's been part of POSIX.1 since day 1 (in 1988).
93857
93858 2000-01-17  Jim Meyering  <meyering@lucent.com>
93859
93860         * lib/interlock: Remove unused file.  Reported by François Pinard.
93861
93862 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93863
93864         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93865         alert, backslash, formfeed, and vertical tab unnecessarily in
93866         shell quoting style.
93867
93868 2000-01-16  Jim Meyering  <meyering@lucent.com>
93869
93870         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93871         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93872         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93873         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93874
93875 2000-01-16  Jim Meyering  <meyering@lucent.com>
93876
93877         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93878         because the latter didn't work.
93879
93880 2000-01-15  Jim Meyering  <meyering@lucent.com>
93881
93882         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93883         (AC_REPLACE_FUNCS): Add memcpy and memset.
93884         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93885         Add strpbrk.
93886         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93887
93888 2000-01-12  Jim Meyering  <meyering@lucent.com>
93889
93890         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93891         (jm_PREREQ): Use it.
93892         (jm_PREREQ_READUTMP): New macro.
93893         (jm_PREREQ): Use it.
93894
93895 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93896
93897         Quote multibyte characters correctly.
93898         * m4/c-bs-a.m4: New file.
93899         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93900         (jm_PREREQ): Use it.
93901
93902 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93903
93904         * m4/uintmax_t.m4: Port to autoconf 2.13.
93905
93906 2000-01-08  Jim Meyering  <meyering@ascend.com>
93907
93908         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93909         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93910
93911 2000-01-04  Jim Meyering  <meyering@ascend.com>
93912
93913         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93914         jm_STRUCT_DIRENT_D_TYPE.
93915         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93916         jm_STRUCT_DIRENT_D_INO.
93917         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93918         jm_STRUCT_UTIMBUF.
93919         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93920         renamings.
93921         * m4/utime.m4: Likewise.
93922
93923         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93924         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93925
93926 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93927
93928         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93929         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93930
93931 2000-01-02  Jim Meyering  <meyering@ascend.com>
93932
93933         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93934         remember if this is necessary.
93935
93936 1999-12-26  Jim Meyering  <meyering@ascend.com>
93937
93938         * m4/jm-macros.m4: Use it here.
93939         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93940
93941 1999-12-23  Jim Meyering  <meyering@ascend.com>
93942
93943         * m4/jm-macros.m4: Check for clock_gettime (moved from
93944         fileutils/configure.in)
93945         Check for gettimeofday.
93946
93947 1999-12-20  Jim Meyering  <meyering@ascend.com>
93948
93949         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93950         autoconf-2.14a-1999-12-20.
93951
93952 1999-12-19  Jim Meyering  <meyering@ascend.com>
93953
93954         * m4/lstat-slash.m4: New file.
93955         * m4/jm-macros.m4: Use the new macro:
93956         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93957
93958 1999-12-07  Jim Meyering  <meyering@ascend.com>
93959
93960         * m4/perl.m4: Require that File::Compare be available, too.
93961         Too many systems seem to lack it.
93962
93963         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93964         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93965
93966 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93967
93968         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93969         problem with the QNX 4.25 shell, which doesn't propagate exit
93970         status of failed commands inside shell assignments.
93971
93972 1999-11-17  Jim Meyering  <meyering@ascend.com>
93973
93974         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93975
93976 1999-11-07  Jim Meyering  <meyering@ascend.com>
93977
93978         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93979
93980 1999-11-06  Jim Meyering  <meyering@ascend.com>
93981
93982         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93983         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93984
93985 1999-11-05  Jim Meyering  <meyering@ascend.com>
93986
93987         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93988         configure.in of textutils, fileutils, and sh-utils into this one
93989         (shared between those packages) file.
93990         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93991         AC_STRUCT_ST_BLKSIZE.
93992
93993 1999-11-03  Jim Meyering  <meyering@ascend.com>
93994
93995         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93996         of AC_CHECK_TYPE checks includes unistd.h.
93997         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93998         Suggestion from Akim Demaille.
93999
94000 1999-10-30  Jim Meyering  <meyering@ascend.com>
94001
94002         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
94003         m4-quoted string.
94004         * m4/ls-mntd-fs.m4: Likewise.
94005         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
94006         * m4/jm-winsz1.m4: Likewise.
94007
94008         * m4/const.m4: Remove file, since the fix made it into the experimental
94009         version of autoconf.
94010         * m4/mktime.m4: Likewise.
94011
94012         * m4/check-type.m4: Remove file, now that the latest version of
94013         AC_CHECK_TYPE takes a third arg to specify additional #includes.
94014
94015         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
94016         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
94017         AC_CHECK_TYPE.
94018
94019 1999-10-04  Jim Meyering  <meyering@ascend.com>
94020
94021         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
94022
94023 1999-09-22  Paul Eggert  <eggert@twinsun.com>
94024
94025         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
94026         2.95.1 bug with HP-UX 10.20.
94027
94028 1999-09-17  Jim Meyering  <meyering@ascend.com>
94029
94030         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
94031         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
94032         due to missing strdup (against sh-utils-2.0).
94033
94034 1999-08-29  Jim Meyering  <meyering@ascend.com>
94035
94036         * m4/jm-macros.m4: Require jm_BISON.
94037         * m4/bison.m4: New file.
94038
94039 1999-08-17  Paul Eggert  <eggert@twinsun.com>
94040
94041         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
94042         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
94043
94044 1999-08-05  Jim Meyering  <meyering@ascend.com>
94045
94046         * m4/getline.m4: Rename test file from conftestdata to conftest.data
94047         to avoid conflicts with `conftest' on 8+3 filesystems.
94048         Suggestion from Eli Zaretskii.
94049
94050 1999-08-04  Jim Meyering  <meyering@ascend.com>
94051
94052         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
94053         fileutils and sh-utils (textutils's getline test was inadequate).
94054         (AM_FUNC_GETLINE): Run this test.
94055         (AC_CHECK_FUNCS): Check for getdelim.
94056         Reported by Bob Proulx.
94057
94058 1999-08-02  Jim Meyering  <meyering@ascend.com>
94059
94060         * m4/jm-macros.m4: Add a comment.
94061
94062 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94063
94064         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
94065         <inttypes.h> defines strtoumax as a macro (and not as a
94066         function).
94067
94068 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94069
94070         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
94071         that we can shift, multiply and divide unsigned long long
94072         values; Ultrix cc can't do it.
94073
94074 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94075
94076         * m4/mktime.m4: New file, which is a preview of what should appear
94077         in the next public autoconf release.
94078
94079 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94080
94081         * m4/lfs.m4: Remove this file.
94082         * m4/largefile.m4: New file.  It contains the old contents of
94083         lfs.m4, except that all names with prefix AC_LFS have been
94084         changed to use the prefix AC_SYS_LARGEFILE instead, to be
94085         compatible with future autoconf versions.  Also, some minor m4
94086         quoting problems have been fixed.
94087
94088 1999-08-01  Paul Eggert  <eggert@twinsun.com>
94089
94090         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
94091         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
94092         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
94093         and simplify the shell code.
94094
94095 1999-08-01  Jim Meyering  <meyering@ascend.com>
94096
94097         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
94098         m4.
94099
94100 1999-07-20  Jim Meyering  <meyering@ascend.com>
94101
94102         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
94103
94104 1999-07-15  Jim Meyering  <meyering@ascend.com>
94105
94106         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
94107
94108 1999-05-22  Jim Meyering  <meyering@ascend.com>
94109
94110         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
94111
94112 1999-05-20  Jim Meyering  <meyering@ascend.com>
94113
94114         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
94115         Add a colon after each `then' in case $4 is empty.
94116
94117 1999-05-16  Jim Meyering  <meyering@ascend.com>
94118
94119         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
94120
94121 1999-05-10  Jim Meyering  <meyering@ascend.com>
94122
94123         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
94124
94125         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
94126         AC_FUNC_MKTIME.
94127
94128 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
94129
94130         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
94131
94132 1999-05-04  Paul Eggert  <eggert@twinsun.com>
94133
94134         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
94135         not CPPFLAGS, so that linking works correctly in IRIX.
94136
94137 1999-04-30  Paul Eggert  <eggert@twinsun.com>
94138
94139         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
94140
94141 1999-04-20  Paul Eggert  <eggert@twinsun.com>
94142
94143         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
94144         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
94145         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
94146         jm_AC_TYPE_UNSIGNED_LONG_LONG.
94147         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
94148
94149         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
94150
94151 1999-04-20  Jim Meyering  <meyering@ascend.com>
94152
94153         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
94154         AC_REPLACE xstroull if necessary.  From Paul Eggert.
94155         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
94156
94157 1999-04-18  Jim Meyering  <meyering@ascend.com>
94158
94159         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
94160         * m4/jm-macros.m4: Use it.
94161
94162 1999-04-06  Jim Meyering  <meyering@ascend.com>
94163
94164         * m4/strftime.m4: Remove test for %f.
94165
94166 1999-03-29  Jim Meyering  <meyering@ascend.com>
94167
94168         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
94169         superset of the AC_TYPE_* checks in the textutils, fileutils,
94170         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
94171         AC_TYPE_PID_T.
94172
94173 1999-03-28  Jim Meyering  <meyering@ascend.com>
94174
94175         * m4/jm-macros.m4: Define GNU_PACKAGE here.
94176         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
94177         replaced e.g., in the *.sh files of the sh-utils.
94178
94179 1999-03-20  Jim Meyering  <meyering@ascend.com>
94180
94181         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
94182         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
94183         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
94184
94185 1999-03-19  Jim Meyering  <meyering@ascend.com>
94186
94187         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
94188
94189 1999-03-12  Jim Meyering  <meyering@ascend.com>
94190
94191         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
94192
94193 1999-03-07  Jim Meyering  <meyering@ascend.com>
94194
94195         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
94196         declared.
94197
94198 1999-02-17  Jim Meyering  <meyering@ascend.com>
94199
94200         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
94201         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
94202
94203 1999-02-07  Jim Meyering  <meyering@ascend.com>
94204
94205         * m4/group-member.m4: New file -- extracted from sh-utils'
94206         configure.in.
94207
94208         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
94209         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
94210
94211 1999-02-06  Jim Meyering  <meyering@ascend.com>
94212
94213         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
94214         * m4/fnmatch.m4: Likewise.
94215         * m4/getgroups.m4: Likewise.
94216         * m4/lstat.m4: Likewise.
94217         * m4/malloc.m4: Likewise.
94218         * m4/putenv.m4: Likewise.
94219         * m4/realloc.m4: Likewise.
94220         * m4/regex.m4: Likewise.
94221         * m4/stat.m4: Likewise.
94222         * m4/strftime.m4: Likewise.
94223         Suggestion from Alain Magloire.
94224
94225         * m4/chown.m4: Use `.$ac_objext', not `.o'.
94226         * m4/fnmatch.m4: Likewise.
94227         * m4/getgroups.m4: Likewise.
94228         * m4/getline.m4: Likewise.
94229         * m4/lstat.m4: Likewise.
94230         * m4/malloc.m4: Likewise.
94231         * m4/memcmp.m4: Likewise.
94232         * m4/putenv.m4: Likewise.
94233         * m4/realloc.m4: Likewise.
94234         * m4/regex.m4: Likewise.
94235         * m4/stat.m4: Likewise.
94236         * m4/strftime.m4: Likewise.
94237         Suggestion from Alain Magloire.
94238
94239         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94240         an argument.
94241
94242         * m4/regex.m4: Add a run-time Test for proper operation of
94243         re_compile_pattern.
94244
94245 1999-01-31  Jim Meyering  <meyering@ascend.com>
94246
94247         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94248
94249 1999-01-30  Jim Meyering  <meyering@ascend.com>
94250
94251         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94252
94253         * m4/jm-mktime.m4: Make this a wrapper around the official
94254         AM_FUNC_MKTIME rather than my private copy, now that the official one
94255         is up to date.
94256         * m4/mktime.m4: Remove file.
94257
94258         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94259         * m4/uptime.m4: Likewise.
94260         * m4/uintmax_t.m4: Likewise.
94261
94262 1999-01-28  Jim Meyering  <meyering@ascend.com>
94263
94264         * m4/jm-macros.m4: Use jm_AFS.
94265         * m4/afs.m4: New file (from fileutils' configure.in).
94266
94267         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94268         * m4/chown.m4: Likewise.
94269         * m4/d-ino.m4: Likewise.
94270         * m4/d-type.m4: Likewise.
94271         * m4/fnmatch.m4: Likewise.
94272         * m4/getgroups.m4: Likewise.
94273         * m4/gettext.m4: Likewise.
94274         * m4/jm-mktime.m4: Likewise.
94275         * m4/jm-winsz2.m4: Likewise.
94276         * m4/lcmessage.m4: Likewise.
94277         * m4/ls-mntd-fs.m4: Likewise.
94278         * m4/malloc.m4: Likewise.
94279         * m4/memcmp.m4: Likewise.
94280         * m4/putenv.m4: Likewise.
94281         * m4/realloc.m4: Likewise.
94282         * m4/st_mtim.m4: Likewise.
94283         * m4/strftime.m4: Likewise.
94284
94285 1999-01-16  Jim Meyering  <meyering@ascend.com>
94286
94287         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94288         (ARGMATCH_DIE_DECL): Define.
94289
94290 1999-01-12  Jim Meyering  <meyering@ascend.com>
94291
94292         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94293         Reported by Lars Hecking.
94294
94295 1999-01-10  Jim Meyering  <meyering@ascend.com>
94296
94297         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94298         gross kludge.
94299         * m4/inttypes_h.m4: Likewise.
94300         * m4/lstat.m4: Likewise.
94301         * m4/malloc.m4: Likewise.
94302         * m4/readdir.m4: Likewise.
94303         * m4/realloc.m4: Likewise.
94304         * m4/st_dm_mode.m4: Likewise.
94305         * m4/stat.m4: Likewise.
94306         * m4/utimbuf.m4: Likewise.
94307         * m4/utimes.m4: Likewise.
94308
94309         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94310         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94311         comments in config.h.in are meaningful.
94312
94313         * m4/jm-macros.m4: Require autoconf-2.13 here.
94314
94315         * m4/regex.m4: By default, don't use the included regex.c on systems
94316         with glibc 2.  Suggestion from Uli Drepper.
94317
94318 1999-01-02  Jim Meyering  <meyering@ascend.com>
94319
94320         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94321
94322 1998-12-18  Jim Meyering  <meyering@ascend.com>
94323
94324         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94325         Based on a suggestion from Lars Hecking.
94326
94327 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94328
94329         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94330
94331 1998-11-16  Jim Meyering  <meyering@ascend.com>
94332
94333         * m4/lfs.m4: Double-quote the `uname...` expression.
94334
94335 1998-11-14  Jim Meyering  <meyering@ascend.com>
94336
94337         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
94338         * m4/stat.m4: Likewise.
94339
94340 1998-11-03  Jim Meyering  <meyering@ascend.com>
94341
94342         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
94343         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
94344
94345 1998-10-18  Jim Meyering  <meyering@ascend.com>
94346
94347         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
94348
94349 1998-10-17  Jim Meyering  <meyering@ascend.com>
94350
94351         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
94352         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94353         calls for those previously hard-coded headers.  Instead, take a new
94354         parameter.
94355         (jm_CHECK_DECLARATIONS): Reflect interface change.
94356         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94357         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94358
94359         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94360
94361 1998-10-14  Jim Meyering  <meyering@ascend.com>
94362
94363         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94364         instead of "TZ=America/Vancouver".  From Paul Eggert.
94365
94366 1998-10-11  Jim Meyering  <meyering@ascend.com>
94367
94368         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94369         This adds a test for a recently added compatibility fix for mktime.c.
94370         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94371
94372 1998-09-27  Jim Meyering  <meyering@ascend.com>
94373
94374         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94375
94376         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94377         ../configure.in, including a change from Gordon Matzigkeit to allow
94378         cross-compiling for the Hurd.
94379
94380         * m4/glibc.m4: New file/macro to test for the GNU C Library
94381         versions 1 and 2.  From Gordon Matzigkeit.
94382         Indent.
94383
94384 1998-09-21  Jim Meyering  <meyering@ascend.com>
94385
94386         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94387
94388 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94389
94390         Port nanosecond-resolution times to UnixWare 2.1.2 and
94391         pedantic Solaris 2.6.
94392
94393         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94394         AC_STRUCT_ST_MTIM.
94395         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94396         Generate name of ns member, instead of just 1 or undef.
94397         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94398
94399 1998-08-15  Jim Meyering  <meyering@ascend.com>
94400
94401         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94402         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94403         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94404         instead of jm_TYPE_SSIZE_T.
94405
94406 1998-08-12  Jim Meyering  <meyering@ascend.com>
94407
94408         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94409
94410 1998-08-02  Jim Meyering  <meyering@ascend.com>
94411
94412         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94413         in acconfig.h manually.
94414
94415 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94416
94417         * m4/st_mtim.m4: New file.
94418
94419 1998-07-28  Jim Meyering  <meyering@ascend.com>
94420
94421         * m4/utimes.m4: Undef stat.
94422
94423 1998-07-25  Jim Meyering  <meyering@ascend.com>
94424
94425         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94426         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94427
94428 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94429
94430         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94431         uid and gid actually remain unchanged.
94432
94433 1998-07-07  Jim Meyering  <meyering@ascend.com>
94434
94435         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94436
94437 1998-07-04  Jim Meyering  <meyering@ascend.com>
94438
94439         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94440         to prove that this macro can be used in packages without regex.c.
94441
94442 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94443
94444         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94445         is to be used.
94446
94447 1998-07-03  Jim Meyering  <meyering@ascend.com>
94448
94449         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94450
94451         * m4/gettext.m4: New file -- from gettext-0.10.35.
94452         * m4/lcmessage.m4: Likewise.
94453         * m4/progtest.m4: Likewise.
94454
94455         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94456         * m4/jm-macros.m4: Require the new macro.
94457
94458 1998-06-29  Jim Meyering  <meyering@ascend.com>
94459
94460         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94461         for the definition of NGROUPS (used in a system header included
94462         by sys/mount.h).
94463
94464 1998-06-28  Jim Meyering  <meyering@ascend.com>
94465
94466         * m4/ls-mntd-fs.m4: New file.
94467         * m4/fstypename.m4: New file.
94468
94469         * m4/jm-macros.m4: Require the new macro.
94470         * m4/jm-glibc-io.m4: New file.
94471
94472 1998-05-19  Jim Meyering  <meyering@ascend.com>
94473
94474         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94475         * m4/lchown.m4: New file.
94476
94477         * m4/Makefile.am.in: New file.
94478         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94479
94480 1998-05-14  Jim Meyering  <meyering@ascend.com>
94481
94482         * m4/Makefile.am (EXTRA_DIST): Add them.
94483         * m4/jm-macros.m4: New file.
94484         * m4/utimbuf.m4: New file.
94485
94486 1998-05-12  Jim Meyering  <meyering@ascend.com>
94487
94488         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94489
94490 1998-05-11  Jim Meyering  <meyering@ascend.com>
94491
94492         * m4/isc-posix.m4: New file.
94493
94494 1998-05-10  Jim Meyering  <meyering@ascend.com>
94495
94496         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94497
94498 1998-05-09  Jim Meyering  <meyering@ascend.com>
94499
94500         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94501         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94502         with automake.
94503
94504         * m4/ssize_t.m4: New file.
94505         * m4/mktime.m4: Remove file -- the new automake has this now.
94506
94507 1998-04-26  Jim Meyering  <meyering@ascend.com>
94508
94509         * m4/assert.m4: New file.
94510         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94511
94512 1998-04-05  Jim Meyering  <meyering@ascend.com>
94513
94514         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94515         (jm_PREREQ): Use it here.
94516
94517 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94518
94519         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94520         in acconfig.h.
94521
94522 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94523
94524         * m4/prereq.m4: New file.
94525         * m4/error.m4: New file.
94526         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94527
94528 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94529
94530         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94531         cache-check for the same variable -- that defeated the purpose of
94532         the test; the test program was never run.  This was a problem only
94533         on systems with losing getline functions -- HP-UX 10.20 is one.
94534         Reported by Bjorn Helgaas.
94535
94536 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94537
94538         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94539
94540 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94541
94542         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94543
94544         * m4/const.m4: New file.  Use an initializer in this declaration
94545         typedef int charset[2]; const charset x;
94546         Reported by Bob Glickstein.
94547
94548 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94549
94550         * m4/chown.m4: Fix reversed types on -1 args to chown.
94551         From Kaveh Ghazi.
94552
94553 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94554
94555         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94556         Add lseek and memchr.
94557
94558         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94559         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94560         have a 20-character limit on names.
94561
94562 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94563
94564         * m4/inttypes_h.m4: New file.
94565         * m4/uintmax_t.m4: New file.
94566         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94567
94568
94569         -----
94570
94571         Local Variables:
94572         coding: utf-8
94573         End:
94574
94575         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94576
94577         Copying and distribution of this file, with or without
94578         modification, are permitted provided the copyright notice
94579         and this notice are preserved.